# Advance Auto Parts Product Scraper (`sian.agency/advance-auto-parts-product-scraper`) Actor

Scrape Advance Auto Parts products — price, ratings, images, specs & live store inventory. Keyword or category search, full detail enrichment, clean JSON/CSV, no code.

- **URL**: https://apify.com/sian.agency/advance-auto-parts-product-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** E-commerce, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.70 / 1,000 overview products

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Advance Auto Parts Product Scraper — Prices, Specs & Store Stock 🔧

[![SIÁN Agency Store](https://img.shields.io/badge/Store-SI%C3%81N%20Agency-1AE392)](https://apify.com/sian.agency?fpr=sian) [![Home Depot Product Scraper](https://img.shields.io/badge/Store-Home%20Depot%20Product%20Scraper-F96302)](https://apify.com/sian.agency/home-depot-product-scraper?fpr=sian) [![Walmart Product Scraper](https://img.shields.io/badge/Store-Walmart%20Product%20Scraper-0071CE)](https://apify.com/sian.agency/walmart-data-scraper?fpr=sian) [![Google Shopping Price Scraper](https://img.shields.io/badge/Store-Google%20Shopping%20Price%20Scraper-4285F4)](https://apify.com/sian.agency/google-shopping-price-scraper?fpr=sian)

#### 🎉 Pull Advance Auto Parts prices, ratings, specs, and live in-store stock — by keyword or category, no code
##### Built for auto-parts resellers, retail analysts, and automotive brands who need fresh product data on demand

---

### 📋 Overview

**Track every price, part spec, and live store stock on Advance Auto Parts — without writing a single line of code.** This scraper turns any Advance Auto Parts search or category into a clean, structured spreadsheet of products, complete with prices, ratings, images, full specifications, and real-time store inventory.

**Why thousands of professionals choose us:**
- ✅ **Complete product data**: 35+ fields per product — price, list/was price, rating, review count, brand, part number, warranty, dimensions, and more
- ⚡ **Fast search-first mode**: pull 100 rich products per search in seconds; scale to thousands across multiple searches
- 🎯 **Live per-store inventory**: see real on-hand quantity and availability for any Advance Auto Parts store you choose
- 💰 **Pay only for results**: charged per product you actually receive — no wasted spend, free tier to test
- 💎 **Detail enrichment**: add live store stock and the strikethrough list/was price with one switch
- ✨ **NEW**: search by keyword *or* category, sort by best match, price, or top rated — just like the Advance Auto Parts site

---

### ✨ Features

- 🔎 **Keyword & Category Search**: scrape any Advance Auto Parts search term, part number, or category page
- 🏷️ **Full Pricing**: current price, regular price, list/was price, core charge, and on-sale flags
- ⭐ **Ratings & Reviews**: star rating and total review count for every part
- 🏬 **Live Store Inventory**: real on-hand stock quantity and availability for your chosen store (Detail mode)
- 🖼️ **Product Images**: all product image URLs, ready for catalogs or feeds
- 🧾 **Specifications Table**: full structured specs — materials, dimensions, fitment attributes, and more
- 🧭 **Categories & Breadcrumbs**: the part's full category path for clean classification
- 🔢 **Identifiers**: brand, part number, and manufacturer code for matching across catalogs
- 📦 **Clean Export**: results delivered as structured JSON or CSV, ready for Excel or your database
- 🚀 **No-Code Setup**: configure searches in a simple form — no scripts, no maintenance

---

### 🎬 Quick Start

Enter one or more search keywords (or category ids), pick a mode, and run. Results stream into a clean dataset you can export to JSON, CSV, or Excel.

```bash
curl -X POST "https://api.apify.com/v2/acts/sian.agency~advance-auto-parts-product-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"keywords": ["brake pads"], "scrapeMode": "overview"}'
````

***

### 🚀 Getting Started (3 Simple Steps)

#### Step 1: Add your searches

Type one or more keywords (e.g. `brake pads`, `oil filter`, `spark plugs`) — one per line — or paste category ids for whole-category harvesting.

#### Step 2: Choose your depth

Pick **Overview** for fast price/ratings/specs, or **Detail** to also pull live store stock and the list/was price.

#### Step 3: Run and export

Start the run and watch products fill your dataset. Download as JSON, CSV, or Excel when it finishes.

**That's it! In minutes, you'll have:**

- A structured catalog of Advance Auto Parts products
- Prices, ratings, specs, and images for every part
- Live in-store availability for your chosen store

***

### 📥 Input Configuration

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| keywords | array | No\* | Free-text searches or part numbers (e.g. `brake pads`, `NAD1363`) |
| categoryIds | array | No\* | Advanced — numeric category ids from a category page URL |
| scrapeMode | string | No | `overview` (fast) or `detail` (adds live store stock + list price) |
| sort | string | No | `best_match`, `price_low`, `price_high`, or `top_rated` |
| storeId | string | No | Store id for live inventory in Detail mode (default `8880`) |
| maxResults | integer | No | Cap on total products returned (FREE: up to 25) |

\*Provide at least one keyword **or** one category id.

**Example:**

```json
{
  "keywords": ["brake pads", "oil filter"],
  "scrapeMode": "detail",
  "sort": "price_low",
  "storeId": "8880",
  "maxResults": 200
}
```

**Category sweep:**

```json
{
  "categoryIds": ["81637"],
  "scrapeMode": "overview"
}
```

***

### 📤 Output

Results are saved to the Apify dataset with **35+ fields** including:

| Field | Type | Description |
|-------|------|-------------|
| item\_id | string | Internal product id |
| productTitle | string | Full product name |
| brand | string | Manufacturer / brand name |
| part\_number | string | Manufacturer part number |
| price | number | Current selling price |
| list\_price | number | List/was price (Detail mode) |
| on\_sale | boolean | Whether the part is on sale |
| rating | number | Average customer rating (0–5) |
| review\_count | integer | Total customer reviews |
| in\_stock | boolean | In stock at your store (Detail mode) |
| store\_quantity | integer | Live on-hand quantity (Detail mode) |
| category | string | Top-level category |
| warranty | string | Warranty details |
| images | array | All product image URLs |
| specs | object | Full key-value specifications table |
| url | string | Direct link to the product page |

**Example:**

```json
{
  "item_id": "20410122",
  "productTitle": "Front Brake Pads: Ceramic, Long Life and Quiet - Front",
  "brand": "Carquest Standard",
  "part_number": "NAD1363",
  "price": 54.99,
  "list_price": 73.99,
  "on_sale": false,
  "rating": 4.2,
  "review_count": 76,
  "in_stock": true,
  "store_quantity": 1,
  "category": "Braking",
  "warranty": "Limited Lifetime Warranty",
  "images": ["https://shop.advanceautoparts.com/.../20410122_..._larg.jpg"],
  "specs": { "Inner Pad Friction Material Thickness": "0.709 in" },
  "url": "https://shop.advanceautoparts.com/p/carquest-standard-front-brake-pads-ceramic-long-life-and-quiet-front-nad1363/20410122"
}
```

***

### 💼 Use Cases & Examples

#### 1. Competitor Price Monitoring

**Auto-parts resellers tracking how Advance Auto Parts prices their catalog.**

**Input:** A list of keywords or category ids
**Output:** Current price, regular price, and list/was price per part
**Use:** Reprice your own listings to stay competitive.

#### 2. Catalog & Assortment Research

**E-commerce teams mapping which parts and brands Advance Auto Parts carries.**

**Input:** Category ids for the segments you sell
**Output:** Full product list with brand, part number, and specs
**Use:** Spot gaps and opportunities in your own assortment.

#### 3. In-Stock & Availability Checks

**Buyers verifying live local availability before sourcing.**

**Input:** Keywords + your store id, Detail mode
**Output:** Live on-hand quantity and in-stock status per part
**Use:** Confirm availability before committing a purchase order.

#### 4. Product Feed Enrichment

**Marketplaces building rich automotive product feeds.**

**Input:** Keywords across your target categories
**Output:** Specs table, images, dimensions, and warranty per part
**Use:** Populate complete product pages without manual entry.

#### 5. Market & Demand Research

**Analysts studying pricing and ratings across automotive segments.**

**Input:** Category ids sorted by top rated or price
**Output:** Ratings, review counts, and pricing distribution
**Use:** Identify best-selling and best-reviewed parts in a segment.

***

### 🔗 Integration Examples

#### JavaScript/Node.js

```javascript
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });

