Autohero Cars Scraper — All Europe
Pricing
from $2.50 / 1,000 results
Autohero Cars Scraper — All Europe
Scrape used-car listings from Autohero across all 10 EU storefronts. Get structured rows: make, model, trim, price, mileage, power, fuel, transmission, emissions, accidents, service history, dealer location, and image — straight from Autohero's own catalog API.
Pricing
from $2.50 / 1,000 results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
15
Total users
14
Monthly active users
20 days ago
Last modified
Categories
Share
Scrape used-car listings from Autohero (AUTO1 Group's B2C marketplace) across all 10 European storefronts — make, model, trim, price, monthly finance, mileage, power, fuel, transmission, drivetrain, emissions, accident & damage counts, service-book status, previous owners, dealer branch location, image, and the direct car URL. One flat row per car, straight from Autohero's own catalog API.

Why this actor
Autohero sells inspected used cars online in 10 European markets — Germany, Austria, Spain, France, Belgium (FR + NL), Italy, Netherlands, Poland, and Sweden — a combined live inventory of ~23,000 cars. This actor pulls them all as clean structured rows:
- All 10 storefronts from one actor — pick the locales you want; each is an independent country catalog with prices in the local currency (EUR / SEK / PLN).
- Autohero's own catalog API — no HTML scraping, no anti-bot, no fingerprinting. We call the same endpoint the Autohero website uses, so the data arrives pre-structured.
- ~40 fields per car in one pass — the search response carries everything, so there's no slow per-car detail fetch.
- Condition signals competitors miss — accident count, damage count, previous-owner count, service-book status, last-service date. Autohero inspects every car and exposes this; we surface it.
- Decoded, not coded — fuel type, transmission, and emission class come back as integer codes from the API; we translate them to readable labels (Petrol / Diesel / Electric / Hybrid, Manual / Automatic / Dual-clutch, EURO 5 / 6 / 6d-TEMP) while keeping the raw code too.
- Mixed input — scrape a full locale catalog, or paste direct car URLs to grab specific vehicles.
Use cases
- Used-car price intelligence — track asking prices by make/model/year/mileage across 10 markets; spot cross-border arbitrage (a model cheaper in PL than DE).
- Dealer & remarketing analytics — monitor Autohero's inventory mix, ageing, and pricing as a market signal.
- Automotive market research — fuel-mix shift (EV/hybrid share), emission-class distribution, average mileage by segment.
- Lead & inventory feeds — pipe structured car rows into your own marketplace, comparison site, or valuation model.
- Condition-aware sourcing — filter the dataset for low-accident, full-service-history cars.
Input
| Field | Type | Required | Notes |
|---|---|---|---|
locales | string[] | no | Storefronts to scrape in full. Any of de, at, es, fr, fr-be, nl-be, it, nl, pl, se. Defaults to ["de"] (largest catalog, ~7,400 cars). |
startUrls | string[] | no | Optional direct car URLs (https://www.autohero.com/de/{brand-model}/id/{uuid}/). Each scrapes one car. Any /{locale}/... URL also adds its storefront to the locale set. |
maxItems | integer | no | Max car rows per locale. 3 locales × maxItems: 500 → up to 1,500 rows. Each row is one paid dataset item. Default 1000. Free-tier users are capped at 100 total. |
pageLimit | integer | no | Cars per API request (1–100). Default 100. |
maxConcurrency | integer | no | Parallel API calls. No anti-bot, so 4–8 is comfortable. Default 6. |
maxRequestRetries | integer | no | Per-request retry budget on transient errors. Default 5. |
proxy | object | no | Apify Residential (any country) recommended. Direct + datacenter also work. Override the country if a locale returns empty. |
Example input
{"locales": ["de", "fr", "it"],"maxItems": 500,"pageLimit": 100,"maxConcurrency": 6,"proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
How it works
- Resolve the plan — your
locales(+ any locales implied by pasted URLs) become catalog jobs; direct car URLs become single-car lookups. - Page 0 per locale — a single paginated request to Autohero's structured catalog feed (scoped by country) returns the first 100 cars and the
totalcount. - Parallel pagination — remaining offsets are fetched with a sliding window (
limit+offset), capped by yourmaxItems. - Map + dedupe + emit — each ad is mapped to a flat row, deduped globally by
vehicleId, and pushed to the dataset. Direct car URLs are fetched byid.
Output schema
Every row has rowType: "car". ~40 fields per car. Real sample (Sweden storefront):
{"rowType": "car","vehicleId": "a1b354eb-ddd9-4602-b621-f870d459c792","stockNumber": "GW78790","retailAdId": "d5bf29eb-7cdf-4053-9011-6e77e9998f6b","locale": "se","countryCode": "SE","detailUrl": "https://www.autohero.com/se/subaru-forester/id/a1b354eb-…/","title": "Subaru Forester 2.0 e-Boxer","make": "Subaru","model": "Forester","trim": "2.0 e-Boxer","builtYear": 2023,"firstRegistrationYear": 2024,"firstRegistration": "20240108T000000.000Z","mileageKm": 26300,"price": { "amount": 380000, "currency": "SEK" }, // offer price"dealerSalesPrice": { "amount": null, "currency": null }, // when present"monthlyPayment": { "amount": 4042, "currency": "SEK", "financingMonths": 36 },"fuelType": "Petrol", "fuelTypeCode": 1039,"transmission": "Automatic", "transmissionCode": 1139,"driveTrain": "all-wheel-drive","powerKw": 110, "powerHp": 150,"engineCcm": 1995,"acceleration0to100": 11.8,"isPluginHybrid": false,"fuelConsumption": { "city": 7.4, "highway": 6.4, "combined": 8.1 },"co2Value": 185,"emissionClass": "EURO 6", "emissionClassCode": 3532,"emissionSticker": null,"vatType": "VAT deductible","previousOwners": 1,"accidents": 0,"damages": 2,"hasServiceBook": false,"lastServiceOn": "20260327","dealer": { "branchId": 0, "name": "...", "city": "...", "zipcode": "...", "street": "..." },"mainImageUrl": "https://img-eu-c1.autohero.com/img/…/640x480-….jpg","firstPublishedAt": "…", "publishedAt": "…","retailAdState": "imported-to-retail","isComingSoon": false,"scrapedAt": "2026-05-31T…Z"}
Key output fields
| Field | Meaning |
|---|---|
vehicleId | Autohero's stable car UUID — the dedupe key. |
stockNumber | Human-readable stock code (e.g. GW78790). |
price / dealerSalesPrice / monthlyPayment | Offer price, dealer sales price (when shown), and financing instalment — all in the locale's currency. |
mileageKm, powerKw / powerHp, engineCcm | Odometer + power (kW and computed hp) + displacement. |
fuelType / transmission / emissionClass | Decoded labels; raw codes kept in *Code fields. |
accidents / damages / previousOwners / hasServiceBook | Condition & history signals from Autohero's inspection. |
dealer | Branch handling the car — name, city, zip, street. |
detailUrl / mainImageUrl | Canonical public car page + lead image. |
FAQ
Which markets are covered?
All 10 Autohero storefronts: Germany (de), Austria (at), Spain (es), France (fr), Belgium French (fr-be), Belgium Dutch (nl-be), Italy (it), Netherlands (nl), Poland (pl), Sweden (se). Prices come back in each market's currency.
How many cars are there? ~23,000 across all locales at the time of writing (DE ~7,400; IT ~3,500; FR ~3,400; ES ~2,500; BE ~1,900; AT ~950; NL ~670; PL ~670; SE ~500). Inventory changes daily.
Why is maxItems per locale, not per run?
So multi-country runs are predictable: ["de","fr","it"] with maxItems: 500 gives up to 500 from each (1,500 total), not 500 split arbitrarily.
Why are some fields null?
Autohero doesn't publish every field for every car — dealerSalesPrice, emissionSticker, previousOwners, and a few specs are populated for most but not all listings. We never synthesize; absent data is null. The raw fuelTypeCode / transmissionCode / emissionClassCode are always present even when a new code hasn't been added to the decode map yet.
Can I scrape one specific car?
Yes — paste its URL (https://www.autohero.com/de/{brand-model}/id/{uuid}/) into startUrls. It's fetched by id and emitted as one row.
What does each dataset-item charge cover?
One car row with all ~40 fields. maxItems is per locale, so a maxItems: 100 run with 3 locales = up to 300 charges. The Apify Store pricing event is apify-default-dataset-item.
Support
- Bugs / feature requests — open an issue on the GitHub repo.
- Custom exports / extra fields / filters (make, price band, year) — drop a note via the Apify Store contact form.
- Other actors — see my Apify Store profile for the rest of the catalog.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Autohero, AUTO1 Group SE, or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.
The scraper extracts only publicly visible car listings served by Autohero's own public storefront API — no login, no CAPTCHA solving, no access to AUTO1's dealer-only B2B platform. It rate-limits via a concurrency cap (default 6) to avoid burdening Autohero's infrastructure.
Users are responsible for:
- Complying with Autohero's Terms of Service
- Following GDPR and your jurisdiction's data-protection laws when storing or processing scraped listings
- Not republishing scraped data in a way that competes commercially with Autohero
SEO Keywords
autohero scraper, scrape autohero, autohero.com scraper, autohero api, auto1 scraper, used car scraper europe, used car listings api, european car marketplace scraper, car price data, used car price scraper, germany used cars scraper, autohero germany, car inventory api, vehicle data extraction, car mileage data, ev hybrid market share, emission class car data, dealer inventory scraper, automotive market research, car valuation data, apify autohero, used car arbitrage, multi-country car scraper