Search vehicles
curl --request GET \
--url https://scrapebadger.com/v1/autoscout24/search \
--header 'X-API-Key: <api-key>'import requests
url = "https://scrapebadger.com/v1/autoscout24/search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/autoscout24/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/autoscout24/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/autoscout24/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/autoscout24/search")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/autoscout24/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"market": "<string>",
"source_url": "<string>",
"total_results": 123,
"total_pages": 123,
"page": 123,
"has_next_page": true,
"next_page": 123,
"results": [
{
"id": "<string>",
"position": 123,
"title": "<string>",
"url": "<string>",
"cross_reference_id": "<string>",
"images": [
"<string>"
],
"online_purchase_images": [
"<string>"
],
"price": 123,
"currency": "EUR",
"price_formatted": "<string>",
"price_evaluation": 123,
"price_evaluation_enabled": true,
"price_details": {},
"old_price_formatted": "<string>",
"is_super_deal": true,
"is_conditional_price": true,
"vat_label_required": true,
"make": "<string>",
"model": "<string>",
"model_id": 123,
"model_group": "<string>",
"variant": "<string>",
"motor_type": "<string>",
"version": "<string>",
"subtitle": "<string>",
"article_type": "<string>",
"offer_type": "<string>",
"fuel": "<string>",
"fuel_type": "<string>",
"transmission": "<string>",
"mileage_km": 123,
"first_registration": "<string>",
"registration_year": 123,
"registration_month": 123,
"power_kw": 123,
"power_hp": 123,
"displacement_cc": 123,
"is_damaged": true,
"available_now": true,
"available_at": "<string>",
"available_utc": 123,
"availability_in_days": 123,
"location": {},
"seller": {},
"rating": 123,
"rating_count": 123,
"ratings_enabled": true,
"leasing": {},
"seals": [
{}
],
"online_purchase": {},
"electric_vehicle_banner": {},
"is_deliverable": true,
"has_video": true,
"has_360_image": true,
"interest_level": "<string>",
"is_trending": true,
"ad_tier": "<string>",
"result_type": "<string>",
"result_section": "<string>",
"special_conditions": [
"<unknown>"
],
"vehicle_details": [
{}
],
"wltp_values": [
"<string>"
],
"vehicle": {}
}
],
"filters": {},
"applied_filters": {},
"latency_ms": 123,
"page_size": 20,
"pagination_cap": 200
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Search and reference
Search vehicles
Search current AutoScout24 vehicle listings with structured filters.
GET
/
v1
/
autoscout24
/
search
Search vehicles
curl --request GET \
--url https://scrapebadger.com/v1/autoscout24/search \
--header 'X-API-Key: <api-key>'import requests
url = "https://scrapebadger.com/v1/autoscout24/search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://scrapebadger.com/v1/autoscout24/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://scrapebadger.com/v1/autoscout24/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://scrapebadger.com/v1/autoscout24/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://scrapebadger.com/v1/autoscout24/search")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://scrapebadger.com/v1/autoscout24/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"market": "<string>",
"source_url": "<string>",
"total_results": 123,
"total_pages": 123,
"page": 123,
"has_next_page": true,
"next_page": 123,
"results": [
{
"id": "<string>",
"position": 123,
"title": "<string>",
"url": "<string>",
"cross_reference_id": "<string>",
"images": [
"<string>"
],
"online_purchase_images": [
"<string>"
],
"price": 123,
"currency": "EUR",
"price_formatted": "<string>",
"price_evaluation": 123,
"price_evaluation_enabled": true,
"price_details": {},
"old_price_formatted": "<string>",
"is_super_deal": true,
"is_conditional_price": true,
"vat_label_required": true,
"make": "<string>",
"model": "<string>",
"model_id": 123,
"model_group": "<string>",
"variant": "<string>",
"motor_type": "<string>",
"version": "<string>",
"subtitle": "<string>",
"article_type": "<string>",
"offer_type": "<string>",
"fuel": "<string>",
"fuel_type": "<string>",
"transmission": "<string>",
"mileage_km": 123,
"first_registration": "<string>",
"registration_year": 123,
"registration_month": 123,
"power_kw": 123,
"power_hp": 123,
"displacement_cc": 123,
"is_damaged": true,
"available_now": true,
"available_at": "<string>",
"available_utc": 123,
"availability_in_days": 123,
"location": {},
"seller": {},
"rating": 123,
"rating_count": 123,
"ratings_enabled": true,
"leasing": {},
"seals": [
{}
],
"online_purchase": {},
"electric_vehicle_banner": {},
"is_deliverable": true,
"has_video": true,
"has_360_image": true,
"interest_level": "<string>",
"is_trending": true,
"ad_tier": "<string>",
"result_type": "<string>",
"result_section": "<string>",
"special_conditions": [
"<unknown>"
],
"vehicle_details": [
{}
],
"wltp_values": [
"<string>"
],
"vehicle": {}
}
],
"filters": {},
"applied_filters": {},
"latency_ms": 123,
"page_size": 20,
"pagination_cap": 200
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Credits: 5 per successful request. Genuine empty searches and failures cost zero credits.
Use native make/model slugs, such as
volkswagen / golf, bmw, or mercedes-benz. A model requires a make. Unknown make/model pages return 404; they are not widened into an unrestricted search.
Price ranges are in EUR, mileage in kilometres, power in kW, and year ranges apply to first registration. Minimum values must not exceed maximum values. radius requires zip and is measured in kilometres. Unsupported enum values and malformed ranges return 422.
sort_by supports best_match, price_asc, price_desc, mileage_asc, mileage_desc, registration_asc, registration_desc, power_asc, power_desc and newest.
| Parameter | Meaning |
|---|---|
market | market |
make | Native make slug, e.g. volkswagen or bmw. |
model | Native model slug, e.g. golf. Requires make. |
price_min | price min |
price_max | price max |
mileage_min | Kilometres. |
mileage_max | mileage max |
year_min | year min |
year_max | year max |
power_min | Engine power in kW. |
power_max | power max |
fuel_type | fuel type |
transmission | transmission |
body_type | body type |
seller_type | seller type |
condition | condition |
zip | Postal code in the requested market. |
radius | Kilometres; requires zip. |
sort_by | sort by |
page | page |
Response fields
results[] contains listing IDs and URLs, title/images, price/currency/evaluation flags, make/model/variant/version, mileage, registration month/year, power, displacement, fuel, transmission, damaged state, availability, location and seller information. Public seller fields include company/contact name, profile and imprint links, phone numbers and rating/count where present. vehicle_details and wltp_values retain the labels shown on the card; vehicle retains additional native vehicle attributes.
Public optional fields also include leasing offers, delivery/video/360 indicators, original-price labels, seller-rating state, quality seals and online-purchase seller information. These fields reflect what the search card exposes and are absent when the source omits them.
filters contains current native options. applied_filters records the source’s applied query. source_url identifies the fetched search. total_results, total_pages, page, has_next_page, next_page and pagination_cap describe pagination.
Source ordering can place promoted listings ahead of the selected sort. Promoted placement and changing inventory can repeat IDs; use result_type, result_section, ad_tier and position to interpret source rank and deduplicate IDs when collecting pages.
Follow next_page; up to 200 pages are browsable per query. Narrow filters to cover deeper inventory. Full listing detail is not included.Authorizations
Query Parameters
Available options:
de, at, be, es, fr, it, lu, nl Native make slug, e.g. volkswagen or bmw.
Native model slug, e.g. golf. Requires make.
Required range:
x >= 0Required range:
x >= 0Kilometres.
Required range:
x >= 0Required range:
x >= 0Required range:
1900 <= x <= 2100Required range:
1900 <= x <= 2100Engine power in kW.
Required range:
x >= 0Required range:
x >= 0Available options:
petrol, diesel, electric, hybrid_petrol, hybrid_diesel, cng, hydrogen, lpg, ethanol, other Available options:
automatic, manual, semi_automatic Available options:
compact, convertible, coupe, suv, station_wagon, sedan, van, transporter, other Available options:
dealer, private Available options:
new, used, annual, classic, demo, day_registration Postal code in the requested market.
Maximum string length:
10Kilometres; requires zip.
Required range:
1 <= x <= 400Available options:
best_match, price_asc, price_desc, mileage_asc, mileage_desc, registration_asc, registration_desc, power_asc, power_desc, newest Required range:
1 <= x <= 200Response
Successful Response
Show child attributes
Show child attributes

