ActorStack.dev
E-commerceAutomationv0.1.4updated 1 October 2026

Autohero Scraper — Used Cars, Prices & VIN in 9 EU Countries

Nine markets, one schema, the currency on every row.

Extracts the used-car stock of Autohero, AUTO1 Group's online car retailer, in Germany, France, Spain, Italy, Belgium, Poland, Austria, the Netherlands and Sweden — about 21,500 cars on 1 October 2026 — in one schema with the currency stated on every row. Optional details add the VIN, the equipment list, every documented damage with its photo and the service history.

oswaldocarabano/autohero-scraper

input.json
{
  "countries": ["DE", "FR"],
  "fuelTypes": ["diesel"],
  "transmissions": ["automatic"],
  "maxPrice": 20000,
  "maxItems": 300,
  "includeDetails": true
}
Version
v0.1.4
Memory
512 MB
Browser
none
Proxy
None needed; falls back to another route on its own

Short answer

The Autohero Scraper extracts used-car listings from Autohero in nine EU countries — Germany, France, Spain, Italy, Belgium, Poland, Austria, the Netherlands and Sweden — in one schema, with the price in each market's own currency (EUR, PLN or SEK) and never converted. A car row has 130 columns; a median of 65 carry a value without details and 101 with them, measured on 1,642 cars from all nine countries and 759 cars with details on 1 October 2026. Details add the VIN (100% of the 759), the equipment list (99.7%) and documented damages with photos (96.8%). Autohero sells its own stock, so no private sellers were found. Pricing is $0.00125 per car and $0.0007 per detail page.

Key points

  • The Autohero Scraper covers all nine Autohero markets in one schema: Germany, France, Spain, Italy, Belgium, Poland, Austria, the Netherlands and Sweden.
  • Autohero listed about 21,500 cars on 1 October 2026, led by Germany with 8,837 and France with 3,850.
  • Prices arrive in each market's own currency — EUR, PLN in Poland, SEK in Sweden — with `currency` on every row, and the Autohero Scraper never converts them.
  • The monthly payment, its term and the down payment were filled on 100% of 1,642 measured cars; a previous price and price drop on 6.0% of them.
  • The detail page adds the VIN on 100% of 759 measured cars, a median of 51 equipment items and a median of 20 documented damages per car, each with its photo.
  • Every car measured was Autohero's own company stock, so the Autohero Scraper returns no private-seller personal data.
  • A thousand cars cost $1.25, or $1.95 with detail pages, and error rows are never charged.
On this page11 sections

What it does

Extracts the used-car stock of Autohero, AUTO1 Group's online car retailer, in Germany, France, Spain, Italy, Belgium, Poland, Austria, the Netherlands and Sweden — about 21,500 cars on 1 October 2026 — in one schema with the currency stated on every row. Optional details add the VIN, the equipment list, every documented damage with its photo and the service history.

output — one row
{
  "record_type": "car",
  "url": "https://www.autohero.com/fr/renault-captur/id/cd7669eb-2a0b-4aa9-bbd3-9702e689cc56/",
  "country": "FR",
  "title": "Renault Captur 1.5 dCi Energy Intens Eco2",
  "price": 10690,
  "currency": "EUR",
  "monthly_payment": 184,
  "monthly_payment_months": 72,
  "mileage": 114998,
  "first_registration_date": "2016-06-17",
  "fuel_type": "Diesel",
  "transmission": "Manual",
  "power_hp": 90,
  "co2_g_km": 95,
  "emission_standard": "EURO 6",
  "previous_owners": 1,
  "damages_count": 19,
  "branch_city": "Montataire",
  "details_included": true,
  "body_type": "SUV",
  "equipment_count": 71,
  "tire_season": "summer",
  "warranties": [{ "level": "PREMIUM", "months": 12, "price": 289, "currency": "EUR" }]
}

Why this one

Nine markets in one schema

Autohero runs a separate storefront per country. The Autohero Scraper reads all nine into one set of 130 columns, shares `maxItems` fairly between the countries chosen, and deduplicates Belgium's two language versions of one stock so each car appears once.

Country-specific columns measured where they live

Some columns exist only in some markets: `financed_price` is 100% in Spain and Poland and empty elsewhere, `emission_sticker` 96% in Germany and 100% in France and Spain. A blended fill rate would mislead, so the Autohero Scraper's README publishes them per market.

Damages with photos, as Autohero documents them

With details on, every damage Autohero's inspection recorded arrives with its photo — a median of 20 per car across 759 measured cars — together with the service history and the warranty offers with prices.

