Yes, you can search Petco inventory across stores, one store per call. Scavio's Petco API returns the 10 Petco stores nearest a ZIP with POST /api/v1/petco/stores, and POST /api/v1/petco/store-inventory returns the units on hand for up to 10 products at each of them, with Petco's stock level. Checking 10 stores is 10 calls at 1 credit each, about $0.02 on the Growth plan billed yearly, with no Petco account.
A shopper on r/petco asked whether there is any way to do a national inventory search by name or SKU. The item could not be shipped, the only method they had found was changing their store over and over, and when they called, Petco said it had "no way to do a chain-wide search". The top replies said the only route is to choose store pickup in the app, see which stores list the item, and call each one. The thread is now one of the sources Google's AI Overview cites for "check petco inventory at store". A national search in one call does not exist, but the stores near you, with a count for each, is three steps.
Step 1: Find the item and its cat_entry_id
Items that cannot be shipped are flagged in every search row. A "betta fish" search returned 48 of 2,710 results in 15.6 s, and three rows had in_store_only: true: Imagitarium glass aquarium tanks. The 10 gallon tank, as captured (trimmed to the id, price and fulfillment fields):
{
"position": 15,
"name": "Imagitarium Open-Glass Aquarium Tank, 10 Gallon",
"brand": "Imagitarium",
"part_number": "3966935",
"cat_entry_id": "7644016",
"rating": 4.2,
"review_count": 10,
"price": 18,
"list_price": 36,
"autoship_price": 17.1,
"fulfillment": {
"pickup_in_store": true,
"same_day_delivery": true,
"autoship_eligible": false,
"in_store_only": true
},
"deal_group_ids": ["fish-tanks-kits-stands-deals"]
}The tank was half price, $18 against a $36 list price, and the 5.5 gallon tank (7644004) was $15 and the 6 gallon frameless cube (7644017) $40, both also half off. Store inventory takes the cat_entry_id, not the part number at the end of the petco.com URL.
Step 2: List the stores near a ZIP
curl -s https://api.scavio.dev/api/v1/petco/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zip": "75201", "limit": 10}'Downtown Dallas, ZIP 75201, returned 10 stores from 4.41 to 15.35 miles away in 3.8 s, each with store_id, address, phone, distance and opening hours. The nearest was University Park at 4325 Lovers Ln, store_id 12090.
Step 3: Check every store
curl -s https://api.scavio.dev/api/v1/petco/store-inventory \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"cat_entry_ids": ["7644016", "7644004", "7644017"], "store_id": "12096"}'The Casa Linda store, as captured:
{
"store_id": "12096",
"zip": null,
"store": null,
"count": 3,
"items": [
{ "cat_entry_id": "7644017", "qty_available": 2, "alert_level": "GREEN", "in_stock": true },
{ "cat_entry_id": "7644004", "qty_available": 2, "alert_level": "GREEN", "in_stock": true },
{ "cat_entry_id": "7644016", "qty_available": 1, "alert_level": "GREEN", "in_stock": true }
],
"missing_cat_entry_ids": []
}Running that call for all 10 stores took 10 calls and 10 credits, 1.2 to 23.5 s each:
| Store | Miles | 10 gal | 5.5 gal | 6 gal cube |
|---|---|---|---|---|
| University Park, 4325 Lovers Ln | 4.41 | 0 | 0 | 0 |
| Casa Linda, 1152 N Buckner Blvd | 6.57 | 1 | 2 | 2 |
| Northview, 10675 E Nw Hwy | 7.8 | 0 | 0 | 0 |
| Mesquite, 1665 N Town E Blvd | 10.26 | 4 | 2 | 1 |
| Las Colinas, 4030 N Macarthur Blvd | 10.52 | 3 | 2 | 4 |
| Prestonwood, 5301 Belt Line Rd | 11.73 | 4 | 1 | 2 |
| Richardson, 1401 E Spring Valley Rd | 11.98 | 4 | 3 | 3 |
| Grand Prairie, 3166 N Hwy 161 | 14.76 | 2 | 2 | 2 |
| Carrollton, 2722 N Josey Ln | 15.0 | 4 | 5 | 2 |
| Firewheel, 3055 N President George Bush Hwy | 15.35 | 7 | 7 | 1 |
The nearest store, University Park, had none of the three tanks, and neither did Northview, the third nearest. The 10 gallon tank was on hand at 8 of the 10 stores, 29 units in all, and Casa Linda, 6.57 miles out, was the nearest store with all three. As a loop:
import requests
HEADERS = {"Authorization": "Bearer sk_live_your_key"}
BASE = "https://api.scavio.dev/api/v1/petco"
ids = ["7644016", "7644004", "7644017"] # cat_entry_id values, up to 10
stores = requests.post(f"{BASE}/stores", headers=HEADERS,
json={"zip": "75201", "limit": 10}, timeout=60).json()["data"]["stores"]
for s in stores:
r = requests.post(f"{BASE}/store-inventory", headers=HEADERS,
json={"cat_entry_ids": ids, "store_id": s["store_id"]}, timeout=60)
items = r.json()["data"]["items"]
have = {i["cat_entry_id"]: i["qty_available"] for i in items}
print(s["name"], s["distance_miles"], have)What the counts can and cannot tell you
The count is Petco's own on-hand number for that store, the same one a store's system shows. Staff in another r/petco thread describe counts that showed units nobody could find, so for a long drive, a call to the store after the API answer is still worth it. A 0 with level RED does not say whether the store sold out or never stocks the item. Prices are national, so the tank is $18 at every store; only the stock changes. For an area wider than 10 stores, call /stores with more ZIPs and drop duplicate store_id values. If a call returns a 404, one of the ids was not a valid cat_entry_id; the 404 is not charged.
Try the Petco API free, 50 credits, no card. For prices, the Repeat Delivery and first-autoship prices and every endpoint step by step, read how to get Petco prices and store inventory; for how this compares with other Petco data APIs, the best Petco product data APIs.
Reference: Petco API overview · stores · store inventory · search
Frequently asked questions
Can Petco employees see other stores' inventory?
Not easily, according to the r/petco thread: one reply says stores do not know what other stores have, and the suggested route is the Petco app's store pickup option followed by a call to each store. Scavio's Petco API reads the units on hand at any store you name, so a nearby-store search is a loop over store ids.
How do I check if Petco has an item in stock near me?
Call Scavio's /api/v1/petco/stores with your ZIP to get the 10 nearest stores and their store_id values, then /api/v1/petco/store-inventory with the product's cat_entry_id and each store_id. Each answer has qty_available, Petco's GREEN, YELLOW or RED level and in_stock. With only a ZIP, store inventory checks the nearest store.
Which Petco items can only be bought in store?
Search and category rows carry fulfillment.in_store_only. A "betta fish" search on November 2, 2026 flagged Imagitarium glass aquarium tanks as in-store only, with pickup and same-day delivery available but no shipping. For items like these, stock at a nearby store is the only availability that matters.
Can I search every Petco store at once?
Not in one call. The store finder returns the 10 stores nearest a ZIP, and store inventory reads one store per call. To cover a wider area, call stores with several ZIPs, drop duplicate store_id values and check each store; at 1 credit a store, 50 stores cost 50 credits.