Search used cars in France by make, model, price, year and mileage.
Searches AutoScout24 France for cars like the site's own result list: make, model and version, price with AutoScout24's price rating, mileage, first registration, fuel, transmission, power, dealer or private seller, location and link. Filters by price, first-registration year, mileage and distance from a postcode. Paid placements are dropped by default.
- Site
- AutoScout24 France, France
- Version
- v2 of 2
- Runs, last 7 days
- No reports yet
- sha256
- 6b01aa3cfb39…
Run it with your agent
after installing WieldAsk in plain words. Your agent finds this recipe and calls it:
“Search used cars in France by make, model, price, year and mileage.”
Read-only: it changes nothing on the site. No login needed.
{ "tool": "run", "arguments": { "recipe_id": "autoscout24.fr/search-cars", "params": { "make": "volkswagen", "model": "golf", "price_to": 15000, "sort": "price", "year_from": 2018 } } }
Requests
sent from your browser, in order- 1GET/lst/{{params.make}}/{{params.model}}?atype&cy&damaged_listing&desc&fregfrom&kmto&page&pricefrom&priceto&sort&zip&zipr
- 2GET/lst/{{params.make}}?atype&cy&damaged_listing&desc&fregfrom&kmto&page&pricefrom&priceto&sort&zip&zipr
Parameters
from your agentReturns
to your agentWhere it can send
- www.autoscout24.fr
Anything else is blocked by the extension.
Reads from your session
Nothing. Your browser attaches the site's cookies by itself.
Used only in requests to the addresses on the left. Never sent to wield.run or your agent.
Checks
a run passes when- length(output.cars) > `5`
- output.total > `100`
- length(output.cars[?price_eur > `15000`]) == `0`
- output.cars[0].make == 'Volkswagen'
- starts_with(output.cars[0].url, 'https://www.autoscout24.fr/offres/')
Raw recipe
Served as canonical JSON from /api/v1/recipes/autoscout24.fr/search-cars, so its sha256 matches the ETag and the index.
curl -s https://wield.run/api/v1/recipes/autoscout24.fr/search-cars | shasum -a 256 # 6b01aa3cfb3935af718470f7c6345179a8e6fc2d8f468d53cf33d9cc37c6d20b
{ "description": "Searches AutoScout24 France for cars like the site's own result list: make, model and version, price with AutoScout24's price rating, mileage, first registration, fuel, transmission, power, dealer or private seller, location and link. Filters by price, first-registration year, mileage and distance from a postcode. Paid placements are dropped by default.", "effect": "read", "id": "autoscout24.fr/search-cars", "keywords": [ "autoscout24", "voiture d'occasion", "occasion", "acheter une voiture", "auto", "véhicule", "annonces auto", "used car", "car search", "buy a car", "france" ], "output": { "schema": { "properties": { "cars": { "items": { "properties": { "city": { "type": [ "string", "null" ] }, "condition": { "description": "U used, N new, J year-old, D demo", "type": [ "string", "null" ] }, "country": { "type": [ "string", "null" ] }, "first_registration": { "description": "YYYY-MM", "type": [ "string", "null" ] }, "fuel": { "description": "As the site labels it, in French", "type": [ "string", "null" ] }, "id": { "type": "string" }, "make": { "type": "string" }, "mileage_km": { "type": [ "integer", "null" ] }, "model": { "type": "string" }, "power": { "description": "e.g. '85 kW (116 Ch)'", "type": [ "string", "null" ] }, "price_eur": { "type": [ "number", "null" ] }, "price_rating": { "description": "AutoScout24 price rating, e.g. toolow-price, top-price, good-price, fair-price, somewhat-expensive, expensive", "type": [ "string", "null" ] }, "seller_name": { "type": [ "string", "null" ] }, "seller_type": { "enum": [ "dealer", "private" ] }, "sponsored": { "type": "boolean" }, "title": { "type": "string" }, "transmission": { "description": "As the site labels it, e.g. Diesel, Essence, Boîte manuelle, Boîte automatique", "type": [ "string", "null" ] }, "url": { "format": "uri", "type": "string" }, "version": { "type": [ "string", "null" ] }, "zip": { "type": [ "string", "null" ] } }, "type": "object" }, "type": "array" }, "currency": { "const": "EUR" }, "page": { "type": "integer" }, "pages": { "type": [ "integer", "null" ] }, "total": { "type": [ "integer", "null" ] } }, "required": [ "total", "cars" ], "type": "object" }, "value": "let $s = steps.search_model || steps.search_make, $ads = params.include_ads in {total: $s.total, pages: $s.pages, page: params.page, currency: 'EUR', cars: $s.listings[?$ads || !sponsored]}" }, "params": { "additionalProperties": false, "properties": { "include_ads": { "default": false, "type": "boolean" }, "make": { "description": "Make as AutoScout24 URL slug, lowercase: 'volkswagen' (not 'vw'), 'bmw', 'mercedes-benz', 'audi', 'skoda', 'tesla'", "pattern": "^[a-z0-9-]+$", "type": "string" }, "max_km": { "description": "Maximum mileage", "minimum": 1, "type": "integer" }, "model": { "description": "Model slug, e.g. 'golf', '3er', 'a4', 'model-3'. Omit for all models", "pattern": "^[a-z0-9-]+$", "type": "string" }, "page": { "default": 1, "description": "20 per page", "maximum": 20, "minimum": 1, "type": "integer" }, "price_from": { "minimum": 0, "type": "integer" }, "price_to": { "description": "EUR", "minimum": 1, "type": "integer" }, "radius_km": { "description": "Distance from zip", "enum": [ 10, 20, 50, 100, 200, 500 ], "type": "integer" }, "sort": { "default": "standard", "description": "standard = relevance; price = cheapest first; age = newest listing first; mileage = lowest first", "enum": [ "standard", "price", "age", "mileage" ], "type": "string" }, "year_from": { "description": "First registration from this year", "maximum": 2030, "minimum": 1950, "type": "integer" }, "zip": { "description": "French postcode (code postal) for a distance search", "pattern": "^[0-9]{5}$", "type": "string" } }, "required": [ "make" ], "type": "object" }, "provenance": { "method": "browser-inspect", "notes": "A clone of autoscout24.de/search-cars v1 (same AutoScout24 platform): www.autoscout24.fr/lst/<make>/<model> is the same Next.js page with script#__NEXT_DATA__ props.pageProps (numberOfResults, numberOfPages, 20 listings), the same query parameters with cy=F, and listing links under /offres/. Labels (fuel, transmission, power) come in French (Diesel, Essence, Boîte manuelle, Boîte automatique). Make/model must be the canonical slugs (aliases redirect). Non-'Organic' searchResultType entries are treated as paid placements. robots.txt disallows only /lst? and /lst/? for crawlers, not make/model paths. Answers servers. v2 (2026-11-07 22:38): tos.notes only; requests and output unchanged.", "recorded_at": "2026-11-07T22:09:00+01:00", "recorded_by": "C4" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "FR", "id": "autoscout24.fr", "language": "fr", "name": "AutoScout24 France", "origin": "https://www.autoscout24.fr", "origins": [ "https://www.autoscout24.fr" ] }, "steps": [ { "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "embedded_json": { "selector": "script#__NEXT_DATA__", "vars": { "listings": "props.pageProps.listings[].{id: id, title: join(' ', [vehicle.make || '', vehicle.model || '', vehicle.modelVersionInput || ''][?@ != '']), make: vehicle.make, model: vehicle.model, version: vehicle.modelVersionInput || `null`, price_eur: price.priceRaw || `null`, price_rating: tracking.priceLabel && trim(tracking.priceLabel) != 'unknown' && trim(tracking.priceLabel) || `null`, mileage_km: tracking.mileage && to_number(tracking.mileage) || `null`, first_registration: tracking.firstRegistration && join('-', reverse(split(tracking.firstRegistration, '-'))) || `null`, fuel: vehicle.fuel || `null`, transmission: vehicle.transmission || `null`, power: (vehicleDetails[?iconName=='speedometer'].data | [0]) || `null`, condition: vehicle.offerType, seller_type: seller.type == 'Dealer' && 'dealer' || 'private', seller_name: seller.companyName || `null`, zip: location.zip || `null`, city: location.city || `null`, country: location.countryCode || `null`, sponsored: searchResultType != 'Organic', url: join('', ['https://www.autoscout24.fr', url])}", "pages": "props.pageProps.numberOfPages", "total": "props.pageProps.numberOfResults" } } }, "id": "search_model", "parse": "html", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "atype": "C", "cy": "F", "damaged_listing": "exclude", "desc": "0", "fregfrom": "{{params.year_from}}", "kmto": "{{params.max_km}}", "page": "{{params.page}}", "pricefrom": "{{params.price_from}}", "priceto": "{{params.price_to}}", "sort": "{{params.sort}}", "zip": "{{params.zip}}", "zipr": "{{params.radius_km}}" }, "url": "/lst/{{params.make}}/{{params.model}}" }, "when": "params.model" }, { "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "embedded_json": { "selector": "script#__NEXT_DATA__", "vars": { "listings": "props.pageProps.listings[].{id: id, title: join(' ', [vehicle.make || '', vehicle.model || '', vehicle.modelVersionInput || ''][?@ != '']), make: vehicle.make, model: vehicle.model, version: vehicle.modelVersionInput || `null`, price_eur: price.priceRaw || `null`, price_rating: tracking.priceLabel && trim(tracking.priceLabel) != 'unknown' && trim(tracking.priceLabel) || `null`, mileage_km: tracking.mileage && to_number(tracking.mileage) || `null`, first_registration: tracking.firstRegistration && join('-', reverse(split(tracking.firstRegistration, '-'))) || `null`, fuel: vehicle.fuel || `null`, transmission: vehicle.transmission || `null`, power: (vehicleDetails[?iconName=='speedometer'].data | [0]) || `null`, condition: vehicle.offerType, seller_type: seller.type == 'Dealer' && 'dealer' || 'private', seller_name: seller.companyName || `null`, zip: location.zip || `null`, city: location.city || `null`, country: location.countryCode || `null`, sponsored: searchResultType != 'Organic', url: join('', ['https://www.autoscout24.fr', url])}", "pages": "props.pageProps.numberOfPages", "total": "props.pageProps.numberOfResults" } } }, "id": "search_make", "parse": "html", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "atype": "C", "cy": "F", "damaged_listing": "exclude", "desc": "0", "fregfrom": "{{params.year_from}}", "kmto": "{{params.max_km}}", "page": "{{params.page}}", "pricefrom": "{{params.price_from}}", "priceto": "{{params.price_to}}", "sort": "{{params.sort}}", "zip": "{{params.zip}}", "zipr": "{{params.radius_km}}" }, "url": "/lst/{{params.make}}" }, "when": "!(params.model)" } ], "task": "Search used cars in France by make, model, price, year and mileage", "tos": { "notes": "AutoScout24.fr's robots.txt disallows AI training crawlers (ClaudeBot). AutoScout24's terms prohibit automated data collection. One user-initiated search page at a time from the user's own browser. Contacting dealers stays on autoscout24.fr.", "reviewed": false }, "verify": { "checks": [ "length(output.cars) > `5`", "output.total > `100`", "length(output.cars[?price_eur > `15000`]) == `0`", "output.cars[0].make == 'Volkswagen'", "starts_with(output.cars[0].url, 'https://www.autoscout24.fr/offres/')" ], "example_params": { "make": "volkswagen", "model": "golf", "price_to": 15000, "sort": "price", "year_from": 2018 }, "max_ms": 5000 }, "version": 2 }