AutoScout24 APIautoscout24.ch ↗
Search, filter, and retrieve Swiss vehicle listings from AutoScout24.ch. Access prices in CHF, equipment, dealer details, and 400+ makes via 4 endpoints.
What is the AutoScout24 API?
The AutoScout24.ch API provides access to Swiss vehicle listings through 4 endpoints: search listings with filters, retrieve full vehicle details, fetch dealer profiles, and list all available makes. The search_listings endpoint returns prices in CHF, mileage, registration year, and seller location for each result, while get_listing exposes equipment lists, engine data, dimensions, warranty, and financing details for individual vehicles.
curl -X GET 'https://api.parse.bot/scraper/9d02be0c-1bfc-476d-b0e0-2fda08a12e35/search_listings?make=bmw&sort=price&page_size=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Searches vehicle listings on AutoScout24.ch and returns one page of listing summaries (vehicle, price in CHF, mileage, registration, power, seller name/location, image URLs) together with the site's total result count and page count. Filters are forwarded to the site: make/model slug keys (make_key from list_makes; model requires make), numeric ranges for price (CHF), mileage (km) and first-registration year, comma-separated code lists for fuel type, body type, transmission group, condition, drive type and body color, a vehicle category (default car), and a seller_id to list one dealer's inventory. Sort is by relevance unless sort/order are given. Pagination: page is 0-based (default 0) and page_size defaults to the site's 20 (max 100 accepted by this API); has_more is true while further pages exist. Unknown filter codes or makes yield an empty result (total_results 0), which is a valid response. Free-text search and location/radius filters are not supported by the site's page and are not offered.
| Param | Type | Description |
|---|---|---|
| make | string | Make slug key as emitted by list_makes.items[*].make_key (lowercase, e.g. mercedes-benz). |
| page | integer | 0-based page index. |
| sort | string | Sort field. |
| model | string | Model slug key (lowercase, e.g. x1); only valid together with make. |
| order | string | Sort direction; when omitted, asc for price/mileage and desc otherwise. |
| year_to | integer | Latest first-registration year. |
| price_to | integer | Maximum price in CHF. |
| page_size | integer | Results per page, 1-100; omitted = site default of 20. |
| seller_id | integer | Restrict results to one seller; seller_id from search_listings.items[*].seller_id. |
| year_from | integer | Earliest first-registration year (e.g. 2018). |
| body_types | string | Comma-separated body type codes (confirmed: suv for cars, alcove for campers). Splits on commas. |
| fuel_types | string | Comma-separated fuel type codes as they appear in results' fuel_type (confirmed: petrol, diesel; others such as mhev-petrol, phev-petrol appear in results). The scraper splits on commas — do NOT pass an array. |
| mileage_to | integer | Maximum mileage in km. |
| price_from | integer | Minimum price in CHF. |
| body_colors | string | Comma-separated exterior color codes (confirmed: red; results show e.g. black). Splits on commas. |
| drive_types | string | Comma-separated drive type codes (confirmed: all; site labels front, rear). Splits on commas. |
| mileage_from | integer | Minimum mileage in km. |
| condition_types | string | Comma-separated condition codes (confirmed: new, used; the site also labels demonstration, oldtimer, pre-registered). Splits on commas. |
| vehicle_category | string | Vehicle category to search. |
| transmission_types | string | Comma-separated transmission group codes (confirmed: automatic, manual). Splits on commas. |
{
"type": "object",
"fields": {
"page": "0-based index of the returned page",
"items": "array of listing summaries: listing_id (integer, use with get_listing), title, make, make_key, model, model_key (null when the site has no model), version, price_chf, previous_price_chf, condition, mileage_km, first_registration_date/year, fuel_type, transmission, transmission_group, horse_power, kilowatts, had_accident, consumption_combined (l/100km), teaser, created_date, seller_id (integer, use with get_seller), seller_name, seller_city, seller_zip_code, seller_type (professional|private), images (array of full image URLs), url",
"has_more": "true when a following page exists",
"page_size": "number of results per page applied by the site",
"total_pages": "site-reported number of pages at the current page_size",
"total_results": "site-reported total number of matching listings"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"url": "https://www.autoscout24.ch/de/d/20232624",
"make": "BMW",
"model": "X1",
"title": "BMW X1 sDrive 18d Sport Line",
"images": [
"https://images.autoscout24.ch/listing/624/20232624/613743948.jpeg"
],
"teaser": "Motor Getriebe ist in Ordnung",
"version": "X1 sDrive 18d Sport Line",
"make_key": "bmw",
"condition": "used",
"fuel_type": "diesel",
"kilowatts": 105,
"model_key": "x1",
"price_chf": 3700,
"seller_id": 1788343,
"listing_id": 20232624,
"mileage_km": 295000,
"horse_power": 143,
"seller_city": "Hinwil",
"seller_name": "Doors Automobile GmbH",
"seller_type": "professional",
"created_date": "2026-02-23T12:38:02.395Z",
"had_accident": false,
"transmission": "manual",
"seller_zip_code": "8340",
"previous_price_chf": null,
"transmission_group": "manual",
"consumption_combined": 4.9,
"first_registration_date": "2012-09-01",
"first_registration_year": 2012
}
],
"has_more": true,
"page_size": 5,
"total_pages": 299,
"total_results": 1494
},
"status": "success"
}
}About the AutoScout24 API
Search and Filter Swiss Vehicle Listings
The search_listings endpoint accepts filters including make, model, year_to, price_to, sort, order, and page_size (1–100 results per page). Make slugs come from list_makes, which returns about 400 entries with each make's numeric make_id, lowercase make_key, and display name. Search results include listing_id, title, make, model, price_chf, mileage, registration data, power, seller name, seller location, and image URLs. The total_results and total_pages fields reflect the site's own count at the applied page_size, and has_more signals whether a next page exists.
Full Listing Details
get_listing takes a listing_id from search results and returns the complete record: body type, drive type, doors, seats, color, free-text description, engine and emission data, electric range and battery info, dimensions in mm, weight, warranty object (duration in months, mileage cap, start date, type), and a financing object with provider name and URL when available. Equipment is split into standard and optional arrays. The seller field embeds the full dealer record including address, phone numbers, logo URL, Google rating, and ratings count.
Seller and Dealer Profiles
get_seller returns the full business profile for a seller identified by seller_id from search or listing results. The response includes name, type (professional or private), address, phones (typed: business, fax, whats-app, mobile), website, logo and business image URLs, opening_hours per weekday, site features codes, and up to several recent google_reviews with author, date, rating, and text. Private sellers who hide their address return null for that field.
Make Catalog
list_makes requires no inputs and returns the complete make catalog in a single call — roughly 400 entries ordered alphabetically. Each entry contains make_id (integer), make_key (the slug to pass to search_listings), and name. This endpoint is the canonical way to enumerate valid make values before constructing filtered searches.
The AutoScout24 API is a managed, monitored endpoint for autoscout24.ch — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when autoscout24.ch changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official autoscout24.ch API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a cross-border price comparison tool using
price_chfandmileagefrom Swiss AutoScout24 listings. - Monitor inventory for a specific make/model combination using
search_listingswithmakeandmodelfilters. - Aggregate dealer profiles including
google_rating,opening_hours, andphonesfor a dealer directory app. - Track warranty availability and financing options across listings using
get_listingwarranty and financing objects. - Populate a vehicle research tool with emission data, dimensions, and equipment lists from
get_listing. - Build a make/model selector UI using the
list_makescatalog of ~400 entries with slugs and display names. - Alert users when listings matching their criteria (price, year, make) appear using
search_listingspagination andtotal_results.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does AutoScout24 provide an official developer API?+
What does `get_listing` return beyond what `search_listings` shows?+
get_listing adds body type, drive type (all/front/rear), doors, seats, color, free-text description, emission data, electric range and battery fields, dimensions in mm, weight, a structured warranty object (months, mileage, start date, type), a financing object, and arrays of standard and optional equipment. Search results carry only summary fields: price, mileage, registration, power, seller name, location, and image URLs.How does pagination work in `search_listings`?+
page parameter. The response always includes total_pages and total_results as reported by the site at the applied page_size (default 20, maximum 100). The has_more boolean indicates whether incrementing page would yield more results. There is no cursor-based pagination; you step through pages by incrementing the integer index.