mobile.de Listings Scraper
Pricing
from $0.70 / 1,000 results
mobile.de Listings Scraper
Scrape used-car and vehicle listings from mobile.de — Germany's largest automotive marketplace (~1.9 M active listings). Returns structured JSON with price, specs, features, contact, and images via the internal BFF JSON endpoint. No auth required.
Pricing
from $0.70 / 1,000 results
Rating
0.0
(0)
Developer
Farhan Febrian Nauval
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
17 days ago
Last modified
Categories
Share
Extract car and vehicle listings from mobile.de — Germany's largest automotive marketplace with around 1.9 million active listings.
Why use this actor
- No account or login required — search and collect listings without signing up.
- Search by any keyword — find by make, model, trim, or any free-text term (e.g. "volkswagen golf", "bmw 3 series").
- Filter by price, mileage, and registration year — narrow results before they hit your dataset.
- Optional deep detail per listing — toggle one field to also collect full equipment lists, descriptions, and finance information.
- Stable structured JSON output — every record has the same fields, ready to load into a spreadsheet, database, or pipeline.
- Multiple queries in one run — supply a list of search terms and get all results in a single dataset.
How it works
- You provide one or more search queries (e.g.
["volkswagen golf", "bmw 320d"]) and optional filters such as max price or mileage. - The actor pages through search results and collects up to your chosen limit per query.
- If Fetch per-listing detail is enabled, each listing is enriched with its full equipment list, HTML description, and finance plans.
- Results stream into your Apify dataset as structured JSON records — no browser, no account, and no API key needed on your end.
How it works under the hood (WAF & endpoint)
- WAF: mobile.de's HTML pages (
www.mobile.de,m.mobile.de) are behind Akamai Bot Manager (serverAkamaiGHost;_abck/bm_szcookies; 403 "Zugriff verweigert"). The actor does not touch those HTML pages. - Data source: the site's own consumer BFF JSON API at
https://www.mobile.de/consumer/api/search/srp(search) and.../search/vip(detail). This BFF is not Akamai-walled and needs no cookie warmup. - The one gate is an API-contract header —
x-mobile-client: de.mobile.consumer-webapp. Without it every call returns400 {"errors":[{"key":"400","args":["Missing or invalid client header"]}]}. - TLS profile:
curl_cffichrome124. The BFF is not JA3-sensitive (chrome124/chrome131/safari17_0/edge101 all pass) — the header, not the fingerprint, is what unlocks it. - Pagination: the SRP endpoint consumes a classic
suchen.mobile.de/fahrzeuge/search.html?...URL (built from your filters) and returnssearchResults.{numResultsTotal, page, numPages, hasNextPage, items}. mobile.de caps deep pagination at ~50 pages (~1300 listings) per search. - Proxy: works from any residential IP (DE not required). Datacenter may work for small runs; residential recommended at scale.
- Last verified: 2026-07-10.
Note on API drift (fixed 2026-07-10): the previous
www.mobile.de/api/s/endpoint broke — it now hard-requires thex-mobile-clientheader and is only a capped 20-item quick-search preview with no working pagination. The actor was migrated to the paginated SRP/VIP BFF endpoints above.
Input
{"searchQueries": ["volkswagen golf"],"categoryId": "Car","maxPrice": 15000,"minPrice": 2000,"maxMileage": 150000,"minFirstRegistrationDate": "2019-01","maxFirstRegistrationDate": "2023-12","sortBy": "price_asc","maxListingsPerQuery": 200,"fetchDetail": false,"concurrency": 3,"proxyConfiguration": { "useApifyProxy": true }}
| Field | Type | Description |
|---|---|---|
searchQueries | string[] | One or more search terms. Each runs as a separate search. Example: ["volkswagen golf", "bmw 3 series"]. |
categoryId | string | Vehicle category: Car, Truck, Motorcycle, Van, Camper, Trailer, or empty for all. Default: Car. |
maxPrice | integer | Maximum price in EUR. 0 means no limit. |
minPrice | integer | Minimum price in EUR. 0 means no limit. |
maxMileage | integer | Maximum odometer reading in km. 0 means no limit. |
minFirstRegistrationDate | string | Earliest first registration date, YYYY-MM format (e.g. 2019-01). Leave empty for no lower limit. |
maxFirstRegistrationDate | string | Latest first registration date, YYYY-MM format (e.g. 2023-12). Leave empty for no upper limit. |
sortBy | string | Sort order: relevance (default), price_asc, price_desc, mileage_asc, age_asc. |
maxListingsPerQuery | integer | Maximum listings to collect per search query. 0 fetches all pages. Default: 200. |
fetchDetail | boolean | Fetch full detail for each listing (equipment list, description, finance). Doubles request count. Default: true. |
concurrency | integer | Number of parallel requests (1–10). Default: 3. |
proxyConfiguration | object | Apify proxy settings. |
Output
Each record includes envelope fields _input (the search query), _source (S1-search or S1-detail), and _scrapedAt (UTC timestamp), plus the raw listing data from mobile.de.
Search record (fetchDetail: false)
{"_input": "volkswagen golf","_source": "S1-search","_scrapedAt": "2026-07-10T12:13:20Z","id": 455043408,"url": "https://suchen.mobile.de/fahrzeuge/details.html?id=455043408&...","type": "listing","make": "Volkswagen","model": "Golf","title": "Volkswagen Golf VII Variant 1.2 TSI Trendline","shortTitle": "Volkswagen Golf","subTitle": "VII Variant 1.2 TSI Trendline","price": { "gross": "7.950 €", "grossAmount": 7950, "grossCurrency": "EUR" },"attr": {"cn": "DE","z": "51107","loc": "Köln","fr": "03/2016","pw": "63 kW (86 PS)","ft": "Benzin","ml": "136.110 km","cc": "1.197 cm³","tr": "Schaltgetriebe","ecol": "Grau","door": "4/5","c": "EstateCar"},"relativeUrl": "/fahrzeuge/details.html?id=455043408&...","contactInfo": { "typeLocalized": "Händler", "name": "…", "location": "51107 Köln", "rating": { "score": 4.5, "count": 9 } },"kba": { "hsn": "0603", "tsn": "ADJ" },"numImages": 6}
Detail record (fetchDetail: true)
All search fields above, merged with the VIP (ad) object, which adds:
{"_source": "S1-detail","attributes": [{ "label": "Kilometerstand", "value": "136.110 km" },{ "label": "Erstzulassung", "value": "03/2016" },"... 30+ more"],"features": ["ABS", "Apple CarPlay", "Sitzheizung", "Klimaautomatik", "... 50 more"],"htmlDescription": "Fahrzeug aus erster Hand ...","financePlan": null,"mediaGallery": { "…": "…" },"vehicleCondition": "…"}
| Field | Type | Description |
|---|---|---|
_input | string | The search query that produced this record. |
_source | string | S1-search (search result only) or S1-detail (enriched with full detail). |
_scrapedAt | string | UTC timestamp when this record was collected. |
id | integer | Unique listing ID on mobile.de. |
url | string | Absolute link to the listing page (built from relativeUrl). |
make | string | Vehicle make, e.g. "Volkswagen". |
model | string | Vehicle model, e.g. "Golf". |
title / shortTitle / subTitle | string | Listing title variants. |
price | object | Price with gross (display), grossAmount (integer), grossCurrency. |
attr | object | Core attributes: location (loc, z, cn), first registration (fr, MM/YYYY), power (pw), fuel (ft), mileage (ml), engine size (cc), transmission (tr), color (ecol), body type (c). |
relativeUrl | string | Listing path on suchen.mobile.de (raw upstream field). |
contactInfo | object | Seller info: type, name, location, rating. |
kba | object | German type-approval numbers (hsn, tsn). |
numImages | integer | Number of photos attached to the listing. |
attributes | array | Full labelled specification list (detail only). Each item has label / value. |
features | array | Equipment and feature list, e.g. ["ABS", "Apple CarPlay", "Sitzheizung"] (detail only). |
htmlDescription | string | Seller's full listing description as HTML (detail only). |
financePlan | object/null | Finance offer details if available (detail only). |
_error | string | Present only on error records. Describes what went wrong (e.g. search_http_400). |
Other actors in this collection
| Actor | What it collects |
|---|---|
| Immobiliare Listings | Italian real estate listings |
| Idealista Listings | Spanish real estate listings |
| Leboncoin Listings | French classifieds |
| Avito Listings | Russian classifieds |
| MercadoLibre Listings | Latin American marketplace |
| Eventbrite Events | Event listings |
| Kickstarter Projects | Crowdfunding projects |