Mobile.de Search Scraper
Pricing
from $0.49 / 1,000 vehicles
Mobile.de Search Scraper
Scrape mobile.de car listings from any search URL, listing URL, or dealer page. Get price, mileage, first registration, power, fuel, features, images, price rating, and dealer contact. Export as JSON, CSV, or Excel.
Pricing
from $0.49 / 1,000 vehicles
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Mobile.de Search Scraper
Mobile.de Search Scraper extracts car and vehicle listings from mobile.de, Germany's largest vehicle marketplace. It returns price, mileage, first registration, power, fuel, transmission, equipment, images, price rating, condition, location, and seller contact for every listing.
| Paste any mobile.de search URL with all its filters, single listing URLs, or a dealer's home.mobile.de page, and get every matching vehicle with 30+ detail fields in 11 languages. Large searches go past mobile.de's 2,000-result limit automatically. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Apify Actor parsebird/mobile-de-search-scraper scrapes vehicle listings from mobile.de (Germany). Call it with the apify-client package: client.actor("parsebird/mobile-de-search-scraper").call(run_input={"startUrls": [{"url": "https://suchen.mobile.de/fahrzeuge/search.html?vc=Car&ms=3500%3B9&p=10000%3A30000"}], "maxItems": 100}). Inputs: startUrls (array of {"url": ...}; supported: mobile.de search result URLs https://suchen.mobile.de/fahrzeuge/search.html?... with any filters, listing URLs https://suchen.mobile.de/auto-inserat/.../<id>.html, dealer pages https://home.mobile.de/<DEALER> or https://home.mobile.de/home/redirect.html?customerId=<id>), maxItems (int, default 100, 0 = no limit), scrapeDetails (bool, default true; false = search card data only), language (string: "en","de","fr","it","es","pl","nl","ro","ru","tr","cs", default "en"), maxConcurrency (int, default 10), minConcurrency (int, default 1), maxRequestRetries (int, default 10), proxy (Apify proxy object, default off; the actor switches to residential proxy itself when blocked). Output: one dataset item per vehicle with id, url, title, makeName, modelName, priceAmount, priceCurrency, priceLocalized, priceType, priceRatingLabel, mileageKm, firstRegistration (YYYY-MM), powerKw, powerHp, fuel, transmission, vehicleCategory, sellerType (DEALER, FSBO, COMM_FSBO), sellerName, sellerPhone, city, postalCode, countryCode, latitude, longitude, accidentFree, currentlyDamaged, roadworthy, imageUrls, createdAt, modifiedAt, detailsScraped, sourceUrl, scrapedAt, plus the raw mobile.de fields attributes, features, contact (phones, messengers, address, opening hours, rating), priceRating, htmlDescription, images, make, model, kba, financePlans, and basicInfo (search card). API docs: https://apify.com/parsebird/mobile-de-search-scraper/api. Get a token: https://console.apify.com/settings/integrations
What is Mobile.de Search Scraper?
Mobile.de Search Scraper is a data extraction tool for mobile.de vehicle listings. Mobile.de lists more than 1.5 million cars plus motorbikes, motorhomes, trucks, and trailers from dealers and private sellers. The Actor works as a mobile.de API alternative: you run a search on mobile.de with any filters, paste the URL, and get clean JSON records for every vehicle instead of copying listings by hand.
The easiest way to try it: open the Input tab, keep the prefilled BMW search URL, and click Start. You get 20 vehicles with full details in under a minute.
What can Mobile.de Search Scraper do?
- 🔍 Scrape any mobile.de search: every filter in the URL is kept, including make and model, price, first registration, mileage, fuel, power, colour, emission class, features, seller type, and radius around a city.
- 🚗 Scrape single listings: paste listing URLs from suchen.mobile.de or m.mobile.de, or
details.html?id=links. - 🏢 Scrape a dealer's full stock: paste the dealer's home.mobile.de page and the Actor finds the dealer's ID and collects all their vehicles.
- 📄 Get full vehicle details: all technical attributes, equipment list, seller description, all images, price rating, financing offers, KBA key numbers, and dealer phone, WhatsApp, address, opening hours, and ratings.
- 📈 Go past the 2,000-result limit: mobile.de shows at most 2,000 results per search. For larger searches, the Actor splits the search into price and mileage bands and collects each band.
- 🌍 Pick the language: labels and values in English, German, French, Italian, Spanish, Polish, Dutch, Romanian, Russian, Turkish, or Czech.
- ✅ Get clean condition flags:
accidentFree,currentlyDamaged, androadworthyas true/false/null, the same in every language.
On the Apify platform you also get scheduled runs, a full REST API, integrations with Make, Zapier, n8n, Google Sheets, Slack, and webhooks, and export to JSON, CSV, Excel, XML, or HTML.
What data can you extract from mobile.de?
| Field | Description |
|---|---|
id / url / title | mobile.de listing ID, listing URL, and title |
makeName / modelName | Make and model, e.g. BMW / 318 |
priceAmount / priceCurrency / priceLocalized | Gross price as a number, currency, and as shown on mobile.de |
priceRatingLabel / priceRating | mobile.de price rating (e.g. Good price, Increased price) with the price bands |
mileageKm / firstRegistration | Mileage in km and first registration as YYYY-MM |
powerKw / powerHp | Engine power in kW and hp |
fuel / transmission / vehicleCategory | Fuel type, gearbox, and body type in your chosen language |
accidentFree / currentlyDamaged / roadworthy | Condition flags as declared by the seller (null = not stated) |
sellerType / sellerName / sellerPhone | DEALER, FSBO (private seller), or COMM_FSBO (commercial private), dealer name, and first phone number |
city / postalCode / countryCode / latitude / longitude | Vehicle location |
imageUrls | Full-size image URLs (1600 px) |
attributes | Every technical attribute shown on the listing, with label, tag, and value |
features | Equipment list, e.g. ABS, Navigation system, Heated seats |
contact | Seller address, phones, WhatsApp, opening hours, languages, and dealer rating |
htmlDescription | The seller's own description as HTML |
createdAt / modifiedAt | When the listing was created and last changed |
basicInfo | The search result card for the vehicle, as mobile.de returns it |
How to scrape mobile.de
- Go to mobile.de, set your filters, and click to show the results.
- Copy the URL from your browser's address bar.
- Open Mobile.de Search Scraper and paste the URL into Start URLs. Add more search, listing, or dealer URLs if you like.
- Set Max vehicles and pick a Language.
- Click Start.
- Download the results from the Output tab as JSON, CSV, Excel, XML, or HTML, or fetch them through the API.
To watch prices or new listings for a search, add the run to a schedule, for example every morning.
Input example
{"startUrls": [{ "url": "https://suchen.mobile.de/fahrzeuge/search.html?dam=false&isSearchRequest=true&ms=3500%3B9%3B%3B%3B&ref=srp&s=Car&sb=rel&vc=Car" },{ "url": "https://suchen.mobile.de/auto-inserat/bmw-318-baureihe-3-touring-318d-edition-exclusive-merzig/384854873.html" },{ "url": "https://home.mobile.de/SPAUTOHANDELUNDREIFENSERVICE" },{ "url": "https://suchen.mobile.de/fahrzeuge/search.html?asl=true&cn=DE&gn=Berlin&isSearchRequest=true&ll=52.516071%2C13.37698&rd=100&ref=dsp&s=Car&vc=Car" }],"maxItems": 500,"scrapeDetails": true,"language": "en"}
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| startUrls | array | Yes | — | mobile.de search result URLs, listing URLs, or home.mobile.de dealer URLs |
| maxItems | integer | No | 100 | Maximum vehicles to save across all URLs. 0 = no limit |
| scrapeDetails | boolean | No | true | Open each listing for full details. Off = search card data only, faster |
| language | string | No | en | en, de, fr, it, es, pl, nl, ro, ru, tr, cs |
| maxConcurrency | integer | No | 10 | Maximum parallel requests |
| minConcurrency | integer | No | 1 | Parallel requests at the start. Grows while requests succeed |
| maxRequestRetries | integer | No | 10 | Retries per failed request |
| proxy | object | No | off | Optional proxy. When mobile.de blocks the connection, the Actor switches to Apify residential proxy (Germany) by itself |
Supported URL types:
| URL type | Example |
|---|---|
| Search results | https://suchen.mobile.de/fahrzeuge/search.html?vc=Car&ms=3500%3B9&p=10000%3A30000 |
| Dealer search (radius around a city) | https://suchen.mobile.de/fahrzeuge/search.html?cn=DE&ll=52.516071%2C13.37698&rd=100&vc=Car |
| Single listing | https://suchen.mobile.de/auto-inserat/<title>/<id>.html |
| Dealer homepage | https://home.mobile.de/SPAUTOHANDELUNDREIFENSERVICE |
| Dealer redirect link | https://home.mobile.de/home/redirect.html?customerId=26102486 |
| Listing inside a dealer page | https://home.mobile.de/home/vip?customerId=26102486&id=43224224654272 |
Output example
{"id": "384854873","url": "https://suchen.mobile.de/auto-inserat/bmw-318-baureihe-3-touring-318d-edition-exclusive-merzig/384854873.html","title": "BMW 318 Baureihe 3 Touring 318d Edition Exclusive","makeName": "BMW","modelName": "318","priceAmount": 490.0,"priceCurrency": "EUR","priceLocalized": "€490","priceType": "FIXED","priceRatingLabel": "No rating","mileageKm": 269000,"firstRegistration": "2005-06","powerKw": 85,"powerHp": 116,"fuel": "Diesel","transmission": "Manual gearbox","vehicleCategory": "Estate car","sellerType": "DEALER","sellerName": "Automobile Merzig/Saar","sellerPhone": "+49 (0)172 7400748","city": "Merzig","postalCode": "66663","countryCode": "DE","latitude": 49.4421869,"longitude": 6.6233517,"accidentFree": null,"currentlyDamaged": false,"roadworthy": null,"imageUrls": ["https://img.classistatic.de/api/v1/mo-prod/images/8e/8e36f772-154b-4659-9006-0a3bfb5f7d9e?rule=mo-1600.jpg"],"createdAt": "2024-02-14T14:02:16+00:00","modifiedAt": "2026-10-27T22:36:09+00:00","detailsScraped": true,"attributes": [{ "label": "Mileage", "tag": "mileage", "value": "269,000 km" },{ "label": "Cubic Capacity", "tag": "cubicCapacity", "value": "1,995 ccm" }],"features": ["ABS", "Alarm system", "Alloy wheels", "Arm rest", "CD player", "Central locking"],"contact": {"enumType": "DEALER","name": "Automobile Merzig/Saar","address1": "Merzigerstraße","address2": "DE-66663 Merzig","phones": [{ "type": "MOBILE", "number": "+49 (0)172 7400748", "uri": "tel:+491727400748" }],"messengers": [{ "type": "WHATS_APP", "number": "+49 172 7400748", "uri": "https://wa.me/491727400748?ref=wa" }],"openingHours": [{ "day": "Mon - Fri", "time": "09:00 h - 18:00 h" }],"rating": { "count": 2, "totalCount": 36, "score": 4.0 },"homepageUrl": "https://home.mobile.de/home/redirect.html?customerId=8723021"},"priceRating": { "rating": "NO_RATING", "ratingLabel": "No rating" },"htmlDescription": "<b>Sonderausstattung:</b><br>Bordcomputer, CD-Laufwerk, Dachreling, Klimaautomatik, ..."}
The example is shortened. Each record also has the remaining raw mobile.de fields (shortTitle, subTitle, make, model, images, kba, financePlans, sellerId, segment, adMobTargeting, and others) and basicInfo, the search result card.
Use cases
- 📊 Used car price analysis: compare prices by make, model, year, mileage, and region, and see how mobile.de rates each price.
- 🏷️ Dealer stock monitoring: track a competitor dealer's inventory and price changes from their home.mobile.de page.
- 🔔 Deal alerts: schedule a search and send new listings below a target price to Slack, email, or Google Sheets.
- 🚚 Vehicle sourcing and export: collect cars, vans, trucks, or motorhomes that match your criteria, with dealer contact details.
- 🤖 Valuation models and AI agents: feed structured vehicle data into pricing models, dashboards, or LLM tools.
How it works
- The Actor reads each start URL and keeps all search filters from it.
- It requests the matching vehicles from mobile.de, up to 100 per page. When a search has more than 2,000 results and you want more than 2,000 vehicles, it splits the search into price bands (and mileage bands within a single price) that each fit under the limit.
- With Scrape full vehicle details on, it opens every listing in parallel and adds the full detail data to the search card.
- Dealer homepage URLs are resolved to the dealer's mobile.de ID, then scraped like a search.
- Duplicate vehicles across your URLs are saved once. Each vehicle is charged as it is saved, so the run stops when your spending limit is reached.
How much does it cost to scrape mobile.de?
Mobile.de Search Scraper uses pay-per-event pricing. You pay per vehicle saved to the dataset. Compute and proxy traffic are included in the event price, so they are not billed separately.
| Event | Price per event | Price per 1,000 |
|---|---|---|
| vehicle-scraped (Free plan) | $0.00079 | $0.79 |
| vehicle-scraped (Bronze plan) | $0.00069 | $0.69 |
| vehicle-scraped (Silver plan) | $0.00059 | $0.59 |
| vehicle-scraped (Gold plan) | $0.00049 | $0.49 |
One event is one vehicle in the dataset, with or without full details. A small platform Actor start fee also applies per run. For example, 10,000 vehicles cost $7.90 on the Free plan and $4.90 on the Gold plan. Apify's free plan includes monthly platform credit you can use for this Actor.
Python and JavaScript API examples
Python (apify-client):
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("parsebird/mobile-de-search-scraper").call(run_input={"startUrls": [{"url": "https://suchen.mobile.de/fahrzeuge/search.html?vc=Car&ms=3500%3B9&p=10000%3A30000"}],"maxItems": 200,})for car in client.dataset(run["defaultDatasetId"]).iterate_items():print(car["title"], "|", car["priceAmount"], "|", car["mileageKm"], "|", car["city"])
JavaScript (apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('parsebird/mobile-de-search-scraper').call({startUrls: [{ url: 'https://home.mobile.de/SPAUTOHANDELUNDREIFENSERVICE' }],maxItems: 200,language: 'de',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((car) => console.log(car.title, car.priceLocalized, car.sellerName));
Find all endpoints on the API tab.
FAQ
Do I need a mobile.de account? No. The Actor reads the listings mobile.de shows to every visitor. You don't need a login or an API key.
How many vehicles can I scrape from one search? Mobile.de returns at most 2,000 results per search. When a search has more and Max vehicles is above 2,000, the Actor splits it into price bands, and a single price with more than 2,000 vehicles into mileage bands, so you can collect tens of thousands of vehicles from one URL. Results then come in order of price band instead of your chosen sort order.
Which vehicle types are supported?
Every type mobile.de search supports, including cars (vc=Car), motorbikes (vc=Motorbike), motorhomes (vc=Motorhome), trucks over 7.5 t (vc=TruckOver7500), and trailers (vc=Trailer). Just paste the search URL.
Why are phone numbers missing for some vehicles?
Mobile.de does not include private sellers' phone numbers (sellerType: FSBO) in the public listing data, so private listings have the city, postcode, and coordinates but no phone. Dealer listings include phone numbers, WhatsApp, address, and opening hours.
What do accidentFree, currentlyDamaged, and roadworthy mean?
accidentFree is the seller's statement on accident history: true = accident-free, false = had an accident (repaired or not), null = not stated. currentlyDamaged is true when mobile.de marks the vehicle as damaged now (for example hail, engine, or accident damage that is not repaired). roadworthy is false when the listing says "Not roadworthy". These flags are the same in every language.
Can I paste mobile.de pages like /auto/bmw.html?
Not yet. Use a search results URL instead: open the page, apply any filter, and copy the search.html?... URL from your browser.
Why are some listings skipped? Listings that are sold or removed between the search and the detail request are skipped and not charged. If a single listing URL is no longer online, the log says so.
Can I schedule the scraper and connect it to other tools? Yes. Use Apify schedules to run it daily or weekly, and send the results to Google Sheets, Slack, Make, Zapier, n8n, or your own system through integrations, webhooks, or the API.
Something does not work or a field is missing. Open an issue on the Issues tab with your input and run ID, and we will look into it.
Is it legal to scrape mobile.de?
The Actor collects only listing data that mobile.de publishes openly to all visitors. Dealer listings include business contact details, and some listings include names of contact persons, which are personal data under the GDPR. Make sure you have a lawful basis for storing and using them, and do not use them for unsolicited bulk messaging. Check mobile.de's terms for your use case. For more background, read Apify's article Is web scraping legal? and consult a lawyer if you are unsure.
Other car scrapers from ParseBird
| Actor | What it scrapes |
|---|---|
| AutoTrader.co.uk Scraper | UK car listings from AutoTrader.co.uk |
| AutoTrader Canada Scraper | Canadian car listings from AutoTrader.ca |
| Cars.com Scraper with Contacts | US car listings with dealer contacts |
| Otomoto.pl Scraper with Contacts | Polish car listings with seller phones |
| Bid.cars Scraper | US auction cars from Copart and IAAI |
| che168 二手车 Autohome Scraper | Chinese used car listings from che168 |