mobile.de Scraper — Cars, Prices & Dealers avatar

mobile.de Scraper — Cars, Prices & Dealers

Pricing

from $0.90 / 1,000 listing scrapeds

Go to Apify Store
mobile.de Scraper — Cars, Prices & Dealers

mobile.de Scraper — Cars, Prices & Dealers

Scrape mobile.de car listings from any search URL or make, model and filters: price (gross/net), price rating, mileage, first registration, power, fuel, dealer, images, optional full specs.

Pricing

from $0.90 / 1,000 listing scrapeds

Rating

0.0

(0)

Developer

Trevor Ortega

Trevor Ortega

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

mobile.de Scraper

Scrape car listings from mobile.de, Germany's largest car marketplace. For each car you get the title, make, model and variant, gross and net price with VAT, mobile.de's price rating ("Sehr guter Preis", "Guter Preis", ...), first registration, mileage, power in kW and PS, fuel, gearbox, body type, colour, number of previous owners, postcode and town, the seller type, and the dealer's name, address and rating. You also get every image URL and the listing URL. Start from any mobile.de search URL, or type a make, a model and filters. Turn on Include listing details to also get the description, the full equipment list, the technical data table, the accident-free status and more dealer information.

The actor reads the same JSON that mobile.de's own apps load, not the HTML page. That keeps the output complete and stable and makes runs fast: up to 100 listings come back per request, about 3,000 listings a minute. You pay only for the listings you get.

What data does mobile.de Scraper extract?

FieldDescription
id, urlmobile.de listing id and the listing URL
title, make, model, variante.g. "Audi A6 3.0 TDI quattro S-Line", Audi, A6, 3.0 TDI quattro S-Line
price, currencyAsking price (gross, EUR)
priceNet, vatRate, vatDeductibleNet price and VAT rate when the dealer shows VAT ("MwSt. ausweisbar")
priceTypefixed or negotiable (VB)
priceRating, priceRatingLabelmobile.de's market price rating: VERY_GOOD_PRICE / "Sehr guter Preis", GOOD_PRICE, REASONABLE_PRICE, INCREASED_PRICE, HIGH_PRICE (null when mobile.de shows none)
firstRegistration, firstRegistrationYear"09/2023", 2023
mileageKm, powerKw, powerHp120765, 210, 286
fuel, gearbox, bodyType, colour, doors, seats, engineCapacityCcmAs shown on mobile.de (German labels, e.g. Diesel, Automatik, Kombi, Schwarz)
previousOwnersNumber of previous owners (Fahrzeughalter)
condition, damaged, readyToDriveused / new, unrepaired damage flag, roadworthy flag
accidentFree, damageConditiontrue when mobile.de says "Unfallfrei" (with details)
generalInspectionUntil, emissionClass, fuelConsumption, co2Emissions, co2ClassHU date, Euro class and the consumption / CO2 data when the listing has it
country, postcode, city, latitude, longitudeWhere the car is. Private sellers' coordinates are rounded to about 1 km
sellerTypedealer, private or company (company cars)
dealerName, dealerAddress, dealerRating, dealerRatingCount, dealerReviewsUrlDealer business details and its mobile.de rating
images, imageCountAll image URLs (1024 px)
hsnTsnGerman KBA key numbers (HSN/TSN) when the dealer provides them
partnerSiteSet when the ad comes from a partner site (e.g. kleinanzeigen, automobile.it)
createdAt, modifiedAt, renewedAtWhen the ad was created, last changed and last renewed (ISO, UTC)
makeId, modelId, sellerId, searchUrl, scrapedAtmobile.de ids, the search the listing came from, and the time of the run

With Include listing details you also get:

FieldDescription
descriptionFull description text (line breaks kept)
featuresComplete equipment list (["ABS", "Apple CarPlay", "Sitzheizung", ...])
technicalDataThe whole technical data table keyed by mobile.de's attribute names (mileage, firstRegistration, numberOfPreviousOwners, hu, climatisation, envkv.co2Emissions, envkv.consumptionDetails.fuel, interior, ...)
accidentFree, damageConditione.g. true, "Gebrauchtfahrzeug, Unfallfrei"
trimLine, interior, manufacturerColour, constructionYear, emissionsSticker, highlightsTrim line, upholstery, the manufacturer's colour name, construction year, emissions sticker
dealerLanguages, dealerOnMobileSince, dealerRecommendationRate, dealerContactPerson, dealerContactRoleDealer languages, on mobile.de since, recommendation rate, and the contact person the dealer publishes on the listing

