# AUTODOC Listings Scraper (`piotrv1001/autodoc-listings-scraper`) Actor

The AUTODOC Listings Scraper extracts car parts and tyres from AUTODOC, capturing titles, brands, article numbers, EANs, prices, discounts, stock status, ratings and the complete technical specs — ideal for price monitoring, catalogue enrichment and automotive market research.

- **URL**: https://apify.com/piotrv1001/autodoc-listings-scraper.md
- **Developed by:** [FalconScrape](https://apify.com/piotrv1001) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 4 total users, 3 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 car parts

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#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

### 🔧 AUTODOC Listings Scraper

Extract car parts and tyres from **AUTODOC**, Europe's largest online car-parts retailer. The **AUTODOC Listings Scraper** turns any AUTODOC category or tyre listing page into clean, structured data — **price, list price, discount, brand, article number, EAN, stock status, ratings and the full technical specification table** — ready for price monitoring, catalogue enrichment and competitive research.

Pick your car and a part category on [autodoc.de](https://www.autodoc.de) (or any of AUTODOC's 25+ country sites), paste the resulting URL, and run. Hosted on the Apify platform, it gives you **API access, scheduling, integrations, and exports to JSON, CSV, Excel and Google Sheets** out of the box.

### ✨ Features

- 🏷️ **Complete part records** – title, brand, manufacturer article number, EAN, price, list price, discount %, currency, stock status, condition, rating, review count and product image for every part.
- 📐 **Full specification table** – every technical attribute AUTODOC publishes for the part (typically 13–23 fields: fitting position, dimensions, weight, voltage, capacity, WVA numbers and more) returned as a structured `specs` object.
- 🔩 **Optional OE / OEM cross-references** – flip on *Include OE / OEM numbers* to attach every original-equipment part number the item replaces, together with the vehicle manufacturers each number belongs to. Often 100+ numbers per part.
- 🛞 **Parts and tyres** – works with vehicle-specific part listings and with the tyre catalogue (summer, winter, all-season, filtered by size).
- 🌍 **25+ country sites** – any AUTODOC domain works, including `.de`, `.co.uk`, `.fr`, `.it`, `.es`, `.pl`, `.nl` and `.se`, with local prices and currency.
- 💸 **Pay only for what you scrape** – transparent pay-per-result pricing with a built-in `Max items` cap to control cost.
- ⚡ **Fast & reliable** – handles pagination automatically and deduplicates results, with no proxy required.

### 🛠️ How to use the AUTODOC Listings Scraper

1. **Find your listing** – Go to [autodoc.de](https://www.autodoc.de) (or your local AUTODOC site), select your car (make → model → generation → engine), open a part category, and copy the URL of the results page. Tyre listings such as `autodoc.de/reifen/sommer` work too.
2. **Paste the URL** – Add one or more of these listing URLs to the **Listing URLs** input field.
3. **Set your limits** – Choose **Max items** (default 50) and, optionally, enable **Include OE / OEM numbers**.
4. **Run the Actor** – Start it and watch the structured results fill the dataset in real time.
5. **Export** – Download the dataset as JSON, CSV, Excel or HTML, or pull it via the Apify API.

### 🔧 Input

| Field                | Type    | Description                                                                                      |
| -------------------- | ------- | ------------------------------------------------------------------------------------------------ |
| `startUrls`          | array   | AUTODOC category or tyre listing URLs to scrape. Prefilled with a sample VW Touran battery page. |
| `maxItems`           | integer | Maximum number of products to scrape across all URLs. Default `50`.                              |
| `includeOeNumbers`   | boolean | Also collect the OE/OEM cross-reference numbers for every product. Default `false`.              |
| `proxyConfiguration` | object  | Optional proxy settings. Off by default — the Actor works without a proxy.                       |

#### Example input

```json
{
    "startUrls": [{ "url": "https://www.autodoc.de/autoteile/batterie-10142/vw/touran/touran-1t1-1t2/17119-1-9-tdi" }],
    "maxItems": 50,
    "includeOeNumbers": false
}
```

### 📊 Output

You can download the dataset in various formats such as **JSON, HTML, CSV, or Excel**. Each part is one record.

#### Sample output (listing level)

```json
{
    "url": "https://www.autodoc.de/ridex/15784138",
    "articleId": "15784138",
    "title": "RIDEX 1S0009 Batterie 12V 75, 74Ah 680A B13 Bleiakkumulator",
    "brand": "RIDEX",
    "articleNumber": "1S0009",
    "category": "Batterie",
    "price": 72.49,
    "currency": "EUR",
    "listPrice": 199.5,
    "discountPct": 63,
    "ean": "4064138262651",
    "condition": "Brandneu",
    "inStock": true,
    "availability": "Auf Lager",
    "rating": 5,
    "reviewCount": 39,
    "image": "https://cdn.autodoc.de/thumb?id=15784138&m=0&n=0&lng=de",
    "imageCount": 6,
    "specs": {
        "Batterie": "Bleiakkumulator",
        "Batterie-Kapazität [Ah]": "75, 74",
        "Kälteprüfstrom EN [A]": "680",
        "Spannung [V]": "12",
        "Länge [mm]": "278",
        "Höhe mm": "190",
        "Gewicht [kg]": "18,7",
        "EAN-Nummer(n)": "4064138262651",
        "Zustand": "Brandneu"
    },
    "sourceUrl": "https://www.autodoc.de/autoteile/batterie-10142/vw/touran/touran-1t1-1t2/17119-1-9-tdi",
    "scrapedAt": "2026-07-31T07:30:01.098Z"
}
```

#### With OE / OEM numbers enabled

```json
{
    "articleNumber": "1S0009",
    "ean": "4064138262651",
    "oeNumbers": [
        { "number": "8K0915105F", "manufacturers": ["VW"] },
        { "number": "4F0 915 105 E", "manufacturers": ["VW"] },
        { "number": "5K0698151", "manufacturers": ["VW", "AUDI", "SKODA", "SEAT"] }
    ]
}
```

#### Data fields

| Field                      | Description                                                          |
| -------------------------- | -------------------------------------------------------------------- |
| `title`                    | Full product name as listed                                          |
| `brand`                    | Part manufacturer (RIDEX, BOSCH, FEBI BILSTEIN, …)                   |
| `articleNumber`            | Manufacturer's article / MPN                                         |
| `ean`                      | EAN barcode number                                                   |
| `price`, `currency`        | Current selling price and its currency                               |
| `listPrice`, `discountPct` | Recommended retail price and the discount off it                     |
| `inStock`, `availability`  | Stock flag plus the availability text shown on the site              |
| `condition`                | Product condition (new, remanufactured, …)                           |
| `rating`, `reviewCount`    | Customer rating out of 5 and number of reviews                       |
| `image`, `imageCount`      | Main product image and how many images the gallery holds             |
| `category`                 | Part category the item belongs to                                    |
| `specs`                    | Full technical specification table as key/value pairs                |
| `oeNumbers`                | OE/OEM cross-references (when *Include OE / OEM numbers* is enabled) |
| `url`, `sourceUrl`         | Direct product link and the listing page it came from                |

### 💰 How much does it cost to scrape AUTODOC?

This Actor uses **pay-per-result** pricing:

- **$2.00 per 1,000 parts** scraped at listing level — including price, EAN and the full specification table.
- **$5.00 per 1,000 parts** when *Include OE / OEM numbers* is enabled.

You only pay for the parts you actually scrape, and the **Max items** input keeps every run within budget. New Apify accounts include free monthly usage credits, so you can try it at no cost.

### 💡 Tips

- **The spec table is already there.** AUTODOC listing pages carry the complete technical data, so you rarely need the OE option unless you're building a cross-reference catalogue — leave it off and pay less.
- **Slice large categories.** A listing URL paginates up to roughly 700 products. For big tyre catalogues, add one URL per size (for example `autodoc.de/reifen/sommer/205-55-r16`) to go deeper.
- **Compare across countries.** Add the same category on `.de`, `.co.uk` and `.fr` to compare local pricing for the same article numbers.
- **Match on EAN.** Every record carries an EAN, which makes joining AUTODOC prices to your own catalogue or to other retailers straightforward.
- **Automate it.** Use Apify **Schedules** to track prices daily and pipe results to Google Sheets, a webhook, or your own API.

### ❓ FAQ

**Is scraping AUTODOC legal?**
This Actor collects only publicly available product data and stays within what the site allows crawlers to access. As with any web scraping, you are responsible for how you use the data and for complying with applicable laws and AUTODOC's terms.

**Which country sites are supported?**
All of them — paste a listing URL from `autodoc.de`, `autodoc.co.uk`, `auto-doc.fr`, `autodoc.it`, `autodoc.es`, `autodoc.pl`, `autodoc.nl`, `autodoc.se` and the other AUTODOC domains. Prices, currency and specification labels come back in that site's language.

**Can I scrape the whole AUTODOC catalogue?**
No — parts are only listed against a specific vehicle, so the catalogue is not enumerable in one run. Scrape the categories and vehicles you care about instead.

**Why are some fields empty?**
Field availability depends on what AUTODOC publishes for the part. Ratings, for instance, only appear once a product has reviews. Missing values are returned as `null`.

**Can I get a custom version?**
Yes — open an issue on the Actor's **Issues** tab with your requirements.

### 🆘 Support

Found a bug or need an extra field? Head to the **Issues** tab on the Actor's page and let us know. Feedback is welcome and helps improve the scraper.

Start extracting **European car-parts data** with the **AUTODOC Listings Scraper** today! 🔧

# Actor input Schema

## `startUrls` (type: `array`):

AUTODOC category or tyre listing pages to scrape. Open autodoc.de (or any AUTODOC country site), pick your car and a part category, then paste the resulting URL here.

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

Maximum number of products to scrape across all listing URLs.

## `includeOeNumbers` (type: `boolean`):

Also collect the original equipment (OE/OEM) cross-reference numbers for every product. Slower, because each product page has to be opened.

## `proxyConfiguration` (type: `object`):

Proxy settings used for the run.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.autodoc.de/autoteile/batterie-10142/vw/touran/touran-1t1-1t2/17119-1-9-tdi"
    }
  ],
  "maxItems": 50,
  "includeOeNumbers": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.autodoc.de/autoteile/batterie-10142/vw/touran/touran-1t1-1t2/17119-1-9-tdi"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/autodoc-listings-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 = { "startUrls": [{ "url": "https://www.autodoc.de/autoteile/batterie-10142/vw/touran/touran-1t1-1t2/17119-1-9-tdi" }] }

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/autodoc-listings-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 '{
  "startUrls": [
    {
      "url": "https://www.autodoc.de/autoteile/batterie-10142/vw/touran/touran-1t1-1t2/17119-1-9-tdi"
    }
  ]
}' |
apify call piotrv1001/autodoc-listings-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,piotrv1001/autodoc-listings-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/zOZbvkNRG3AeZPncD/builds/ojtsyHsWWotbOwkK4/openapi.json
