Petco Product Scraper — Prices, Autoship & Ratings avatar

Petco Product Scraper — Prices, Autoship & Ratings

Pricing

from $4.00 / 1,000 product extracteds

Go to Apify Store
Petco Product Scraper — Prices, Autoship & Ratings

Petco Product Scraper — Prices, Autoship & Ratings

Track Petco prices with this Petco product scraper: list, sale and autoship prices, ratings, review counts and SKUs for pet brands, sellers and analysts.

Pricing

from $4.00 / 1,000 product extracteds

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Security

Limited permissions

Share

Petco Product Scraper collects Petco prices, sale prices, autoship prices, star ratings, review counts, SKUs and delivery options from Petco search terms, category pages or product URLs, and returns one clean record per product. It is built for pet brands, online sellers and price analysts who need Petco product data in a spreadsheet, database or AI workflow.

The Actor reads the same public product-search data that powers Petco's own search and category pages, over plain HTTP. It needs no browser, no login and no cookies, so a small run finishes in a few seconds of compute.

Price: $5.00 per 1,000 products on the FREE tier ($4.00 on GOLD and above), plus a $0.00649 start fee per run. Up to 500 products per run on every Apify plan.

What Petco product data do you get?

One dataset record per unique Petco product:

FieldWhat it means
titleProduct name including size or variant, as shown on Petco
brandBrand name
priceRegular (list) price in USD
salePriceCurrent online price when it is below the list price, otherwise null
autoshipPricePetco Autoship (repeat delivery) price in USD
currencyAlways USD
ratingAverage star rating (0–5)
reviewCountNumber of customer reviews
skuPetco item number (the number at the end of the product URL)
productIdPetco catalog ID of the returned variant
variantCountNumber of sizes or variants listed for the product
availabilityInStoreOnly for in-store-only items, otherwise null (stock levels are not published)
inStoreOnlySold in stores only
autoshipEligibleCan be ordered with Autoship
sameDayDeliveryEligibleEligible for same-day delivery
pickupInStoreEligibleEligible for buy online, pick up in store
categoryPetco's internal category path, for example `Consumables
descriptionProduct description from Petco's search data
productUrlLink to the Petco product page
imageUrl, imageUrlsMain product image URL
inputType, inputWhich search term or URL produced the record (search, category or product)
scrapedAtWhen the record was collected (ISO timestamp)
sourceAlways petco.com

When to use this Petco scraper

  • Track Petco prices for chosen products or a whole category, including sale prices and the Autoship price.
  • Pet food price comparison: collect Petco dog food prices and cat food prices on a schedule and compare them with your own catalog or other retailers.
  • Brand and review monitoring: follow ratings and review counts for your brand and competing brands.
  • Petco catalog snapshot: export a category's assortment, brands, SKUs and fulfilment options for assortment research.
  • Feed tools and agents: send structured records to a database, BI tool, spreadsheet or AI agent, with the product URL kept for verification.

