# Petco Product Scraper (`parseforge/petco-scraper`) Actor

Scrapes Petco product data from category or search pages. Returns price, rating, images, and details for each product in a flat row.

- **URL**: https://apify.com/parseforge/petco-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** E-commerce, Marketing, Automation
- **Stats:** 9 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $11.99 / 1,000 result items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

[![ParseForge](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)](https://apify.com/parseforge?fpr=vmoqkp)

### Petco Product Scraper

**Scrape Petco product data from any category, search query, or URL, up to a million items per run.** Every product comes with its price, rating, images, and full specs. No login or API key. Export to CSV, JSON, Excel, or XML.

Petco's website has no public API for product data, and manual collection is slow and error-prone. This Actor reads the public product feeds directly, filtered by keyword or category, and returns each match in one fixed schema. It works for dog food, cat litter, fish tanks, and every other pet category on the site.

| Who uses it | What they scrape Petco for |
|---|---|
| Market researchers | Track which pet food brands and formulas are trending in a category |
| E-commerce managers | Monitor competitor pricing and assortment on Petco |
| Data analysts | Build a clean dataset of pet products for price or rating analysis |
| Pet industry startups | Collect a catalog of products to seed a new app or service |

### What it does

This Actor collects Petco products by category URL or search keyword, and returns each one as a flat row with price, rating, images, and product details.

- 🔍 **Keyword search:** enter any search term, like "purina pro plan adult dog food", and get matching products.
- 📂 **Category scraping:** paste a Petco category URL, like dog food or cat litter, and scrape every product in it.
- 📊 **Structured output:** each product is returned as a flat row with price, rating, images, and details, ready for CSV or JSON export.
- ⚡ **High volume:** scrape up to a million products per run for paid users, with a 100-item limit for free users.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

### What you can do with Petco data

**📈 Track pet food prices.**

A market researcher scrapes the dog food category weekly and compares price changes across brands to spot promotions and inflation trends.

**🛒 Monitor competitor assortment.**

An e-commerce manager scrapes Petco's cat litter category to see which new products are listed and adjust their own catalog.

**📊 Build a rating dataset.**

A data analyst scrapes thousands of products with their customer ratings to train a model that predicts product success.

**🐾 Seed a pet app.**

A startup founder scrapes all products in a niche, like fish tanks, to populate a price comparison or recommendation app.

### Why choose this scraper

|  | What you get |
|---|---|
| **No API needed** | Reads Petco's public product pages directly, no registration or key required. |
| **One fixed schema** | Every product comes back with the same fields, so your dataset is clean from the start. |
| **Flexible input** | Scrape by category URL or search keyword, whichever fits your workflow. |
| **Export anywhere** | Download results as CSV, JSON, Excel, or XML for analysis or storage. |

### How it compares

This Actor focuses on fast, high-volume scraping of Petco category and search pages with a simple input and clean output, while competitors may offer different enrichment or input options.

| Feature | ParseForge | Petco Product Scraper | Petco Scraper | Petco Product Detail Ec Spider |
|---|---|---|---|---|
| Scrape by category URL | Yes | Yes | Yes | Not listed |
| Scrape by search keyword | Yes | Yes | Yes | Not listed |
| Full product details (ingredients, guaranteed analysis) | Not listed | Yes | Not listed | Yes |
| Export to CSV and JSON | Yes | Yes | Yes | Not listed |
| High volume (up to 1M products) | Yes | Not listed | Not listed | Not listed |

### Configure the run

Drive the Actor from a Petco category URL or a search keyword, and set a maximum number of products to collect. The URL takes priority over the search term if both are provided. The Input tab lists every parameter.

A first run with the defaults:

```json
{
  "maxItems": 10,
  "searchQuery": "purina pro plan adult dog food"
}
```

A larger pull:

```json
{
  "maxItems": 200,
  "searchQuery": "purina pro plan adult dog food"
}
```

### Pricing

Pay-per-result: **$0.01599 per result** collected. You pay only for the results written to your dataset.

| Results collected | Approximate cost |
|---|---|
| 100 results | $1.60 |
| 1,000 results | $15.99 |
| 10,000 results | $159.90 |

New Apify accounts start with $5 in free credit.

### Free users

Free-plan runs return up to 10 results as a preview. [Upgrade your Apify plan](https://console.apify.com/sign-up?fpr=vmoqkp) to collect up to 1,000,000 results per run.

### Run it

1. [Create a free Apify account with $5 in credit](https://console.apify.com/sign-up?fpr=vmoqkp).
2. Open the [Petco Product Scraper](https://apify.com/parseforge/petco-scraper?fpr=vmoqkp).
3. Set your inputs and any filters, then click **Start**.
4. Export the results as CSV, Excel, JSON, or XML from the **Dataset** tab.

Run it programmatically through the [Apify API](https://docs.apify.com/api/v2) (`run-sync-get-dataset-items`) or the [ApifyClient](https://docs.apify.com/api/client/js) for JavaScript and Python.

### Use with AI agents (MCP)

Give an AI agent live access to Petco through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

```bash
claude mcp add --transport http apify "https://mcp.apify.com/?tools=parseforge/petco-scraper"
```

Then prompt it in plain language to run the scraper and read back the results.

### Troubleshooting

**Why am I getting no results?**

Verify that the Petco URL or search term is correct and that the page loads in a normal browser. If you are using a search term, try a more general keyword. Also check that your maximum products is not set to 0.

**Why did the run stop before reaching my maximum?**

The Actor stops when there are no more products to scrape on the page or when it hits the maximum you set. If you expected more products, check that the URL or search term returns enough results.

**Why are some product fields empty?**

Not all products have every field, such as rating or images. The Actor returns whatever is available on the page, so some fields may be blank for certain products.

**Can I scrape a single product page?**

This Actor is designed for category and search pages, not individual product pages. If you need a single product, use a search term that matches it or a category URL that contains it.

**Why is my run slow?**

Scraping many products takes time because each product page must be loaded. You can reduce the maximum products or run the Actor on a higher-memory plan for faster performance.

### FAQ

| Question | Answer |
|---|---|
| Do I need a Petco account or API key? | No. The Actor reads public product pages directly, so no login or API key is required. |
| Can I scrape a specific category? | Yes. Paste the category URL into the Petco URL field, and the Actor will scrape all products in that category up to your maximum limit. |
| Can I search by keyword instead of a URL? | Yes. Use the Search term field to enter a keyword like "blue buffalo life protection", and the Actor will return matching products. If both a URL and a search term are provided, the URL takes priority. |
| What data does each product include? | Each product row includes price, customer rating, images, and other details available on the product page. The exact fields are shown in the sample output. |
| How many products can I scrape? | Free users can scrape up to 100 products per run. Paid users can set a higher maximum, up to 1,000,000 products. |
| What export formats are supported? | You can export the results as CSV, JSON, Excel, or XML from the Apify dataset. |
| Does this work for all Petco categories? | Yes, it works for any category or search results page on Petco.com, including dog, cat, fish, bird, and small animal products. |
| Can I schedule this Actor to run automatically? | Yes, you can set up a schedule in Apify to run the Actor daily, weekly, or at any interval you need. |
| Is this Actor legal to use? | You should only scrape publicly available data and comply with Petco's terms of service and applicable laws. Apify provides tools, but you are responsible for how you use them. |
| What if I get no results? | Check that your URL or search term is correct and that the page is publicly accessible. Also make sure your maximum products is set to at least 1. |

### Related actors

Browse the full [ParseForge collection](https://apify.com/parseforge?fpr=vmoqkp) for more scrapers.

🆘 **Need help?** Email parseforge@protonmail.com with your run ID, your input, and what you expected.

⚠️ **Disclaimer.** This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Petco Animal Supplies, Inc. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

# Actor input Schema

## `startUrl` (type: `string`):

URL of a Petco category or search results page to scrape, e.g. https://www.petco.com/shop/en/petcostore/category/dog/dog-food. Overrides the Search Query if both are provided.

## `maxItems` (type: `integer`):

Free users: Limited to 100. Paid users: Optional, max 1,000,000.

## `searchQuery` (type: `string`):

Keyword to search on Petco, e.g. "blue buffalo life protection" or "tidy cats clumping litter".

## Actor input object example

```json
{
  "maxItems": 10,
  "searchQuery": "purina pro plan adult dog food"
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset with all scraped items

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "maxItems": 10,
    "searchQuery": "purina pro plan adult dog food"
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/petco-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "maxItems": 10,
    "searchQuery": "purina pro plan adult dog food",
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/petco-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "maxItems": 10,
  "searchQuery": "purina pro plan adult dog food"
}' |
apify call parseforge/petco-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parseforge/petco-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/O7kHxD9aMXamrKVEs/builds/uXwYmeix0HfZiN5cS/openapi.json