const run = await client.actor('sian.agency/advance-auto-parts-product-scraper').call({
  keywords: ['brake pads'],
  scrapeMode: 'overview',
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);
```

#### Python

```python
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')

run = client.actor('sian.agency/advance-auto-parts-product-scraper').call(
    run_input={'keywords': ['brake pads'], 'scrapeMode': 'overview'}
)

for item in client.dataset(run['defaultDatasetId']).iterate_items():
    print(item)
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~advance-auto-parts-product-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"keywords": ["brake pads"], "scrapeMode": "overview"}'
```

#### Automation Workflows (N8N / Zapier / Make)

1. **Trigger**: Schedule or webhook
2. **HTTP Request**: Call the actor API
3. **Process**: Handle JSON results
4. **Action**: Save, notify, or transform

***

### 📊 Performance & Pricing

#### FREE Tier (Try It Now)

- **25 products** per run — full feature access, same quality
- No credit card required
- Perfect for testing and small projects

#### PAID Tier (Production Ready)

- **Unlimited** products per run
- Faster processing, no delays
- Pay-per-result: only charged for products you actually receive

💰 **Transparent pay-per-result pricing** — pay for the overview products and detail records you receive, nothing more.

🔗 [View current pricing](https://apify.com/sian.agency/advance-auto-parts-product-scraper?fpr=sian)

***

### ❓ Frequently Asked Questions

**Q: How many products can I scrape?**
A: FREE tier: 25 per run. PAID tier: unlimited.

**Q: Can I search by part number?**
A: Yes — enter a specific part number as a keyword, or use broad keywords like `brake pads`.

**Q: What's the difference between Overview and Detail?**
A: Overview returns price, ratings, images, and the specs table fast. Detail additionally pulls live in-store stock and the strikethrough list/was price for your chosen store.

**Q: What output formats are available?**
A: JSON, CSV, and Excel — export directly from the Apify dataset.

**Q: Can I scrape a whole category?**
A: Yes — paste the numeric category id from a category page URL into the Category IDs field.

**Q: How fresh is the data?**
A: Every run fetches live data at the moment it runs.

***

### 🐛 Troubleshooting

**No products returned for a keyword**

- Try a broader term (e.g. `brake pads` instead of a very specific phrase)
- Or use a category id from the category page URL

**Detail mode shows no store stock**

- Set a valid `storeId`; the default reflects a representative US store
- Some parts are ship-only and may not stock locally

**Run hits the result cap quickly**

- FREE tier is capped at 25 products — upgrade to PAID for unlimited results

***

### ⚖️ Is it legal to scrape data?

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the **GDPR** in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the [legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

**Trademark notice:** Advance Auto Parts® is a registered trademark of Advance Stores Company, Incorporated. This actor is an independent tool and is **not** affiliated with, endorsed by, or sponsored by Advance Auto Parts. All product names, logos, and brands are the property of their respective owners and are used for identification purposes only.

***

### 🤝 Support

[![Telegram Support](https://img.shields.io/badge/Telegram-Support%20Group-0088cc?logo=telegram)](https://t.me/+vyh1sRE08sAxMGRi)

**Join our active support community**

- For issues or questions, open an issue in the actor's repository
- Check [SIÁN Agency Store](https://apify.com/sian.agency?fpr=sian) for more automation tools
- 📧 <apify@sian-agency.online>

***

**Built by [SIÁN Agency](https://www.sian-agency.online)** | **[More Tools](https://apify.com/sian.agency?fpr=sian)**

# Actor input Schema

## `keywords` (type: `array`):

🔍 **KEYWORD SEARCH:** Free-text Advance Auto Parts searches — exactly what you'd type into the site's search bar.

📝 **EXAMPLES:** `brake pads` · `oil filter` · `spark plugs` · `car battery` · `wiper blades`

💡 **TIP:** Add one keyword per line — each runs as its own search and all results land in the same dataset. You can also enter a specific part number (e.g. `NAD1363`).

🖊️ **BULK EDIT:** Click "Bulk edit" to paste many keywords at once (one per line).

✅ **IMPORTANT:** Provide either keywords OR category ids (at least one is needed to have something to scrape).

## `categoryIds` (type: `array`):

🧭 **CATEGORY BROWSING (Advanced):** Scrape a whole Advance Auto Parts category instead of a keyword search.

🔧 **HOW TO GET IT:** Open any Advance Auto Parts category page and copy the numeric id from the end of the URL (e.g. `81637` in `shop.advanceautoparts.com/c2/brake-pads-and-shoes/81637`). Paste just the id here.

💡 **TIP:** Leave this empty if you're only using keywords — it's purely an advanced alternative for category-level harvesting.

🖊️ **BULK EDIT:** Add one id per line to sweep multiple categories in a single run.

## `scrapeMode` (type: `string`):

⚙️ **SCRAPE DEPTH:** Choose how much data to pull per product.

⚡ **Overview (fast):** Search results — price, ratings, images, brand, part number, specifications and description. Fastest and cheapest path.

🔬 **Detail (live store stock):** Everything in Overview PLUS live in-store inventory (on-hand quantity at your store) and the full price state including the strikethrough list/was price.

💡 **TIP:** Start with Overview to scope your catalog, then switch to Detail when you need live availability and was-price for comparisons.

## `sort` (type: `string`):

🔃 **RESULT ORDERING:** Order search results using Advance Auto Parts' own native sort options — so you get the same ranking real shoppers see.

🏆 **Best match** is the site's default relevance ranking · 💲 **Price** sorts ascending or descending · ⭐ **Top rated** leads with the highest-reviewed items.

## `storeId` (type: `string`):

🏬 **LOCALIZED STOCK:** The Advance Auto Parts store id used to report live in-store inventory (quantity on hand at that specific store) in Detail mode.

🔧 **HOW TO FIND IT:** It's the numeric store id shown on a store-details page on the site.

💡 **TIP:** Leave the default (`8880`) for a representative US store, or set your local store to mirror exactly what a nearby shopper sees on availability.

## `maxResults` (type: `integer`):

🔢 **RESULT CAP:** Maximum number of products to return across all keywords and categories combined.

🎁 **TIER-BASED LIMITS:**

- **FREE users:** Up to 25 products per run
- **PAID users:** Unlimited — scrape entire catalogs in a single run

💡 **TIP:** Keep this low while you dial in your keywords, then raise it once the output looks right.

## Actor input object example

```json
{
  "keywords": [
    "brake pads"
  ],
  "scrapeMode": "overview",
  "sort": "best_match",
  "storeId": "8880",
  "maxResults": 100
}
```

# Actor output Schema

## `advanceAutoPartsProducts` (type: `string`):

Scraped Advance Auto Parts products with prices, ratings, images, specs and live store stock.

# 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 = {
    "keywords": [
        "brake pads"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/advance-auto-parts-product-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 = { "keywords": ["brake pads"] }

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/advance-auto-parts-product-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "keywords": [
    "brake pads"
  ]
}' |
apify call sian.agency/advance-auto-parts-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=sian.agency/advance-auto-parts-product-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Advance Auto Parts Product Scraper",
        "description": "Scrape Advance Auto Parts products — price, ratings, images, specs & live store inventory. Keyword or category search, full detail enrichment, clean JSON/CSV, no code.",
        "version": "1.0",
        "x-build-id": "ozsME3FxrOCIs7KAV"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/sian.agency~advance-auto-parts-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-sian.agency-advance-auto-parts-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/sian.agency~advance-auto-parts-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-sian.agency-advance-auto-parts-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/sian.agency~advance-auto-parts-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-sian.agency-advance-auto-parts-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keywords": {
                        "title": "🔍 Search Keywords",
                        "type": "array",
                        "description": "🔍 **KEYWORD SEARCH:** Free-text Advance Auto Parts searches — exactly what you'd type into the site's search bar.\n\n📝 **EXAMPLES:** `brake pads` · `oil filter` · `spark plugs` · `car battery` · `wiper blades`\n\n💡 **TIP:** Add one keyword per line — each runs as its own search and all results land in the same dataset. You can also enter a specific part number (e.g. `NAD1363`).\n\n🖊️ **BULK EDIT:** Click \"Bulk edit\" to paste many keywords at once (one per line).\n\n✅ **IMPORTANT:** Provide either keywords OR category ids (at least one is needed to have something to scrape).",
                        "default": [
                            "brake pads"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "categoryIds": {
                        "title": "🧭 Category IDs (Advanced)",
                        "type": "array",
                        "description": "🧭 **CATEGORY BROWSING (Advanced):** Scrape a whole Advance Auto Parts category instead of a keyword search.\n\n🔧 **HOW TO GET IT:** Open any Advance Auto Parts category page and copy the numeric id from the end of the URL (e.g. `81637` in `shop.advanceautoparts.com/c2/brake-pads-and-shoes/81637`). Paste just the id here.\n\n💡 **TIP:** Leave this empty if you're only using keywords — it's purely an advanced alternative for category-level harvesting.\n\n🖊️ **BULK EDIT:** Add one id per line to sweep multiple categories in a single run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "scrapeMode": {
                        "title": "⚙️ Scrape Mode",
                        "enum": [
                            "overview",
                            "detail"
                        ],
                        "type": "string",
                        "description": "⚙️ **SCRAPE DEPTH:** Choose how much data to pull per product.\n\n⚡ **Overview (fast):** Search results — price, ratings, images, brand, part number, specifications and description. Fastest and cheapest path.\n\n🔬 **Detail (live store stock):** Everything in Overview PLUS live in-store inventory (on-hand quantity at your store) and the full price state including the strikethrough list/was price.\n\n💡 **TIP:** Start with Overview to scope your catalog, then switch to Detail when you need live availability and was-price for comparisons.",
                        "default": "overview"
                    },
                    "sort": {
                        "title": "🔃 Sort Order",
                        "enum": [
                            "best_match",
                            "price_low",
                            "price_high",
                            "top_rated"
                        ],
                        "type": "string",
                        "description": "🔃 **RESULT ORDERING:** Order search results using Advance Auto Parts' own native sort options — so you get the same ranking real shoppers see.\n\n🏆 **Best match** is the site's default relevance ranking · 💲 **Price** sorts ascending or descending · ⭐ **Top rated** leads with the highest-reviewed items.",
                        "default": "best_match"
                    },
                    "storeId": {
                        "title": "🏬 Store ID",
                        "type": "string",
                        "description": "🏬 **LOCALIZED STOCK:** The Advance Auto Parts store id used to report live in-store inventory (quantity on hand at that specific store) in Detail mode.\n\n🔧 **HOW TO FIND IT:** It's the numeric store id shown on a store-details page on the site.\n\n💡 **TIP:** Leave the default (`8880`) for a representative US store, or set your local store to mirror exactly what a nearby shopper sees on availability.",
                        "default": "8880"
                    },
                    "maxResults": {
                        "title": "🔢 Max Results",
                        "minimum": 1,
                        "type": "integer",
                        "description": "🔢 **RESULT CAP:** Maximum number of products to return across all keywords and categories combined.\n\n🎁 **TIER-BASED LIMITS:**\n- **FREE users:** Up to 25 products per run\n- **PAID users:** Unlimited — scrape entire catalogs in a single run\n\n💡 **TIP:** Keep this low while you dial in your keywords, then raise it once the output looks right.",
                        "default": 100
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
