# AutoScout24 Listing Lookup — Car Data & Specs API (`accountable_eel/autoscout24-listing-lookup`) Actor

Look up any AutoScout24 car listing by URL: make, model, price, mileage, engine, fuel type, transmission, previous owners, and more. Reads the listing's own structured data directly - no bot-protection workaround needed. Charged only for listings that resolve - no charge on removed or invalid URLs.

- **URL**: https://apify.com/accountable\_eel/autoscout24-listing-lookup.md
- **Developed by:** [Adrian Voss](https://apify.com/accountable_eel) (community)
- **Categories:** E-commerce, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.40 / 1,000 successful lookups

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

## AutoScout24 Listing Lookup — Car Data & Specs API

Look up any [AutoScout24](https://www.autoscout24.de) car listing by URL and get
back full structured vehicle data — make, model, price, mileage, engine, fuel
type, transmission, previous owners, and more — pulled directly from the
listing's own schema.org JSON-LD. No API key, no anti-bot workaround needed: a
real AutoScout24 listing page serves this data in clean structured form on a
plain fetch.

### Features

- **Full listing snapshot.** Make, model, name, color, body type, production
  date, price, currency, and condition.
- **Technical specs.** Mileage (km), fuel type, engine power (hp), transmission,
  doors, seats, and number of previous owners.
- **Full URLs or bare slugs.** Pass a complete `autoscout24.de/angebote/...`
  listing URL, or a bare slug appended to that path.
- **Pay only for resolved listings.** Removed listings and invalid URLs are never
  charged — see [Pricing](#pricing).
- **Built for bulk.** Feed in many listing URLs at once; concurrency is
  configurable.

### How to use AutoScout24 Listing Lookup — Car Data & Specs API

1. **In the Apify Console.** Open the actor page and click **Start** — the `items` field is already pre-filled with a working example. Results land in the run's dataset as soon as each item is found.
2. **Via the API.** Call it directly with a POST request — no Console needed once you have an API token:
   ```bash
   curl "https://api.apify.com/v2/acts/accountable_eel~autoscout24-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
     -X POST \
     -H "Content-Type: application/json" \
     -d '{"items":["https://www.autoscout24.de/angebote/bmw-1er-d-klimaautomatik-navi-sport-pdc-2hd-ahk-diesel-blau-cat_ma13gr100037ge192va4086mt520tr5338-6abcd6fd-da11-489c-9969-aa6226df929a"]}'
   ```
3. **On a schedule.** Save this actor as an Apify **Task** with the input you want, then add a **Schedule** (hourly, daily, weekly) so it runs on its own — no server of your own required.

### Input

```json
{
  "items": ["https://www.autoscout24.de/angebote/bmw-1er-118i-advantage-benzin-blau-abc123"],
  "maxConcurrency": 5,
  "proxyConfiguration": { "useApifyProxy": true }
}
```

`items` is the list of AutoScout24 listing URLs (or bare slugs appended to
`/angebote/`) to look up. `maxConcurrency` controls parallel requests (default
5\); this target has no browser fallback, so keeping it conservative avoids
getting blocked. `proxyConfiguration` routes requests through Apify Proxy — not
required for this target, but available if you see rate limiting at volume.

### Output

One row per listing, for example:

```json
{
  "query": "https://www.autoscout24.de/angebote/bmw-1er-118i-advantage-benzin-blau-abc123",
  "found": true,
  "data": {
    "listingId": "abc123",
    "make": "BMW",
    "model": "1er",
    "name": "BMW 118i Advantage",
    "color": "Blau",
    "bodyType": "Kleinwagen",
    "productionDate": "2021-03",
    "mileageKm": 34500,
    "transmission": "Manual",
    "doors": 5,
    "seats": 5,
    "previousOwners": 1,
    "fuelType": "Benzin",
    "enginePowerHp": 136,
    "price": 21990,
    "currency": "EUR",
    "condition": "https://schema.org/UsedCondition",
    "image": ["https://prod.pictures.autoscout24.net/..."],
    "url": "https://www.autoscout24.de/angebote/bmw-1er-118i-advantage-benzin-blau-abc123"
  },
  "scrapedAt": "2026-08-20T12:00:00.000Z"
}
```

A removed listing, an invalid URL, or a 404 page returns `found: false` with no
`data` — and is never charged.

### Use cases

- Track price and mileage changes across a watchlist of car listings.
- Enrich a dealership or aggregator feed with structured specs from AutoScout24.
- Verify a listing is still live before referencing it elsewhere.
- Compare technical specs (fuel type, transmission, power) across multiple
  listings.
- Feed listing URLs from another source into a clean, structured extraction step.

### Pricing

$4 per 1,000 results, plus a $0.005 start fee. Misses (`found:false`) are never charged.

### Use it from Clay, n8n, Make, or an AI agent

This actor runs synchronously over plain HTTP — call it directly from a script, a workflow tool, or an AI agent, no Apify Console needed once you have an API token.

```bash
curl "https://api.apify.com/v2/acts/accountable_eel~autoscout24-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{"items":["https://www.autoscout24.de/angebote/bmw-1er-d-klimaautomatik-navi-sport-pdc-2hd-ahk-diesel-blau-cat_ma13gr100037ge192va4086mt520tr5338-6abcd6fd-da11-489c-9969-aa6226df929a"]}'
```

**n8n.** Add an HTTP Request node: Method `POST`, URL `https://api.apify.com/v2/acts/accountable_eel~autoscout24-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>`, Body Content Type `JSON`, JSON Body `{"items":["https://www.autoscout24.de/angebote/bmw-1er-d-klimaautomatik-navi-sport-pdc-2hd-ahk-diesel-blau-cat_ma13gr100037ge192va4086mt520tr5338-6abcd6fd-da11-489c-9969-aa6226df929a"]}` (swap in an expression from an earlier node for a real value).

**Clay.** Add an "HTTP API" column: Method `POST`, URL `https://api.apify.com/v2/acts/accountable_eel~autoscout24-listing-lookup/run-sync-get-dataset-items?token=<YOUR_TOKEN>`, Body `{"items":["{{value}}"]}`, mapping the row's value into the `items` array.

**MCP.** In Claude, Cursor, or any MCP client with the Apify MCP server, ask for "AutoScout24 Listing Lookup | Apify" — the agent will find and run this actor.

### FAQ

**What counts as "found"?** The listing page must contain a schema.org `Product`
JSON-LD block with an `offers.itemOffered` vehicle object. A 404, a removed
listing, or an unexpected page shape returns `found: false` and is never charged.

**Does this need a proxy or browser to get past bot protection?** No —
AutoScout24 listing pages serve their structured data on a plain fetch with no
bot protection encountered. Apify Proxy is available in the input but not
required for this target.

**Can I use search-result pages instead of listing URLs?** No — this actor
expects full listing URLs (`autoscout24.de/angebote/...`), not search or
category pages. Search-result bulk export is a different shape this actor
doesn't attempt.

**What language/region does the data come back in?** Requests use German
(`de-DE`) headers, matching the `.de` domain the actor targets — fields like
`bodyType` and `color` come back in German as published on the listing.

**How heavy are these requests?** A real listing page is roughly 584KB — notably
heavier than a JSON-API-only lookup, since it's a full rendered HTML page, but
that's the cost of getting the same structured data straight from the source.

**What happens to previous-owner or engine-power fields if AutoScout24 doesn't
publish them for a listing?** Any field not present in the listing's own JSON-LD
comes back as `null` rather than being omitted — the row shape stays consistent
across listings.

# Actor input Schema

## `items` (type: `array`):

One item per line — see the item shape and examples below. Only the items we actually find are charged — never per run, and never for a miss.

## `maxConcurrency` (type: `integer`):

Parallel requests. Keep conservative — this target has no browser fallback, so getting blocked costs more than slow-and-steady.

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

Apify Proxy config. Residential recommended for anti-bot-sensitive targets.

## Actor input object example

```json
{
  "items": [
    "https://www.autoscout24.de/angebote/bmw-1er-d-klimaautomatik-navi-sport-pdc-2hd-ahk-diesel-blau-cat_ma13gr100037ge192va4086mt520tr5338-6abcd6fd-da11-489c-9969-aa6226df929a"
  ],
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "items": [
        "https://www.autoscout24.de/angebote/bmw-1er-d-klimaautomatik-navi-sport-pdc-2hd-ahk-diesel-blau-cat_ma13gr100037ge192va4086mt520tr5338-6abcd6fd-da11-489c-9969-aa6226df929a"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("accountable_eel/autoscout24-listing-lookup").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 = { "items": ["https://www.autoscout24.de/angebote/bmw-1er-d-klimaautomatik-navi-sport-pdc-2hd-ahk-diesel-blau-cat_ma13gr100037ge192va4086mt520tr5338-6abcd6fd-da11-489c-9969-aa6226df929a"] }

# Run the Actor and wait for it to finish
run = client.actor("accountable_eel/autoscout24-listing-lookup").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 '{
  "items": [
    "https://www.autoscout24.de/angebote/bmw-1er-d-klimaautomatik-navi-sport-pdc-2hd-ahk-diesel-blau-cat_ma13gr100037ge192va4086mt520tr5338-6abcd6fd-da11-489c-9969-aa6226df929a"
  ]
}' |
apify call accountable_eel/autoscout24-listing-lookup --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,accountable_eel/autoscout24-listing-lookup"
        }
    }
}

```

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/ZpieyIl1lMBSoH9Lg/builds/08bOmRupG3iXPxbEh/openapi.json
