mobile.de logo

Marketplaces · Coming soon

mobile.de Scraper for German Car Listings

Turn a mobile.de car search into a clean table. Use simple filters or paste a search link from your browser. Run it again later to see only new cars.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

listingId452795179
urlhttps://suchen.mobile.de/auto-inserat/bmw-320d-limousine-m-sport-head…
titleBMW 320d Limousine M Sport Head-Up+AHK+Navi+Kamera

How it will work: 3 steps

  1. Follow us on ApifyThe tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: BMW in Make. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Scrape car listings from mobile.de, Germany's biggest car market. Search by make, model, price, first registration year and mileage, or paste mobile.de search links. Each car becomes one row with price, mileage, fuel, gearbox, power, location, dealer and photos.

Good for

  • Track prices of one model, for example all BMW 3 Series cars under €30,000.
  • Collect dealer stock with mileage, power and photos for a price study.
  • Get new listings for a search every hour or every day.

Not a good fit

  • Cars only. Motorbikes, vans and trucks are not supported.
  • No seller phone numbers or emails. Private sellers' names are never collected. Phone numbers and emails typed into descriptions and titles are removed (common German and international formats).
  • At most 10,000 listings per run. Listings without a price are skipped when a big search is split into price ranges.
  • Data is what mobile.de shows at the time of the run. Prices and stock change often.

Who uses it

Car dealers

Watch rival stock and prices for the models you sell.

Car buyers and flippers

Find fair prices for one model before you buy.

Market analysts

Study price, mileage and age for a car segment in Germany.

Price

Prices will be shown after release.

Questions

Can I scrape mobile.de without an account?

Yes. The tool reads public search results. You do not need a login, cookies or an API key.

Does it work for motorbikes or vans?

No. It works for cars only. Motorbikes, vans and trucks are not supported.

Will I get the seller's phone number?

No. Phone numbers and emails are not collected. For private sellers you get only the city and zip code.

Why did my run return 0 cars?

mobile.de had no cars for your filters, or nothing new appeared. The run summary tells you which.

Why do I get 0 rows?

mobile.de has no cars for your filters, or, with onlyNew, nothing new appeared. The summary says which. The run still succeeds. A source error is never shown as 0 rows; it fails the run.

How fresh is the data?

Each row is read live at the time shown in fetchedAt.

Details

Step by step on Apify
  1. Open the Input tab.
  2. Keep the prefill: Make BMW, Model 3er, Maximum listings 10.
  3. Click Start.
  4. Open the Output tab and look at the Car listings table.
Use cases
TaskInputYou getKey fieldsNext step
Price study for a modelmake, model, yearFrom, mileageMaxcar listingprice, year, mileageKm, powerKwexport CSV / Excel
Watch new cars for a searchsearchUrls or filters + onlyNew, schedulenew car listinglistingId, url, price, onlineSincewebhook, Make, Zapier
Dealer stock listsellerType dealer, makecar listingdealerName, sellerId, location, imagesGoogle Sheets, API
Full car detailsany search + includeDetailscar listing with detailsdescription, features, attributes, imagesdatabase, AI agent
Tips for better results
  • Set your filters on mobile.de first, then paste the search link. You keep every filter.
  • A run stops at 10,000 cars. Split very big searches by model or price.
  • Use only-new mode with a daily schedule to get fresh cars only.