How to scrape mobile.de car listings

  1. Open suchen.mobile.de, set any filters and sort order, and copy the address from your browser. Or skip this step and fill in Make, Model and the filters in the input.
  2. Paste the URL into Start URLs. You can add several searches, and single listing URLs too.
  3. Set Max items and start the run. Download the results as JSON, CSV or Excel, or read them through the API.

The Make / Model search covers the filters most buyers use: price, first registration year, mileage, power (kW), fuel, gearbox, body type, new or used, dealer or private seller, and a German postcode or town with a radius. Any other mobile.de filter works through a search URL. That includes equipment, colour, price rating, number of owners, VAT, online since and EV range.

Input example

{
"make": "BMW",
"model": "3er",
"yearFrom": 2019,
"priceTo": 30000,
"mileageTo": 100000,
"fuelTypes": ["diesel"],
"gearbox": ["automatic"],
"location": "80331",
"radiusKm": 100,
"sellerType": "dealer",
"sort": "newest",
"maxItems": 500,
"includeDetails": false
}

Or with search URLs:

{
"startUrls": [
{ "url": "https://suchen.mobile.de/fahrzeuge/search.html?isSearchRequest=true&ms=1900%3B10%3B%3B&vc=Car&dam=false&fr=2020%3A&sb=p&od=up" },
{ "url": "https://suchen.mobile.de/fahrzeuge/details.html?id=422503914" }
],
"maxItems": 1000
}

Model names follow mobile.de: 3er is the whole 3 Series (320, 330e, M3, ...), 320 is only the 320, and Golf includes the Golf Variant and Sportsvan. If a model name is not found, the run stops and lists the names mobile.de knows for that make.

Output example

{
"id": "49895674843104",
"url": "https://suchen.mobile.de/auto-inserat/audi-a6-3-0-tdi-quattro-s-line-pano-hud-st-hz-leder-3-wertingen/49895674843104.html",
"title": "Audi A6 3.0 TDI quattro S-Line PANO*HuD*St.Hz*LEDER*3",
"make": "Audi",
"model": "A6",
"variant": "3.0 TDI quattro S-Line PANO*HuD*St.Hz*LEDER*3",
"price": 35850,
"priceNet": 30126.05,
"currency": "EUR",
"vatRate": 19.0,
"vatDeductible": true,
"priceType": "fixed",
"priceRating": "GOOD_PRICE",
"priceRatingLabel": "Guter Preis",
"firstRegistration": "09/2023",
"firstRegistrationYear": 2023,
"mileageKm": 120765,
"powerKw": 210,
"powerHp": 286,
"fuel": "Diesel",
"gearbox": "Automatik",
"bodyType": "Kombi",
"colour": "Schwarz",
"doors": "4/5",
"seats": 5,
"engineCapacityCcm": 2967,
"previousOwners": 1,
"condition": "used",
"damaged": false,
"accidentFree": true,
"readyToDrive": true,
"country": "DE",
"postcode": "86637",
"city": "Wertingen",
"latitude": 48.561834,
"longitude": 10.688548,
"sellerType": "dealer",
"sellerId": "459539",
"dealerName": "Autohaus Ohnheiser GmbH & Co. KG VW Agentur",
"dealerAddress": "Industriestrasse 4, 86637 Wertingen",
"dealerRating": 4.9,
"dealerRatingCount": 43,
"dealerReviewsUrl": "https://www.mobile.de/bewertungen/OHNHEISER",
"images": [
"https://img.classistatic.de/api/v1/mo-prod/images/73/736d0978-8f28-4ef1-8d18-2faac9c315f2?rule=mo-1024w",
"https://img.classistatic.de/api/v1/mo-prod/images/d0/d0da01f0-b662-42dd-b5f7-156a4b98a53d?rule=mo-1024w"
],
"imageCount": 17,
"createdAt": "2026-10-09T23:32:02Z",
"renewedAt": "2026-10-09T23:32:02Z",
"damageCondition": "Gebrauchtfahrzeug, Unfallfrei",
"features": ["ABS", "Abstandstempomat", "Abstandswarner", "Alarmanlage", "Allradantrieb", "Ambiente-Beleuchtung", "Android Auto", "Apple CarPlay"],
"technicalData": {
"mileage": "120.765 km",
"cubicCapacity": "2.967 cm³",
"power": "210 kW (286 PS)",
"fuel": "Diesel",
"numberOfPreviousOwners": "1",
"hu": "Neu",
"climatisation": "4-Zonen-Klimaautomatik",
"interior": "Vollleder, Schwarz"
},
"interior": "Vollleder, Schwarz",
"manufacturerColour": "Brillantschwarz",
"constructionYear": 2023,
"dealerLanguages": "Deutsch, English",
"dealerOnMobileSince": "27.08.2002",
"detailsFetched": true,
"scrapedAt": "2026-10-09T21:40:00Z"
}

(Shortened: real items carry every field from the table above. Fields that need details are absent or null when Include listing details is off.)

mobile.de serves at most 2,000 listings per search. When a search has more and Max items asks for more, the actor splits it into price bands of up to 2,000 listings each, using a few tiny count requests, and collects them all. In a test, BMW 3 Series from 2025 returned all 3,045 of 3,045 listings in 41 seconds. Results then come band by band, cheapest band first, and each band keeps your sort order. Very broad searches (all 1.5 million cars) need many bands; it is faster to split them yourself by make, model or region. Turn off Split searches over 2,000 results to stop at the first 2,000.

Does it work without login? Does it collect phone numbers?

Yes, no login and no mobile.de account are needed. The actor reads only what anyone sees on mobile.de without logging in. It does not export phone numbers, messenger links or anything else hidden behind a click. It never exports private sellers' names or street addresses: for private sellers you get the postcode, the town and coordinates rounded to about 1 km. Dealers are businesses, so their name, address, rating and the contact person they publish on the listing are included.

Do I need a proxy?

Yes. mobile.de is protected by Akamai, which turns away most datacenter IP addresses. The default proxy, Apify Residential proxy in Germany, worked on 100% of requests in our tests. Residential traffic is billed by Apify per GB, and this actor uses very little of it: about 1 MB per 1,000 listings (one request per 100 listings), or about 10 MB per 1,000 listings with details. A denied request is retried automatically on a fresh IP and browser fingerprint.

Monitor changes on a schedule

Turn on Only new or changed items to watch a search. Each run remembers what earlier runs returned and outputs only new listings and listings whose price changed. Unchanged listings are dropped before any detail request, so they are not charged. Max items then sets how many listings are checked per run; keep the "Newest first" sort, e.g. 100-200 for a make and model in your region. Save the input as a task in Apify and add a Schedule (for example every hour or daily). Give each watch its own Monitoring key if several schedules use the same search. Every output item gets changeType (new or changed), and changed items get previousValues with the old price, e.g. {"price": 24990}.

Pricing

Pay per result: you are charged for each listing saved to the dataset, plus a small extra per listing when Include listing details is on. See the Pricing tab for the current prices. There is no start fee. Platform usage is small: at the default 512 MB memory our test runs used about $0.01-0.02 per 1,000 listings without details (proxy traffic, compute and dataset writes) and about $0.10 per 1,000 with details.

Integrations and API

Run it from the Apify API or a schedule, and send the results to Google Sheets, Slack, Make, Zapier, n8n or a webhook. Use maxItems to cap the cost of each run. Typical uses are dealer stock and price monitoring, used-car market research, price comparisons by make, model and year, and lead lists of dealers.

This actor collects publicly visible listing data that anyone can see on mobile.de without logging in. It does not log in, it does not collect phone numbers or anything else behind a click, and it does not export private sellers' names or addresses. Dealer contact persons are personal data under the GDPR. You are responsible for having a legitimate purpose and a legal basis for processing them, and for respecting mobile.de's terms of use. If in doubt, ask a lawyer.

Postcode and town coordinates for the Postcode or town filter come from GeoNames (CC BY 4.0).

Support

Found a bug or need a field that is not there? Open an issue on the Issues tab with the input you used and the run link.