To check PetSmart stock by store programmatically, use Scavio's PetSmart API. POST /api/v1/petsmart/stores with a ZIP and a sku returns that item's units on hand at the 12 nearest PetSmart stores, with each store's address, distance, hours and services; /store-stock returns up to 20 SKUs at one store, and /availability any 20 store and SKU pairs. Every call costs 1 credit, about $0.002 on the Growth plan billed yearly.
PetSmart has no public API, and its website shows stock for one product at a time. These five steps get unit counts for any product at any store, from code. All responses below were captured on November 2, 2026, around Dallas ZIP 75201.
Step 1: Find the product and its SKU
curl -s https://api.scavio.dev/api/v1/petsmart/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "dog food", "sort": "best_sellers", "limit": 40}'This returned 40 of 3,409 products in 1.7 s. The top row, as captured (image trimmed, promotions cut to the first and the Autoship one):
{
"position": 1,
"sku": "5252900",
"web_style_id": "36648",
"name": "Purina Pro Plan Sensitive Skin and Stomach Dry Dog Food Adult Salmon & Rice Formula Digestive Health",
"brand": "Purina Pro Plan",
"upc": "038100175526",
"price": 77.99,
"original_price": 77.99,
"sale_price": null,
"on_sale": false,
"price_range": {
"min": 20.68,
"max": 94.99
},
"rating": 4.5,
"review_count": 9236,
"size": "30 Lb",
"variations": [
"4 Sizes",
"1 Flavor"
],
"category": "Dry Food",
"pets": [
"Dog"
],
"stores_in_stock": 1523,
"pickup_eligible": true,
"in_store_only": false,
"online_only": false,
"autoship_eligible": true,
"promotions": [
{
"text": "Spend $40 on dog food, get $15 off your next $50 dog food purchase thru 11/25",
"start": "2026-11-02T09:30:00.000Z",
"end": "2026-11-26T09:30:00.000Z"
},
{
"text": "Save 35% On Your First Autoship Order!",
"start": "2025-07-28T12:00:00.000Z",
"end": null
}
],
"url": "https://www.petsmart.com/dog/food/dry-food/purina-pro-plan-sensitive-skin-and-stomach-dry-dog-food-adult-salmon-and-rice-formula-digestive-health-36648.html"
}sku is one size (here the 30 lb bag) and web_style_id is the whole product. stores_in_stock is how many PetSmart stores report the SKU in stock chain-wide, not a unit count. Add "store_id": "3151" and search lists only what that store has: 2,226 dog food products at Dallas City Place against 3,409 chain-wide.
Step 2: Get every size, with Autoship prices
curl -s https://api.scavio.dev/api/v1/petsmart/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"web_style_id": "36648"}'The product came back with 4 sizes in 3.4 s. The 16 lb variant, as captured (images and promotions trimmed):
{
"sku": "5252899",
"options": {
"flavor": "Salmon & Rice",
"size": "16 Lb"
},
"price": 54.99,
"original_price": 54.99,
"sale_price": null,
"sale_valid_until": null,
"on_sale": false,
"autoship": {
"discount": "35%",
"first_order_price": 35.74,
"recurring_price": 52.24
},
"ship_to_home": {
"in_stock": true,
"one_time": true,
"autoship": true,
"max_quantity": 500
}
}The four SKUs are 5339374 (4 lb, on sale at $20.68 instead of $21.99), 5252899 (16 lb), 5252900 (30 lb) and 5339575 (40 lb). Prices are national: the same at every store and online. autoship is null when no Autoship offer runs on a variant, so read it per variant; on this product the 30 lb bag's first Autoship order was $57.99, $20 below its $77.99 one-time price.
Step 3: Units at the 12 nearest stores
curl -s https://api.scavio.dev/api/v1/petsmart/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zip": "75201", "sku": "5252900"}'This returned 12 stores, all with the 30 lb bag, in 2.1 s. The nearest, as captured (hours cut to the first of 7 days):
{
"store_id": "3151",
"name": "Dallas City Place Mar",
"address": "2415 N Haskell Ave STE 113",
"city": "DALLAS",
"state": "TX",
"zip": "75204",
"phone": "9727295580",
"distance_miles": 1.3091,
"time_zone": "America/Chicago",
"hours": [
{
"date": "2026-11-02",
"day": "monday",
"closed": false,
"open": "09:00",
"close": "21:00"
}
],
"services": [
"Grooming",
"Training",
"Curbside Pickup"
],
"quantity": 12,
"in_stock": true
}The other 11 stores held 6 to 16 units each, 111 in all. The same call for a Royal Canin Gastrointestinal Low Fat can (SKU 5083679) returned 0 at three stores, including this one, and up to 125 at Addison. radius goes up to 100 miles, but the call always returns at most the 12 nearest stores; an unknown ZIP returns an empty list.
Step 4: Every size at one store
curl -s https://api.scavio.dev/api/v1/petsmart/store-stock \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"store_id": "3151", "skus": ["5339374", "5252899", "5252900", "5339575"]}'All four sizes were in stock at Dallas City Place, with 13, 9, 12 and 14 units, answered in 0.8 s. When a store has none, the item names a nearby store that does. The Royal Canin can at the same store:
{
"sku": "5083679",
"store_quantity": 0,
"in_stock_at_store": false,
"ship_to_home_quantity": 45282,
"ship_to_home_in_stock": true,
"alt_store_id": "2414",
"alt_store_quantity": 38
}Store 2414 is Lakewood, 4.5 miles from the ZIP, and 38 matches what step 3 returned for it. ship_to_home_quantity is PetSmart's online stock, not the store's. An unknown store number here is a 404 and is not charged.
Step 5: Any mix of stores and SKUs
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"}]}'{
"count": 4,
"in_stock_count": 3,
"results": [
{ "store_id": "3151", "sku": "5323234", "quantity": 4, "in_stock": true },
{ "store_id": "1242", "sku": "5323234", "quantity": 0, "in_stock": false },
{ "store_id": "1242", "sku": "5083679", "quantity": 125, "in_stock": true },
{ "store_id": "3067", "sku": "5252900", "quantity": 16, "in_stock": true }
]
}That answered in 0.6 s. Use it for a watch list across the stores you track, up to 20 pairs a call. It returns only the count, and an unknown store or SKU reads 0, the same as sold out, so take store numbers from step 3 and SKUs from steps 1 and 2. The four-product chart across all 12 Dallas stores, and a comparison of every PetSmart data option, are in the best PetSmart product data APIs.
All six endpoints
| Endpoint | What it returns | Credits |
|---|---|---|
/api/v1/petsmart/search | Up to 40 products a page: price, list and sale price, size, rating, review count, promotions, stores_in_stock; with store_id, only items that store has | 1 |
/api/v1/petsmart/product | Every size and flavor of one product: SKU, UPC, price, sale end date, Autoship first-order and recurring price, ship-to-home stock | 1 |
/api/v1/petsmart/stores | The 12 stores nearest a ZIP with hours and services; with sku, that SKU's units at each | 1 |
/api/v1/petsmart/store-stock | Up to 20 SKUs at one store: store units, ship-to-home units and an alternate store when it has none | 1 |
/api/v1/petsmart/availability | Units for up to 20 store and SKU pairs | 1 |
/api/v1/petsmart/deals | The Sale section by pet, sale event, keywords or store, with on_sale marking real markdowns | 1 |
Getting started
- Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
- Copy your API key from the dashboard.
- Send a POST to
/api/v1/petsmart/storeswith a ZIP, a SKU and your key as a Bearer token.
Try the PetSmart API free in the playground first, or call it from Claude and other agents through the MCP server.
Reference: PetSmart API overview · search · product · stores · store stock · availability · deals
Frequently asked questions
How do I check PetSmart inventory at my store?
On petsmart.com, set your store and open the product page, which shows whether it is available for pickup there. To get the number of units from code, call Scavio's /api/v1/petsmart/stores with your ZIP and the item's SKU, or /api/v1/petsmart/store-stock with your store number and up to 20 SKUs.
How do I check if a PetSmart product is in stock at nearby stores?
Pass a ZIP and a SKU to Scavio's stores endpoint. It returns the 12 nearest stores within the radius you set, each with address, distance, hours and services, and that SKU's quantity and in_stock flag, so one call answers which nearby store has it and how many.
Is PetSmart's online inventory accurate?
It is the count PetSmart's systems hold for the store when you ask, and store staff on r/petsmart say it can differ from the shelf after a delivery or a miscount. A count of 0 is a reason to check a second store, which the store-stock response names for you when one nearby has the item.
How do I find a PetSmart store number?
Call Scavio's /api/v1/petsmart/stores with a US ZIP. Each of the 12 nearest stores carries its store_id. ZIP 75201 in Dallas returned store 3151, Dallas City Place, 1.3 miles away, on November 2, 2026. Store numbers do not change, so you can cache them.
How much does it cost to check PetSmart stock with Scavio?
Every PetSmart endpoint costs 1 credit, about $0.002 on the Growth plan billed yearly, whether it returns 12 stores, 20 SKUs at a store or 20 store and SKU pairs. New accounts get 50 free credits with no card, enough for 50 stock checks.