Filters verified against the live site

Autohero's make filter is case-sensitive and its model filter needs the exact model name. The Autohero Scraper normalises common make spellings (vw, mercedes) and reports a model name that matches nothing, such as Golf instead of Golf VII, rather than returning an empty run silently.

Use cases

  • Compare used-car prices across nine European countries in one schema.
  • Price used stock against every comparable Autohero car in a market.
  • Analyse car finance offers: monthly payment, term, down payment and financed price.
  • Value a specific car from its VIN, equipment, damages with photos and service history.
  • Track the used EV market through battery capacity, electric range and charging data.
  • Map Autohero's footprint: every branch and pickup centre with its stock count.

Input

Every field has a default, and the defaults are deliberately small so a first run is cheap enough to inspect before you commit to a sweep. This table mirrors the Actor's own input schema field for field.

FieldDefaultWhat it does
outputTypestringcarsWhat to extract`cars`, or `branches` for one row per branch or pickup centre.
countriesstring[]["DE"]CountriesAny of DE, AT, FR, IT, ES, PL, SE, NL, BE.
maxItemsinteger100Maximum resultsHard cap, shared fairly between the countries. Reserved before each request, so never overcharged.
sortBystringnewestSort bynewest, most_popular, price_asc, price_desc, mileage_asc or make_asc — the orders the site accepts.
makesstring[](all)MakesCase-sensitive on the site; common spellings are normalised (vw → Volkswagen).
modelstring—ModelExactly as Autohero writes it, e.g. `Golf VII`, `3er`, `ID.3`.
minPrice / maxPriceinteger—Price rangeIn each country's currency: EUR, or PLN in Poland and SEK in Sweden.
maxMileage, minYear, maxYear, minPowerKwinteger—Numeric filtersKilometres, first-registration year and minimum power.
fuelTypes / transmissionsstring[](all)Fuel and gearboxEmpty means every value.
includeDetailsbooleanfalseInclude full car detailsAdds 53 detail columns per car. Billed per car only when the details arrive.
includePrivateSellerContactbooleanfalseInclude private seller contact detailspersonal dataNo private sellers were found; the switch keeps it that way if that changes.
maxConcurrencyinteger3Parallel requestsA global pause kicks in if the site ever asks to slow down.
maxCacheAgeDaysinteger0Reuse details up to (days)0 always fetches fresh; cached rows say so in `from_cache` and `data_age_hours`.

Output and fill rates

A field being in the schema is not the same as it having a value. The percentages below were counted on real runs; the sample sizes are in Measurements. Anything not listed here is not promised.

FieldFilledMeaning
car_idstring100%Autohero's car identifier, stable across runs.
urlstring100%Public car page.
countrystring100%Market code: DE, AT, FR, IT, ES, PL, SE, NL or BE.
make / model / variantstring100%As Autohero names them.
pricenumber100%Asking price in the market's currency.
currencystring100%EUR, PLN or SEK. Never converted.
monthly_payment / monthly_payment_monthsnumber100%Advertised instalment and its term.
mileageinteger100%Kilometres.
first_registration_datedate100%First registration.
transmissionstring100%English label with the raw code alongside.
power_kw / power_hpnumber100%Engine power.
co2_g_kmnumber100%CO2 emissions.
fuel_typestring99.8%English label with the raw code alongside.
emission_standardstring97%Euro class.
previous_ownersinteger94.9%Number of previous owners.
accidents / damages_countinteger100%Accident flag and number of documented damages.
has_full_service_bookboolean100%Service book status.
branch_name / branch_citystring100%The Autohero branch holding the car.
previous_price / price_dropnumber6%Only on cars reduced since listing.
financed_pricenumbernot measuredMarket-specific: 100% in Spain and Poland, empty elsewhere. No blended rate is published because it would mislead.
vinstring100%Details only. n = 759 cars with details.
equipmentobject99.7%Details only. Grouped by category, median 51 items, in the country's language.
damagesobject[]96.8%Details only. Each documented damage with its photo; median 20 per car.
service_historyobject[]96.7%Details only. Median 3 records.
warrantiesobject[]100%Details only. Level, months and price of each warranty offer.
license_platestring45.7%Details only. 100% in Italy, Spain and Sweden; 52% in the Netherlands.
battery_capacity_kwhnumber11%Details only. Filled on 97% of the EVs and plug-ins in the sample.

Every key is always present. A field that exists but is empty comes back as explicit null, so a parser never has to guess.

Datasets

