ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Petsmart6 min readNov 2, 2026

How to Check PetSmart Stock by Store With an API: Units at 12 Stores, 20 SKUs at One Store

Use Scavio's PetSmart API: pass a ZIP and a SKU to /stores and get units on hand at the 12 nearest PetSmart stores in one call, 1 credit, plus Autoship prices.

Scavio Team

Nov 2, 2026

Try the PetSmart API free
scavio
Inventory / Stock alerts
Petsmart

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

Bash
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):

JSON
{
  "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

Bash
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):

JSON
{
  "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

Bash
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):

JSON
{
  "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

Bash
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:

JSON
{
  "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

Bash
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"}]}'
JSON
{
  "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

EndpointWhat it returnsCredits
/api/v1/petsmart/searchUp 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 has1
/api/v1/petsmart/productEvery size and flavor of one product: SKU, UPC, price, sale end date, Autoship first-order and recurring price, ship-to-home stock1
/api/v1/petsmart/storesThe 12 stores nearest a ZIP with hours and services; with sku, that SKU's units at each1
/api/v1/petsmart/store-stockUp to 20 SKUs at one store: store units, ship-to-home units and an alternate store when it has none1
/api/v1/petsmart/availabilityUnits for up to 20 store and SKU pairs1
/api/v1/petsmart/dealsThe Sale section by pet, sale event, keywords or store, with on_sale marking real markdowns1

Getting started

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/petsmart/stores with 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.

PetSmart stock by store as JSON

  • Units on hand at the 12 stores nearest a ZIP
  • Every size of a product at one store in one call
  • Autoship first-order and recurring prices per size
Try the PetSmart API free

50 free credits, no credit card

On this page

  1. Step 1: Find the product and its SKU
  2. Step 2: Get every size, with Autoship prices
  3. Step 3: Units at the 12 nearest stores
  4. Step 4: Every size at one store

Related articles

View all
  • scavio
    Comparison / Inventory
    Petsmart
    5 Best PetSmart Product Data APIs in 2026: Scavio Pairs Autoship Prices With Units at 12 Nearby Stores
  • scavio
    Inventory / Pet food
    Petsmart
    Is There a Website to Check PetSmart In-Store Stock Nationwide? An API Checks 12 Stores per Call
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy