Mobile.de Car Listings Scraper
Pricing
from $0.80 / 1,000 listings
Mobile.de Car Listings Scraper
Scrapes car listings from mobile.de search and listing links: price, price rating, mileage, registration, power, fuel, seller and dealer rating, images and features.
Pricing
from $0.80 / 1,000 listings
Rating
0.0
(0)
Developer
Mina
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does Mobile.de Car Listings Scraper do?
Mobile.de Car Listings Scraper turns any mobile.de search into a clean table of vehicle listings: price, net price and VAT, mobile.de's price rating ("Good price", "Fair price"…), first registration, mileage, power in kW and hp, fuel, transmission, body type, colour, the seller (dealer, business or private), the dealer's name and star rating, city and postcode, and every photo. Turn on one switch to add each car's equipment list, the seller's description and all specs from its listing page.
Set your filters on mobile.de as usual, copy the results link and paste it in. Every filter in the link is used: make, model, price, registration year, mileage, fuel, location radius, sorting and the rest. Try it with the prefilled search: click Start and the first 20 Porsche Caymans arrive in a few seconds. Because it runs on the Apify platform, you also get API access, scheduled runs, integrations (Google Sheets, Make, Zapier, webhooks), run monitoring and automatic proxy retries.
Why scrape mobile.de?
- Car dealers and traders: watch competitors' stock and prices, and spot underpriced cars the moment they are listed.
- Price analysis and valuation: collect asking prices with mileage, age and power to model what a car is worth, alongside mobile.de's own price rating.
- Import and export: find VAT-deductible cars (with the net price) from dealers across Europe.
- Market research: measure supply by make, model, fuel or region, and track how it changes with scheduled runs.
- Lead lists: list the dealers selling a brand in an area, with their ratings.
How to scrape mobile.de listings
- Open suchen.mobile.de and search with your filters (for example BMW 3 Series, from 2020, up to 50,000 km, within 100 km of Berlin).
- Copy the address of the results page. It looks like
https://suchen.mobile.de/fahrzeuge/search.html?…. - Paste it into mobile.de links. Add more searches or single listing links, one per line.
- Set Max listings per search, and turn on Add features, description and full specs if you need them.
- Click Start and download the results when the run finishes.
Input
Everything is set on the Input tab. In JSON, the input looks like this:
{"startUrls": ["https://suchen.mobile.de/fahrzeuge/search.html?isSearchRequest=true&ms=20100%3B19%3B%3B&fr=2018%3A&s=Car&vc=Car","https://suchen.mobile.de/fahrzeuge/details.html?id=455559893"],"maxListings": 100,"includeDetails": false}
| Field | What it does |
|---|---|
startUrls | Search results links (…/search.html?…) and listing links (…/details.html?id=… or …/auto-inserat/…/123456789.html), or bare listing ids. Links without https:// and API objects such as {"url": "…"} work too. |
maxListings | Stops after this many listings for each search link. Default: 100. Set 0 for everything mobile.de serves, which is at most 2,000 per search. |
includeDetails | Opens each listing found by a search to add features, description and specs. Default: off. Listing links always include them. |
Labels in your language. Fuel, transmission, body type, colour and the
price rating come in English by default. Add &lang=de (or fr, it, es,
pl, nl, ro, ru, tr, cs…) to a link to get them in that language.
Output
Each vehicle becomes one row. Here is a real one, with the photo list shortened:
{"id": "44693283251936","url": "https://suchen.mobile.de/auto-inserat/porsche-718-cayman-tallinn/44693283251936.html","title": "Porsche 718 Cayman","make": "Porsche","model": "Cayman","version": "718 Cayman","price": 59000,"currency": "EUR","netPrice": 47580.65,"vatRate": 24,"vatDeductible": true,"priceType": "FIXED","priceRating": "GOOD_PRICE","priceRatingLabel": "Good price","firstRegistration": "2018-07","mileageKm": 44600,"fuel": "Petrol","powerKw": 220,"powerHp": 299,"transmission": "Automatic","bodyType": "Sports Car/Coupe","colour": "Yellow","doors": "2/3","seats": 2,"engineCcm": 1988,"emissionClass": null,"previousOwners": null,"inspectionDue": "2028-07","sellerType": "dealer","dealerName": "Auto 100 Premium OÜ. Porsche, Bentley and Lamborghini official dealer and service partner","dealerRating": 4.7,"dealerRatingCount": 49,"city": "Tallinn","postcode": "10614","country": "EE","imageCount": 19,"images": ["https://img.classistatic.de/api/v1/mo-prod/images/ca/ca64b5f2-a669-4a7e-bf2b-ffd0f0ae947d?rule=mo-1024.jpg","https://img.classistatic.de/api/v1/mo-prod/images/49/49dea599-40fb-444c-9e97-5e924b5a5315?rule=mo-1024.jpg"],"createdAt": "2026-09-10T13:54:52+00:00","modifiedAt": "2026-10-13T16:24:02+00:00","scrapedAt": "2026-10-20T14:33:08.912207+00:00"}
With Add features, description and full specs on (and for every listing link), the row also has:
{"features": ["ABS", "Adaptive Cruise Control", "Adaptive lighting", "Air suspension", "Alarm system", "Alloy wheels", "…"],"description": "Sonderausstattung:\nAnzeigeinstrumente mit farbigem Hintergrund, Außen-/Innenspiegel mit Abblendautomatik und Regensensor, …","specs": {"damageCondition": "Used vehicle, Accident-free","modelRange": "982C","trimLine": "Cayman","availability": "Now","envkv.energyConsumption": "6.9 l/100km","…": "…"}}
The description is in the language the seller wrote it in.
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data fields
| Field | Type | Description |
|---|---|---|
id | string | mobile.de listing id |
url | string | Listing page |
title, make, model, version | string | Ad title, make, model and the seller's version line |
price | number | Asking price, gross |
currency | string | Currency code, usually EUR |
netPrice, vatRate | number | Price without VAT and the VAT rate in %, when VAT is deductible; otherwise null |
vatDeductible | boolean | Whether the price includes deductible VAT |
priceType | string | FIXED or NEGOTIABLE |
priceRating | string | mobile.de's rating code: VERY_GOOD_PRICE, GOOD_PRICE, REASONABLE_PRICE, INCREASED_PRICE, HIGH_PRICE or NO_RATING |
priceRatingLabel | string | The same rating as shown on the site, in the link's language |
firstRegistration | string | Month of first registration, YYYY-MM; null for unregistered new cars |
mileageKm | number | Mileage in km |
fuel, transmission, bodyType, colour | string | As shown on the site, in the link's language |
powerKw, powerHp | number | Engine power |
doors | string | Door count as mobile.de groups it, such as 4/5 |
seats, engineCcm, previousOwners | number | Seats, engine size in cm³ and number of previous owners, when given |
emissionClass | string | Such as Euro6d, when given |
inspectionDue | string | Next general inspection (HU), YYYY-MM, when given |
sellerType | string | dealer, business or private |
dealerName | string | Dealer or business name; null for private sellers |
dealerRating, dealerRatingCount | number | Dealer's star rating (out of 5) and number of reviews, when rated |
city, postcode, country | string | Where the vehicle is |
imageCount, images | number, array | Photo count and full-size photo URLs |
createdAt, modifiedAt | string | When the ad was created and last changed (ISO 8601, UTC) |
features | array | Equipment list (details only) |
description | string | Seller's description as plain text (details only) |
specs | object | Every spec on the listing page, keyed by mobile.de's spec name (details only) |
scrapedAt | string | When the row was saved (ISO 8601, UTC) |
Fields a seller left empty are null. Phone numbers and other contact
details of sellers are not collected.
How much does it cost to scrape mobile.de?
The Actor uses pay-per-event pricing: you pay a small fee per listing saved, plus a small extra per listing when details are added. See the Pricing tab for the exact prices. Links that return nothing are never saved as rows, so you are not charged for them. If you set a maximum cost for a run, the Actor stops cleanly as soon as it is reached.
It is also fast and light on platform usage: it reads mobile.de's own data service instead of loading web pages, so two full searches (2,363 listings in all) finished in about 10 seconds, and 300 listings with details in about half a minute.
Tips for scraping mobile.de
- Split big searches. mobile.de serves at most 2,000 listings per search. For more, run several searches with price or registration bands (e.g. up to €10,000, €10,000–20,000, …).
- Sort for monitoring. Sort the search by "Newest listings first" on
mobile.de before copying the link, schedule a daily run with a small
maxListings, and you get each day's new cars. Links you copy keep their sorting; a link without one gets mobile.de's "Standard sorting". - Leave details off unless you need equipment or descriptions: search rows already have price, mileage, power, seller and photos, and runs are several times faster without details.
- Each listing is saved only once per run, even when several searches find it.
FAQ, disclaimers and support
Which links work? Search results pages (…/search.html?…) for cars,
motorbikes, vans and the other vehicle types, and listing pages. Brand and
model landing pages such as www.mobile.de/auto/bmw-3er.html are not searches:
open the search there and copy the results link instead.
What happens to links that return nothing? Sold listings, searches with no
results and links that are not mobile.de searches are not saved as rows.
Each one is listed with its reason in the FAILED_INPUTS record of the run's
key-value store, and the run's status message gives the counts. A run fails
only when every input failed because mobile.de could not be reached.
Is it legal to scrape mobile.de? This Actor collects only listings that are publicly visible on mobile.de without logging in. It does not collect seller phone numbers or messages. Listings can still contain personal data (such as a private seller's town), so you are responsible for making sure your use complies with mobile.de's terms and with data protection laws such as the GDPR. If in doubt, ask a lawyer. This Actor is not affiliated with mobile.de.
Found a problem or need a custom solution? Open an issue on the Issues tab and we will look into it. Custom scrapers and data feeds are available on request.