petco.com APIpetco.com ↗
Access Petco's product catalog, customer reviews, store locator, deals, and search suggestions via 7 structured JSON endpoints.
curl -X GET 'https://api.parse.bot/scraper/dd564857-acee-4c20-9670-1603bccc68f2/search_products?limit=3&query=cat+toys&sort_by=price' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for products by keyword query. Returns paginated product listings from the Petco catalog.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| limit | integer | Number of results per page. |
| queryrequired | string | Search keyword or phrase. |
| sort_by | string | Sort order for results. |
{
"type": "object",
"fields": {
"products": "array of product objects with id, name, brand, price, list_price, rd_price, rating, reviews, url, image, is_same_day, is_repeat_delivery",
"result_id": "string unique identifier for this result set",
"total_results": "integer total number of matching products"
},
"sample": {
"data": {
"products": [
{
"id": "102232",
"url": "/shop/en/petcostore/product/blue-buffalo-chicken-and-brown-rice-adult-dog-food-30-lbs-1055747",
"name": "Blue Buffalo Life Protection Formula Chicken & Brown Rice Adult Dry Dog Food, 30 lbs.",
"brand": "Blue Buffalo",
"image": "https://assets.petco.com/petco/image/upload/f_auto,q_auto,w_190/dpr_auto/1055747-center-1",
"price": 67.98,
"rating": 4.7043,
"reviews": 3406,
"rd_price": 64.58,
"list_price": 67.99,
"is_same_day": true,
"is_repeat_delivery": true
}
],
"result_id": "8994447f-81ea-454f-9ce0-a99c237a9528",
"total_results": 2785
},
"status": "success"
}
}About the petco.com API
The Petco API covers 7 endpoints that expose the full Petco.com shopping experience: product search, category browsing, individual product details, customer reviews, search autocomplete, store locations, and current deals. The search_products endpoint alone returns up to 20 fields per product including price, list_price, rd_price, rating, is_same_day, and is_repeat_delivery flags, making it practical for price comparison and availability tracking across Petco's pet supply catalog.
Product Search and Category Browsing
The search_products endpoint accepts a query string plus optional page, limit, and sort_by parameters, returning an array of product objects alongside a total_results count and a result_id for the result set. Each product object includes id, name, brand, price, list_price, rd_price (repeat delivery price), rating, reviews, url, image, is_same_day, and is_repeat_delivery. The get_category_products endpoint works similarly but navigates by category_path—either a short slug like dry-cat-food or a full hierarchical path like dog/dog-food/dry-dog-food.
Product Details and Reviews
get_product_details takes a url_slug that includes the trailing SKU number and returns a single product's name, brand, image, price, list_price, rating, description, and a variants array covering size or flavor options. The sku field from this response feeds directly into get_product_reviews, which paginates 10 reviews at a time and returns each review's Rating, ReviewText, Title, UserNickname, SubmissionTime, and IsRecommended flag alongside a TotalResults count.
Store Locator and Deals
get_store_locator accepts a US zip_code and returns an array of nearby physical stores sorted by distance, each with name, store_id, address, city, state, zip_code, phone, latitude, longitude, distance_miles, and a bopus_available flag for buy-online-pickup-in-store availability. get_deals takes no inputs and returns the current sale and promotional product set in the same product object shape as search results, making it straightforward to monitor Petco's active promotions.
Search Suggestions
get_search_suggestions accepts a partial query string and returns two arrays: Products with matching product objects and Search Suggestions with autocomplete terms that include value and category data. This is useful for building type-ahead interfaces or discovering how Petco categorizes specific search intents.
- Track price drops on pet food by comparing
pricevslist_priceandrd_priceacrosssearch_productsresults. - Build a pet supply price comparison tool using product data from
search_productsandget_category_products. - Aggregate and analyze customer sentiment from
get_product_reviewsfields includingRating,ReviewText, andIsRecommended. - Monitor Petco's active promotions by polling
get_dealsfor products with discounted prices. - Build a store finder feature using
get_store_locatorwithlatitude,longitude,distance_miles, andbopus_availabledata. - Populate autocomplete search boxes using term and category data from
get_search_suggestions. - Audit product variant availability across sizes and flavors using the
variantsarray fromget_product_details.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Petco have an official public developer API?+
What does the `get_product_details` endpoint return beyond basic pricing?+
price and list_price, it returns a description string, a variants array (covering size and flavor options), brand, rating, and the sku field you need to pull reviews via get_product_reviews. It does not return inventory counts or seller information.Does `get_store_locator` return service-specific details like grooming or veterinary availability?+
bopus_available flag for buy-online-pickup-in-store support alongside address, phone, and distance data. Grooming appointment availability and veterinary service details are not currently exposed as separate fields. You can fork this API on Parse and revise it to add an endpoint targeting those service details.Can I filter `search_products` results by brand or price range?+
search_products endpoint currently accepts query, page, limit, and sort_by as inputs. Brand and price-range filter parameters are not currently supported as direct inputs. You can fork this API on Parse and revise it to add those filter parameters to the endpoint.How does `get_product_reviews` pagination work?+
page parameter to advance through results. The TotalResults field in the response tells you how many reviews exist in total, so you can calculate how many pages to request.