Different record types go to different datasets, so the main table never carries columns that are blank on most rows.

  • defaultOne row per car, or one row per branch when `outputType` is `branches`. One row type per run.billed
  • Error rowsOne row explaining a typo, an unmatched filter or a failure. Never charged.never billed

Pricing

Pay per delivered result. Charges are applied as each row is produced rather than in a lump at the end, so an aborted run bills only for what it actually gave you.

EventPriceNotes
apify-actor-startActor start$0.00001Once per run; the platform minimum.
carCar listing$0.00125One car row with about 77 search-level fields: price, currency, monthly payment, price drops, mileage, power, CO2, owners, damages and branch.
car-detailsCar detail page$0.0007Only with `includeDetails`, and only when the details arrive: VIN, equipment, damages with photos, service history, warranties.
branchBranch record$0.0022One branch or pickup centre with address, branch phone, opening hours and stock count.

Measurements

Each figure is shown with the method that produced it. A benchmark without a method is a marketing claim wearing a number's clothes.

Search-column fill rates

median 65 of 130 columns populated

n = 1,642 cars from all nine countries, the Actor's own runs on the Apify platform, 1 October 2026.

Detail-column fill rates

median 101 of 130 columns populated; VIN 100%

n = 759 cars with details, 1 October 2026.

Stock by market

about 21,500 cars

Germany 8,837 · France 3,850 · Spain 2,530 · Italy 2,392 · Belgium 1,459 · Poland 937 · Austria 770 · Sweden 397 · Netherlands 393, counted on 1 October 2026.

Private sellers

0%

360 detail pages from nine countries and 1,800 listings, 23 September 2026: every car was Autohero company stock.

Throughput

1,000 cars in 23 s; 500 cars with details in 57 s

Apify platform, 512 MB, 1 October 2026. All 207 branches in nine countries took about 2 minutes. Peak memory under 100 MB.

What it will not do

Stated plainly so you can judge fit before spending anything.

  • Only Autohero's own stock is covered — about 21,500 cars on 1 October 2026 — which is a retailer's inventory, not a whole national market.
  • Detail texts (body type, colour, equipment, damages) come in the country's own language; codes are mapped to English labels with the raw code alongside.
  • `previous_price` and `price_drop` exist only on cars reduced since listing: 6.0% of 1,642 measured.
  • A partial model name such as `Golf` matches nothing; the model must be written as Autohero writes it, e.g. `Golf VII`.
  • `maxItems` is capped at 25,000 per run.
  • The Autohero Scraper does not filter by robots.txt. On 10 October 2026 the file's catch-all group disallowed six account, inspection and checkout paths, none of which is the catalogue the Actor reads.

Privacy

  • Every car measured was sold by Autohero itself: the private-seller share was 0% across 360 detail pages from nine countries and 1,800 listings.
  • The only phone number delivered is a branch's company line, in branches mode.
  • VINs and licence plates belong to a company's stock vehicle published by that company. `license_plate` is filled on 45.7% of detail rows.
  • `includePrivateSellerContact` (off by default) changes nothing today; it exists so that private sellers' contact data stays out if the site ever lists any.
  • Removal requests: privacy@actorstack.dev

See also the data removal process.

Frequently asked questions

Does Autohero have a public API?
Autohero does not publish a public, documented API. The Autohero Scraper reads the same public catalogue the autohero.com website shows every visitor, with no login, and returns it as rows you can export to JSON, CSV or Excel or pull through the Apify API.
Why are some Autohero prices in PLN or SEK?
Autohero prices cars in Poland in złoty and in Sweden in kronor. Every row states its `currency`, and the Autohero Scraper never converts, so the numbers match what the site shows in each market.
Which countries does the Autohero Scraper cover?
All nine Autohero markets: Germany, Austria, France, Italy, Spain, Poland, Sweden, the Netherlands and Belgium. Belgium has two language versions over one stock, and each car is returned once.
What do Autohero detail pages add, and what do they cost?
One event per car at $0.0007: the VIN, the full equipment list, every documented damage with its photo, service history, dimensions, tyres, EV battery data, all photos and the warranty offers. Details are charged only when they actually arrive.
Can the Autohero Scraper track prices over time?
Yes. `car_id` is stable across runs, so a daily schedule gives a price and stock history per car, and `previous_price` with `price_drop` shows the reductions Autohero itself records.
Are there private sellers on Autohero?
No private sellers were found. Autohero sells its own inspected stock, and every car in 360 measured detail pages and 1,800 listings was company stock, so no private-seller contact data exists to return.

Guides for this Actor