Blood service operation is a key component of healthcare systems all over the world. Transporting time-sensitive products like blood presents a specific and unique challenge, as such perishable products have a spoilage time before which they must be used to avoid deterioration. Therefore, if the spoilage time is exceeded, then the product should be discarded. The blood pickup routing problem (BPRP) focuses on the upstream activities of blood logistics, starting from collection or pickup of blood bags at fixed donation sites and then delivering the blood bags to the blood bank. BPRP is an extension of the well-known vehicle routing problem with time windows. In BPRP, the set of vehicle routes are constructed to minimize total distance while at the same time observing time window constraints of donation sites and the spoilage time constraint of the blood. More specifically, each donation site has its time window during which a vehicle can start collecting blood bags at the site. The blood bags must be transported back to the blood bank before the bank’s closing time and the blood’s spoilage time. This study develops a mathematical programming model for BPRP. Since CPLEX can only solve the model to optimality for small instances, this study proposes a simulated annealing (SA) based heuristic approach to solve medium and large BPRP instances. We test the proposed SA heuristic on BPRP instances generated by this study. Computational results show that the proposed SA heuristic performs well on solving BPRP.