PetSmart API
PetSmart product data as structured JSON: search with prices, ratings and promotions, every size of a product with its own price and Autoship pricing, one SKU's unit count at the 12 nearest stores in one call, stock for 20 SKUs at a store, and the Sale section with real markdowns flagged.
50 free credits on signup. No card, no PetSmart account.
{ "data": { "query": "dog food", "store_id": "1658", "sort": "relevance", "page": 1, "limit": 10, "total_results": 2097, "total_pages": 210, "count": 10, "products": [ { "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", "price": 77.99, "original_price": 77.99, "sale_price": null, "on_sale": false, "rating": 4.5, "review_count": 9236, "size": "30 Lb", "stores_in_stock": 1523, "in_stock_at_store": true, "autoship_eligible": true, "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" }, { "position": 5, "sku": "5255963", "web_style_id": "3502", "name": "Purina ONE SmartBlend Natural Dry Dog Food - Lamb & Rice", "brand": "Purina ONE", "price": 59, "original_price": 62.88, "sale_price": 59, "on_sale": true, "rating": 4.8, "review_count": 5902, "size": "40 Lb", "stores_in_stock": 1406, "in_stock_at_store": true, "autoship_eligible": true, "url": "https://www.petsmart.com/dog/food/dry-food/purina-one-smartblend-natural-dry-dog-food---lamb-and-rice-3502.html" } ] }, "response_time": 2172}Live call against the real endpoint, listing items in stock at store 1658 (Chicago, IL). 3 free runs, then it's your own key.
What is the Scavio PetSmart API?
The Scavio PetSmart API is a REST API that returns PetSmart product, price, stock and store data as structured JSON. PetSmart has no public product data API. Its 6 POST endpoints cover search, product detail with every size, unit counts per store, a store locator and deals, at 1 credit per call.
- 6
- endpoints, all live in production
- 1
- credit per call, every endpoint
- 20
- SKUs, or store and SKU pairs, per stock call
The PetSmart data buyers actually need
What it costs, which size is on sale, and how many are on the shelf at the store down the road.
Unit counts at 12 nearby stores
POST /api/v1/petsmart/storesPass a ZIP and a SKU and one call returns that SKU's unit count at the 12 nearest PetSmart stores, with address, distance, hours and services. Near ZIP 60601 our capture found the 30 Lb Purina Pro Plan bag in stock at all 12 stores, 3 to 14 units each.
20 SKUs or 20 stores per call
POST /api/v1/petsmart/store-stockstore-stock reads up to 20 SKUs at one store, with pickup units, ship-to-home units and an alternate store when it has none. availability takes any 20 store and SKU pairs. Every call is 1 credit.
Search with chain-wide stock
POST /api/v1/petsmart/searchSearch PetSmart with price, original and sale price, rating, size, promotions and the number of stores that stock each SKU. Add store_id and only items in stock at that store come back: 2,097 dog food items at store 1658 in Chicago.
Every size, one call
POST /api/v1/petsmart/productOne product by web_style_id, SKU or URL returns every size and flavor with its own SKU, UPC, price, sale price and end date, Autoship pricing when an offer runs, and ship-to-home stock.
Sale section with real markdowns flagged
POST /api/v1/petsmart/dealsThe Sale section by pet, sale event, keywords or store, plus the live list of sale events. PetSmart lists points and Autoship offers there at full price, so each row carries on_sale for a real price cut.
All 6 PetSmart API endpoints
Every route is a POST, returns JSON, and takes the same API key. 1 credit per successful call.
| Endpoint | Returns | Credits |
|---|---|---|
Search/api/v1/petsmart/search | Up to 40 products per page: SKU, name, brand, UPC, price, original and sale price, price range across sizes, rating, review count, size, promotions, how many stores stock it, pickup and Autoship eligibility; store_id lists only items in stock at that store | 1 |
Product detail/api/v1/petsmart/product | One product by web_style_id, SKU or URL with every size and flavor: SKU, UPC, price, sale price and end date, Autoship first-order and recurring price, ship-to-home stock, pickup and same-day options, images, promotions, description | 1 |
Store locator and stock/api/v1/petsmart/stores | The 12 stores nearest a ZIP with address, phone, distance, 7 days of hours and services (grooming, PetsHotel, adoptions); pass a SKU for its unit count at every store | 1 |
Store stock/api/v1/petsmart/store-stock | Up to 20 SKUs at one store: units for in-store pickup, units to ship to home, and a nearby alternate store when that store has none | 1 |
Availability by store and SKU/api/v1/petsmart/availability | Unit counts for up to 20 store and SKU pairs in one call, mixing stores and SKUs freely | 1 |
Deals/api/v1/petsmart/deals | The Sale section, up to 40 per page, filterable by pet, sale event, keywords or store, plus the current sale events; on_sale marks real markdowns | 1 |
50 free credits on signup covers 50 PetSmart calls. See plans
Search, then check stock at stores
Search returns the national price, sale flag and how many stores stock each SKU; store-stock and stores turn SKUs into unit counts. The response on the right is a real capture.
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
# Search, only items in stock at store 1658 (Chicago) - 1 credit
res = client.petsmart.search(query="dog food", store_id="1658", limit=10)
p = res["data"]["products"][0]
print(p["name"], p["size"], p["price"], "on sale" if p["on_sale"] else "")
# Every size of that product - 1 credit
skus = [v["sku"] for v in client.petsmart.product(web_style_id=p["web_style_id"])["data"]["variants"]]
# Units of every size at the store - 1 credit
stock = client.petsmart.store_stock(store_id="1658", skus=skus)["data"]["items"]
# That SKU's units at the 12 stores nearest a ZIP - 1 credit
stores = client.petsmart.stores(zip="60601", sku=p["sku"])["data"]["stores"]
print([(s["store_id"], s["quantity"]) for s in stores]){
"data": {
"query": "dog food",
"store_id": "1658",
"sort": "relevance",
"page": 1,
"limit": 10,
"total_results": 2097,
"total_pages": 210,
"count": 10,
"products": [
{
"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",
"price": 77.99,
"original_price": 77.99,
"sale_price": null,
"on_sale": false,
"rating": 4.5,
"review_count": 9236,
"size": "30 Lb",
"stores_in_stock": 1523,
"in_stock_at_store": true,
"autoship_eligible": true,
"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"
},
{
"position": 5,
"sku": "5255963",
"web_style_id": "3502",
"name": "Purina ONE SmartBlend Natural Dry Dog Food - Lamb & Rice",
"brand": "Purina ONE",
"price": 59,
"original_price": 62.88,
"sale_price": 59,
"on_sale": true,
"rating": 4.8,
"review_count": 5902,
"size": "40 Lb",
"stores_in_stock": 1406,
"in_stock_at_store": true,
"autoship_eligible": true,
"url": "https://www.petsmart.com/dog/food/dry-food/purina-one-smartblend-natural-dry-dog-food---lamb-and-rice-3502.html"
}
]
},
"response_time": 2172
}Why not the official PetSmart API?
PetSmart has no public API for product, price, stock or store data.
PetSmart, without an API
- No public API or self-serve developer key for products, prices or stock
- Store stock is shown one product and one store at a time
- Each size of a product has its own price, sale and stock, read one by one
- The Sale section mixes real markdowns with full-price points and Autoship offers
Scavio PetSmart API
- One API key, issued at signup, with no PetSmart account
- Every size and flavor of a product, with price, sale end date and Autoship pricing
- One SKU's unit count at the 12 nearest stores, or 20 SKUs at one store, per call
- Deals by pet or sale event, with on_sale marking real markdowns
- Same JSON envelope as every other Scavio platform
Scavio returns publicly available data only, and never signs in as a PetSmart customer.
What developers build with it
Local stock finder
Given a SKU and a ZIP, list the nearby PetSmart stores that have it and how many units each holds, in one call.
storesPet food price tracking
Track PetSmart prices, sale prices and sale end dates for every size of the foods you follow, and alert on a markdown.
product + searchPet deal and coupon apps
List what is actually marked down in PetSmart's Sale section by pet or by sale event, and show the promotions attached to each item.
dealsBrand and distributor monitoring
Check how many PetSmart stores carry a brand's SKUs, which sizes are in stock at the stores you care about, and how it is priced.
search + availabilityRetail competitive intelligence
Compare PetSmart prices with Walmart, Target and Amazon for the same pet food or supply, on one API key.
search + Walmart + AmazonHow to get PetSmart data as JSON
- 1
Get an API key
Sign up for a Scavio account and copy your key from the dashboard. You get 50 credits free on signup, with no card required and no PetSmart account.
- 2
Search or pick a product
Send {"query": "dog food"} to https://api.scavio.dev/api/v1/petsmart/search with an Authorization: Bearer header. Each result has its sku and web_style_id; pass the web_style_id to /api/v1/petsmart/product for every size.
- 3
Check stock at stores
Pass a ZIP and a sku to /api/v1/petsmart/stores for unit counts at the 12 nearest stores, or a store_id and up to 20 skus to /api/v1/petsmart/store-stock for one store.
PetSmart API FAQ
Does PetSmart have a public API?
+
No. PetSmart does not offer a public product data API or a self-serve developer key for product, price, stock or store data. The Scavio PetSmart API fills that gap with 6 POST endpoints that return petsmart.com data as structured JSON: search, product detail, a store locator with per-store stock, store stock for 20 SKUs, availability by store and SKU, and deals.
What is the Scavio PetSmart API?
+
It is a REST API that returns public PetSmart data as JSON: product search with prices, ratings and promotions, every size of a product with its own price and Autoship pricing, a store locator that can return one SKU's unit count at 12 stores at once, stock for up to 20 SKUs at one store, and the Sale section.
Are PetSmart prices different by store?
+
No. PetSmart has one national price, and the API returns it: price, original_price and sale_price are the same at every store. Stock is what varies by store. In our capture, SKU 5252900 had 8 units at store 1658 and 4 at store 2528, at the same $77.99.
Can I get PetSmart stock quantities per store?
+
Yes. Three endpoints return unit counts: stores with a sku (that SKU at the 12 nearest stores), store-stock (up to 20 SKUs at one store, plus ship-to-home units) and availability (any 20 store and SKU pairs). Search adds stores_in_stock, the number of stores that carry each SKU, and with store_id lists only items in stock at that store.
What happens with an unknown SKU or store number?
+
In /availability an unknown SKU or an unknown store reads quantity 0, which looks exactly like out of stock, so check numbers with /stores or search first. store-stock answers 404 for an unknown store but also reads an unknown SKU as 0. product answers 404 for an unknown web_style_id or SKU, not charged.
Does the API return Autoship prices?
+
Yes, when PetSmart runs an Autoship offer. Each product variant then carries autoship with the discount, first_order_price and recurring_price. When no Autoship offer runs on that variant, autoship is null; in our capture of web_style_id 36648 it was null on all 4 sizes. Search rows carry autoship_eligible.
How do I find PetSmart deals?
+
Call /api/v1/petsmart/deals, optionally with pet (dog, cat, fish, small_pet, reptile or bird), an event name, keywords or a store_id. It returns up to 40 products per page and the current sale events. Our dog capture listed 9,778 products and 25 events, including "Sale > November > Dog Sale" and "Sale > Clearance".
Why do some deals show full price?
+
PetSmart's Sale section also lists items whose only deal is bonus points or an Autoship discount, at full price. Read on_sale, which is true only when sale_price is below original_price. In our capture 4 of the first 20 dog rows were actually marked down, such as Great Choice pee pads at $23.79, down from $32.99.
How do I find a PetSmart store number?
+
POST a US ZIP code to /api/v1/petsmart/stores. It returns the 12 nearest stores within 30 miles by default (up to 100), with store_id, name, address, phone, coordinates, distance, the next 7 days of hours and services such as Grooming, PetsHotel and Adoptions. ZIP 60601 returned store 1658, Chicago (South Loop), at 1.8 miles.
What is a web_style_id?
+
It is PetSmart's product id, the number at the end of a product URL (-36648.html). One web_style_id covers every size and flavor; each of those has its own sku. Pass a web_style_id, a sku or the product URL to /api/v1/petsmart/product.
Does the API return PetSmart reviews?
+
It returns each product's star rating and review count on search, product and deals. Review text is not available for PetSmart.
How much does a PetSmart request cost?
+
Every PetSmart endpoint costs 1 credit, including a stores call with stock at 12 stores and a store-stock call for 20 SKUs. New accounts get 50 free credits on signup, one time, with no card required. Paid plans start at $30 per month for 7,000 credits.
How fresh is the data?
+
Every request fetches live from PetSmart at the moment you call it, and nothing is cached. Each response carries fetched_at, the time the data was retrieved.
Which languages and tools are supported?
+
Every endpoint is a plain HTTPS POST with a JSON body, so any language works. Scavio also ships Python and JavaScript SDKs, a remote MCP server at mcp.scavio.dev for AI agents, and an n8n community node, all on the same API key.
Is using PetSmart data legal?
+
Scavio returns publicly available PetSmart data and does not access accounts, Treats rewards or order history. You remain responsible for how you use the data, including compliance with PetSmart's terms. Talk to your own counsel for your specific use case.
Explore more of Scavio
PetSmart API docs
All 6 endpoints with params and real responses.
Petco API
Pet supply prices, Repeat Delivery prices and units on hand per store.
Chewy API
Pet supply prices with Autoship, first-Autoship and MAP fields.
Walmart API
Search, product, reviews and store-level pricing.
Target API
Search, categories, detail and reviews.
Amazon API
Search, product detail by ASIN and seller offers.
Costco API
Warehouse prices and stock, coupons and deals.
Dollar General API
Store prices, units on hand and digital coupons.
Try the PetSmart API free
50 free credits on signup, no card. Your first request is a POST with a product name in it.