Not on petsmart.com: the site shows stock for the stores near the one ZIP you set, so finding a hard-to-get food elsewhere means typing ZIP after ZIP. Scavio's PetSmart API does that sweep from code. POST /api/v1/petsmart/stores with any US ZIP and the item's SKU returns its units on hand at the 12 nearest PetSmart stores, and /availability checks any 20 store and SKU pairs at once. Each call costs 1 credit, about $0.002 on the Growth plan billed yearly, and needs no PetSmart account.
A pet owner on r/petsmart asked exactly this. Their pet's prescription food was back ordered, a few stores around the country still had it, and they had to "search random zip codes on the website" to find them. The replies were blunt: do not trust the online count, call or go in. In another r/petsmart thread, store staff discussed how to answer callers now that their stores were not doing phone stock checks. A commenter guessed the food was Royal Canin, so that is what we checked.
Step 1: Find the SKU and how widely it is stocked
curl -s https://api.scavio.dev/api/v1/petsmart/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"sku": "5083679"}'SKU 5083679 is Royal Canin Gastrointestinal Low Fat Loaf in Sauce, a 13.5 oz can from the Royal Canin Veterinary Diet brand in PetSmart's Veterinary Diets category, at $5.19. In a search, the same item's row carried "stores_in_stock": 878: PetSmart stores reporting it in stock chain-wide. That number says how common the item is, not which stores have it.
Step 2: Sweep a city with one call
curl -s https://api.scavio.dev/api/v1/petsmart/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zip": "92101", "sku": "5083679"}'On November 2, 2026, the 12 stores nearest San Diego ZIP 92101 came back in 3.2 s with 598 cans between them. The nearest, as captured (hours and address fields trimmed):
{
"store_id": "143",
"name": "San Diego (Sports Arena)",
"city": "San Diego",
"state": "CA",
"distance_miles": 3.6497,
"services": [
"Grooming",
"Training",
"Adoptions",
"Veterinary",
"PetSmart Veterinary Services",
"Curbside Pickup"
],
"quantity": 92,
"in_stock": true
}Eight stores had it, from 20 cans in Escondido to 111 in El Cajon. Four had none: Mission Valley, Clairemont and Pacific Beach, all within 7.5 miles, and Ramona. Around Dallas ZIP 75201 the same call found 747 cans at 9 of 12 stores and none at the store nearest downtown.
What the services list tells you
Across the 24 stores, every one of the 16 that lists a Veterinary service had the can in stock, and 7 of the 8 that do not had none. The exception was Las Colinas, near Dallas, with 72. For a veterinary diet, that makes the services list a useful first filter, but only the count tells you for sure. The best PetSmart product data APIs post charts this can and three other dog foods across the 12 Dallas stores.
Going wider than 12 stores
A stores call always returns at most the 12 nearest stores, even with radius at its 100-mile maximum. To cover a state or the whole chain:
- Call
/storeswithout a SKU for a spread of ZIP codes and keep eachstore_id. Store numbers do not change, so you build this list once. - Send the SKU with up to 20 store numbers per call to
/availability, which returnsquantityandin_stockfor each pair:
curl -s https://api.scavio.dev/api/v1/petsmart/availability \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"pairs": [{"store_id": "3151", "sku": "5323234"}, {"store_id": "1242", "sku": "5323234"}, {"store_id": "1242", "sku": "5083679"}, {"store_id": "3067", "sku": "5252900"}]}'Pairs can mix stores and SKUs: in this call the Addison store (1242) returned 125 cans, and 0 of a 5 lb Blue Buffalo bag. At 20 stores a call, checking one item at 1,000 stores is 50 calls, 50 credits, about $0.10. An unknown store number reads 0 there, the same as sold out, so use numbers that came from /stores.
How far to trust the number
The count is what PetSmart's system holds for that store when you call, and nothing is cached. It is the same kind of number a store associate would read you, and the thread's replies are right that a shelf can be off from it, especially just after a delivery. Use it to pick which store to call or visit, and check more than one store when the item is scarce. PetSmart's prices are national, so the price will match wherever you find it.
Try the PetSmart API free, 50 credits, no card, or run a stores call in the playground.
Reference: PetSmart API overview · stores docs · availability docs · how to check PetSmart stock by store
Frequently asked questions
Can I check PetSmart stock at stores outside my area?
On petsmart.com you change the ZIP and look again, store by store. Scavio's PetSmart API takes any US ZIP and a SKU and returns the item's units at the 12 nearest stores, so checking several cities is one call per city, 1 credit each.
Will PetSmart check stock at another store over the phone?
Store staff on r/petsmart have said their stores were not doing phone stock checks, and one put it down to being understaffed. The count a stock check gives is the same kind of number an API returns: what PetSmart's system holds for that store at that moment.
Which PetSmart stores carry veterinary diet food?
In our November 2, 2026 check of a Royal Canin Gastrointestinal Low Fat can, every one of the 16 stores near Dallas and San Diego that lists a Veterinary service had it in stock, and 7 of the 8 stores without one had none. Check the specific store rather than assuming, since one Dallas store without the service had 72 cans.
How many PetSmart stores carry an item?
A PetSmart search row in Scavio's API carries stores_in_stock, the number of stores that report the SKU in stock chain-wide: 878 for the Royal Canin Gastrointestinal Low Fat can and 1,523 for the 30 lb Purina Pro Plan Sensitive Skin and Stomach bag on November 2, 2026. It tells you how widely an item is stocked, not where.