It is a focused ecommerce scraper for one retailer. Do not use it for:

  • Customer review text (only the average rating and review count are returned).
  • Stock counts or prices for a specific store or ZIP code (it returns Petco's US online catalog prices).
  • Petco services such as grooming, vet care or pet insurance.
  • Retailers other than petco.com.

Input

Use any mix of search terms, category URLs and product URLs.

FieldDefaultWhat it does
searchTermsprefilled dog foodPetco searches such as dog food or cat litter. A term with no keyword match returns no products instead of loosely related suggestions.
categoryUrls[]Petco category URLs (https://www.petco.com/category/dry-dog-food, legacy /shop/en/petcostore/category/... links) or search URLs (https://www.petco.com/search?query=cat%20litter). Filters in the URL query are ignored.
productUrls[]Petco product URLs such as https://www.petco.com/product/<product-slug>-3748364. The size or variant in the URL is returned.
maxProducts20 (prefill 3)Run-wide maximum number of unique products returned and charged, 1–500.
maxPagesPerSearch3Result pages per search term or category, 1–20. One page holds up to 100 products.
requestTimeoutSecs30Timeout for each product-search request, 10–180 seconds.

Inputs are processed a few at a time (product URLs first, then categories, then searches) until maxProducts is reached, so with several inputs and a small cap the first inputs can use the whole allowance. If you add URLs and leave the prefilled dog food search unchanged, that search is skipped and a warning is added to OUTPUT.

Petco dog food and cat food prices:

{
"searchTerms": ["dog food", "cat food"],
"maxProducts": 100,
"maxPagesPerSearch": 1
}

A category plus specific products:

{
"categoryUrls": ["https://www.petco.com/category/dry-dog-food"],
"productUrls": ["https://www.petco.com/product/purina-pro-plan-sensitive-skin-and-stomach-salmon-and-rice-formula-dry-dog-food-40-lbs-3748364"],
"maxProducts": 25
}

Petco API: run it from your code

The Actor works as a Petco product data API through the Apify API. JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('muhammadafzal/petco-product-scraper').call({
searchTerms: ['dog food'],
maxProducts: 20,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

cURL, returning the products in one call:

curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~petco-product-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["cat litter"], "maxProducts": 10}'

You can also run it from Apify Console, schedules, webhooks, Make, Zapier, n8n, or the hosted Apify MCP server for AI agents.

Output example

A real record from a dog food search (description shortened):

{
"productId": "2503505",
"title": "Taste of the Wild Pacific Stream Grain-Free with Smoke-Flavored Salmon Dry Dog Food, 28 lbs.",
"brand": "Taste of the Wild",
"productUrl": "https://www.petco.com/product/taste-of-the-wild-pacific-stream-grain-free-dry-dog-food-with-smoked-salmon-28-lbs-2998871",
"imageUrl": "https://assets.petco.com/petco/image/upload/f_auto,q_auto,w_190/dpr_auto/2998871-center-1",
"imageUrls": ["https://assets.petco.com/petco/image/upload/f_auto,q_auto,w_190/dpr_auto/2998871-center-1"],
"price": 59.99,
"salePrice": 58.99,
"autoshipPrice": 56.04,
"currency": "USD",
"availability": null,
"inStoreOnly": false,
"autoshipEligible": true,
"sameDayDeliveryEligible": true,
"pickupInStoreEligible": true,
"rating": 4.71,
"reviewCount": 1951,
"category": "Consumables|Food|Household Pet",
"description": "Taste of the Wild Pacific Stream with SMOKE-FLAVORED SALMON dry dog food; REAL FISH is the #1 ingredient; ...",
"sku": "2998871",
"variantCount": 3,
"inputType": "search",
"input": "dog food",
"scrapedAt": "2026-10-25T13:56:21.861Z",
"source": "petco.com"
}

Each run also writes one OUTPUT record with the outcome (DATA, EMPTY, BLOCKED, REJECTED or FAILED), products delivered and charged, the status of every input (data, empty, not-found, skipped, blocked or failed), the stop reason, request counts and warnings:

{
"outcome": "DATA",
"productsReturned": 3,
"chargedProducts": 3,
"stopReason": "the product limit of 3 was reached",
"inputs": [{ "inputType": "search", "input": "dog food", "status": "data", "products": 3, "pages": 1, "totalAvailable": 2492 }],
"warnings": []
}

Pricing

Pay per event, with Apify platform usage included in the prices (no separate usage fee is passed to you). Your tier follows your Apify subscription plan.

EventFREEBRONZE (2.5% off)SILVER (5% off)GOLD, PLATINUM, DIAMOND (20% off)Charged when
Product extracted (product-extracted, primary)$0.005001$0.004875$0.00475$0.004Once per unique product written to the dataset
Actor start (apify-actor-start)$0.00649$0.006327$0.006165$0.005192Once per run per started GB of allocated memory; the default 256 MB run (512 MB maximum) is one start event

Every Apify plan, the free plan included, can request up to 500 products per run with maxProducts.

Worked examples:

  • FREE tier, prefilled input (3 products): $0.00649 + 3 × $0.005001 = $0.021493.
  • FREE tier, 500 products: $0.00649 + 500 × $0.005001 = $2.50699.
  • SILVER, default 20 products: $0.006165 + 20 × $0.00475 = $0.101165.
  • BRONZE, 100 products: $0.006327 + 100 × $0.004875 = $0.493827.
  • GOLD, 500 products: $0.005192 + 500 × $0.004 = $2.005192.

Duplicate, unmatched and failed items are never charged. Empty, rejected and blocked runs pay only the start fee. The lowest maximum total charge you can set is $0.011491 (one start event plus one product), and the run stops cleanly when your maximum total charge is reached.

Reliability, limits and failure modes

  • Access: direct HTTP requests to Petco's public product search. If Petco repeatedly refuses requests, the Actor retries them automatically through a residential network route. Rate limits (HTTP 429) are retried with backoff.
  • Blocked or failed runs end with a clear status message, an OUTPUT outcome of BLOCKED or FAILED, and no product charges. After three inputs in a row fail, the run stops instead of spending more time.
  • Empty results are truthful: unmatched searches, empty categories and unknown product URLs are reported in OUTPUT as empty or not-found; no placeholder records are created.
  • Stock: Petco search data does not include stock levels. availability is InStoreOnly for in-store-only items and otherwise null; use the delivery and pickup flags for fulfilment options.
  • Images: imageUrls holds the main product image only.
  • Category filters (brand, price, facets in the URL query) are not applied; the whole category is paginated in Petco's relevance order.
  • Market: the US Petco store, prices in USD.
  • Time limits: the default run timeout is 300 seconds. When the timeout is near, the Actor stops early, keeps every product already delivered and says so in the status message.

The Actor collects public product information only: names, prices, ratings, review counts and product details. It does not access accounts, carts or checkout, and it does not collect customer names, review text or other personal data. Use the data in line with Petco's terms and the laws that apply to you, and verify prices on Petco before making high-impact decisions.

FAQ

Is there a Petco API for product data?

This Actor gives you programmatic access to Petco product data: call it through the Apify API, a client library or the Apify MCP server, and receive JSON records with prices, ratings, SKUs and product URLs.

Can I export Petco prices to CSV or Excel?

Yes. Open the run's dataset in Apify Console and export CSV, Excel, JSON, XML or RSS, or download the same records through the dataset API.

How do I monitor Petco price and rating changes over time?

Save your input as a Task, add an Apify schedule (for example daily or weekly), and compare price, salePrice, autoshipPrice, rating and reviewCount by sku between runs. A webhook or integration can process each new dataset automatically.

Does it collect Petco customer reviews?

No. Each product includes the average rating and the reviewCount, but not the text of individual reviews.

Does it show Petco prices near me or for a specific store?

No. It returns the prices that Petco's US online catalog shows. It does not look up prices for a specific store or ZIP code; the inStoreOnly and pickupInStoreEligible flags show how an item can be bought.

Does it show the Petco Autoship price?

Yes. autoshipPrice is the repeat-delivery price from Petco's search data, and autoshipEligible shows whether Autoship is available. In our October 2026 sample run, Autoship prices were 5% below the current list or sale price. First-order Autoship promotions are not returned as a separate field.

Support

When reporting a problem, include the Actor run ID, a redacted input, the expected result and a public example URL when applicable. Never post API tokens, cookies or personal data in an issue.

Last verified: 2026-11-04