mobile.de Listings Scraper avatar

mobile.de Listings Scraper

Pricing

from $0.70 / 1,000 results

Go to Apify Store
mobile.de Listings Scraper

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

Farhan Febrian Nauval

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

17 days ago

Last modified

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

  1. You provide one or more search queries (e.g. ["volkswagen golf", "bmw 320d"]) and optional filters such as max price or mileage.
  2. The actor pages through search results and collects up to your chosen limit per query.
  3. If Fetch per-listing detail is enabled, each listing is enriched with its full equipment list, HTML description, and finance plans.
  4. 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 (server AkamaiGHost; _abck/bm_sz cookies; 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 returns 400 {"errors":[{"key":"400","args":["Missing or invalid client header"]}]}.
  • TLS profile: curl_cffi chrome124. 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 returns searchResults.{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 the x-mobile-client header 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 }
}
FieldTypeDescription
searchQueriesstring[]One or more search terms. Each runs as a separate search. Example: ["volkswagen golf", "bmw 3 series"].
categoryIdstringVehicle category: Car, Truck, Motorcycle, Van, Camper, Trailer, or empty for all. Default: Car.
maxPriceintegerMaximum price in EUR. 0 means no limit.
minPriceintegerMinimum price in EUR. 0 means no limit.
maxMileageintegerMaximum odometer reading in km. 0 means no limit.
minFirstRegistrationDatestringEarliest first registration date, YYYY-MM format (e.g. 2019-01). Leave empty for no lower limit.
maxFirstRegistrationDatestringLatest first registration date, YYYY-MM format (e.g. 2023-12). Leave empty for no upper limit.
sortBystringSort order: relevance (default), price_asc, price_desc, mileage_asc, age_asc.
maxListingsPerQueryintegerMaximum listings to collect per search query. 0 fetches all pages. Default: 200.
fetchDetailbooleanFetch full detail for each listing (equipment list, description, finance). Doubles request count. Default: true.
concurrencyintegerNumber of parallel requests (1–10). Default: 3.
proxyConfigurationobjectApify 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": "…"
}
FieldTypeDescription
_inputstringThe search query that produced this record.
_sourcestringS1-search (search result only) or S1-detail (enriched with full detail).
_scrapedAtstringUTC timestamp when this record was collected.
idintegerUnique listing ID on mobile.de.
urlstringAbsolute link to the listing page (built from relativeUrl).
makestringVehicle make, e.g. "Volkswagen".
modelstringVehicle model, e.g. "Golf".
title / shortTitle / subTitlestringListing title variants.
priceobjectPrice with gross (display), grossAmount (integer), grossCurrency.
attrobjectCore 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).
relativeUrlstringListing path on suchen.mobile.de (raw upstream field).
contactInfoobjectSeller info: type, name, location, rating.
kbaobjectGerman type-approval numbers (hsn, tsn).
numImagesintegerNumber of photos attached to the listing.
attributesarrayFull labelled specification list (detail only). Each item has label / value.
featuresarrayEquipment and feature list, e.g. ["ABS", "Apple CarPlay", "Sitzheizung"] (detail only).
htmlDescriptionstringSeller's full listing description as HTML (detail only).
financePlanobject/nullFinance offer details if available (detail only).
_errorstringPresent only on error records. Describes what went wrong (e.g. search_http_400).

Other actors in this collection

ActorWhat it collects
Immobiliare ListingsItalian real estate listings
Idealista ListingsSpanish real estate listings
Leboncoin ListingsFrench classifieds
Avito ListingsRussian classifieds
MercadoLibre ListingsLatin American marketplace
Eventbrite EventsEvent listings
Kickstarter ProjectsCrowdfunding projects