Limits and good to know
  • Cars only. Motorbikes, vans and trucks are not supported
  • Up to 10,000 listings and 20 search links per run
  • A run reads at most 40 result pages that save nothing (plus one more page for every two saved listings), or 10 after a switch to the backup connection. This keeps monitoring runs with no news short
  • 10,000 listings took 176 seconds in our test. The default 300-second timeout is enough for most runs. With includeDetails, raise the timeout for big runs
  • mobile.de shows at most 2,000 results per search. Bigger searches are split into price ranges; listings without a price are skipped then
  • If you set a maximum cost per run, the run stops before it, keeps the saved rows and ends with PARTIAL / CHARGE_LIMIT
  • If the run reaches its timeout, saved rows stay and the summary says PARTIAL / TIME_LIMIT
  • If mobile.de fails after some rows, the rows stay, the summary says PARTIAL and the run is marked failed, so you can see it

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "listingId": "452795179",
  "url": "https://suchen.mobile.de/auto-inserat/bmw-320d-limousine-m-sport-head-up-ahk-navi-kamera-forchheim/452795179.html",
  "title": "BMW 320d Limousine M Sport Head-Up+AHK+Navi+Kamera",
  "make": "BMW",
  "model": "320",
  "category": "Saloon",
  "price": 38474,
  "currency": "EUR",
  "priceNet": 32331.09,
  "priceRating": "GOOD_PRICE",
  "firstRegistration": "2025-06",
  "year": 2025,
  "mileageKm": 10635,
  "fuel": "Diesel",
  "gearbox": "Automatic",
  "powerKw": 140,
  "powerHp": 190,
  "sellerType": "dealer",
  "dealerName": "Autohaus Wormser GmbH Forchheim",
  "location": { "countryCode": "DE", "zip": "91301", "city": "Forchheim", "street": null },
  "onlineSince": "2026-04-11T06:04",
  "images": ["https://img.classistatic.de/api/v1/mo-prod/images/73/7354600d-5620-4994-93b6-84d54d6c2608?rule=mo-1024"],
  "imageCount": 34,
  "description": null,
  "source": "mobile.de",
  "fetchedAt": "2026-10-15T10:26:57.791Z"
}
Data fields (40)
FieldTypeMeaning
listingIdstringmobile.de listing id (number in the listing link).
urlstringPublic listing page on suchen.mobile.de.
titlestringListing title as shown on mobile.de, e.g. "BMW 320d Touring M Sport".
makestringMake, e.g. "BMW".
modelstringModel, e.g. "320".
subTitlestringShort extra text written by the seller (equipment highlights); contacts removed.
categorystringBody type, e.g. "Estate Car", "Saloon", "SUV / Off-road Vehicle / Pickup Truck".
pricenumberAsking price (gross, EUR cents kept when the dealer shows them); null when the listing shows no price (never 0 for a missing price).
currencystringPrice currency, usually EUR; null without a price.
priceNetnumberNet price without VAT when a dealer shows it.
priceNegotiablebooleantrue when the seller marked the price as negotiable; null when mobile.de does not say.
priceRatingstringmobile.de price rating, e.g. "GOOD_PRICE", "REASONABLE_PRICE", "HIGH_PRICE"; null without a rating.
firstRegistrationstringFirst registration as YYYY-MM (or YYYY); null for new cars without registration.
yearintegerYear of first registration.
mileageKmintegerMileage in km.
fuelstringFuel type, e.g. "Diesel", "Petrol", "Electric", "Hybrid (petrol/electric)".
gearboxstringTransmission, e.g. "Automatic", "Manual gearbox".
powerKwintegerEngine power in kW.
powerHpintegerEngine power in hp (PS).
engineCcintegerEngine displacement in ccm.
colorstringExterior colour.
doorsstringNumber of doors as mobile.de shows it, e.g. "4/5".
seatsintegerNumber of seats.
sellerTypestring"dealer" or "private" seller.
sellerIdstringmobile.de dealer id (dealers only).
dealerNamestringDealer company name; always null for private sellers.
dealerRatingnumberDealer average rating (1-5) on mobile.de; dealers only.
dealerReviewCountintegerNumber of dealer reviews on mobile.de; dealers only.
locationobjectWhere the car is offered.
kbaHsnstringGerman KBA manufacturer code (HSN) when listed.
kbaTsnstringGerman KBA type code (TSN) when listed.
onlineSincestringWhen the listing went online, local German time, YYYY-MM-DDTHH:MM.
imagesarrayPhoto links at 1024 px. Search pages give the main photo; includeDetails gives all photos.
imageCountintegerNumber of photos in the listing.
vehicleConditionstring"used" or "new" (only with includeDetails).
descriptionstringSeller description as plain text, phone numbers and emails removed (only with includeDetails).
featuresarrayEquipment list, e.g. "Navigation system", "Parking sensors" (only with includeDetails).
attributesobjectAll technical data from the listing page as label -> value, e.g. "Emission class", "Number of previous owners", "HU" (only with includeDetails).
searchUrlstringSearch this listing was found by.
sourcestringAlways "mobile.de".
Input settings (15)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Makemakestring"BMW"
Modelmodelstring"3er"
Price from (EUR)priceMininteger
Price to (EUR)priceMaxinteger
First registration from (year)yearFrominteger
First registration to (year)yearTointeger
Maximum mileage (km)mileageMaxinteger
Conditionconditionstring"any"
SellersellerTypestring"any"
Search links (optional)searchUrlsarray
Sort ordersortstring"auto"
Maximum listingsmaxItemsinteger10
Include listing detailsincludeDetailsbooleanfalse
Only new listingsonlyNewbooleanfalse
Monitoring name (optional)stateKeystring

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure