mobile.de [$0.55/1K💰] Price Drops, AI Summary & Dealers avatar

mobile.de [$0.55/1K💰] Price Drops, AI Summary & Dealers

Pricing

from $0.55 / 1,000 results

Go to Apify Store
mobile.de [$0.55/1K💰] Price Drops, AI Summary & Dealers

mobile.de [$0.55/1K💰] Price Drops, AI Summary & Dealers

Scrape mobile.de, Germany's largest car marketplace (1.5M+ cars), by make, model, price or postcode radius. Get 120 fields: price rating with market price bands, full specs, dealer phone, WhatsApp and GPS, plus mobile.de's AI summary. No 2,000-result cap, price-drop alerts, JSON/CSV/Excel.

Pricing

from $0.55 / 1,000 results

Rating

0.0

(0)

Developer

Corvuslab

Corvuslab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

What does mobile.de Car Scraper do?

mobile.de Car Scraper turns mobile.de, Germany's largest vehicle marketplace, into a clean, scheduled data feed. Give it a make and model (BMW + 3er), a keyword or a pasted mobile.de search link, and every matching listing comes back as 120 structured fields: price, mobile.de's own price rating and market price bands, the full spec sheet and equipment list, GPS location, the dealer's phone, WhatsApp and rating, and mobile.de's AI summary where one exists. It covers cars, motorbikes, vans, trucks and 12 vehicle types in total. It's no-code, and the output is ready for JSON, CSV, Excel, the API or an AI agent.

New to Apify? Sign up free and use the included monthly platform credit to try this Actor. No credit card needed.

Why this scraper

  • 📉 Price-drop monitoring built in. Scheduled runs return only new, changed and re-listed cars.
  • 🧠 mobile.de's AI summary and highlights on detailed listings.
  • 💶 Market price bands, not just a rating: the exact prices where "good" turns into "reasonable".
  • 🚫 No 2,000-result ceiling. Big searches are read to the end.

What data can you extract from mobile.de?

Every record carries 120 fields, grouped like this:

GroupWhat you get
Price & ratingPrice, currency, net price, VAT rate, VAT-deductible flag, price type, mobile.de price rating (VERY_GOOD_PRICE … HIGH_PRICE) with its label, the price thresholds of each rating band and where the car sits inside its band
Vehicle & specsMake, model, version, model range, trim line, category, body type, condition, mileage, first registration, power (kW + hp), engine size, fuel, gearbox, doors, seats, colour + manufacturer colour name, interior, emission class and sticker, climate control, parking assists, airbags, previous owners, next inspection, damage flags, HSN/TSN, trailer loads, the full spec sheet as a key-value map and the complete equipment list
Consumption & EVFuel or energy consumption, CO₂ emissions and class, consumption by driving cycle, battery capacity and ownership, AC and DC charging time, plug types
AI insightaiSummary (mobile.de's AI-written assessment of the listing) and aiHighlights (short tags such as "First owner with TÜV", "Good price", "Top rated dealer")
Seller contacts & locationSeller name and type, dealer ID, phone numbers, WhatsApp, contact person, website, address, city, postcode, country, GPS latitude/longitude, rating, review count, recommendation rate, reviews link, logo, opening hours, languages, member-since date
Monitoring & mediaChange type, previous price, price change and amount, first/last seen, re-post detection, created/modified/renewed timestamps, photo URLs, photo count, video flag, and the description as plain text, HTML and/or Markdown

Key features

  • 📉 Price-drop and new-listing monitoring. Incremental mode emits only NEW, UPDATED and REAPPEARED cars. A price move is labelled DECREASED or INCREASED, with the old price and the difference on the record. Sold and removed cars can be reported too.
  • 💶 mobile.de's own price verdict, with the numbers behind it. Every rated listing carries its rating and the six price points that bound mobile.de's bands for that exact car, so you see the fair-market range, not just a label.
  • 🧠 The listing's AI summary and highlights. aiSummary + aiHighlights capture mobile.de's AI-written take on each car, ready for ranking or an LLM pipeline.
  • 🚫 Full inventory past the ~2,000-result limit. Larger searches are split automatically and read completely (6,542 of 6,542 Volvo XC60s in testing).
  • 🚘 12 vehicle types. Cars, motorbikes, motorhomes, vans, trucks, semi-trailer trucks, trailers, semi-trailers, buses, agricultural vehicles, construction machines and forklifts.
  • 🏷️ Make and model by name, in any spelling. 3er, 3 Series, C-Klasse and Classe C all resolve. Paste a mobile.de search link and every filter in it is kept.
  • 🎚️ 20+ filters applied on mobile.de, including emission class, drive type, minimum seats, vehicle country and a German postcode or town name + radius. You never pay for listings you filtered out.
  • 📇 Dealer lead data. Phone numbers, WhatsApp, contact person, website, address, GPS, rating, recommendation rate, opening hours and languages, plus a whole dealer's stock by dealer ID.
  • ⚡ Fast, low-cost and AI-ready. Close to 2,000 listings a minute with details off, Telegram/Slack/Discord/webhook alerts, and compact or drop-empty output for LLM and MCP payloads.

🚀 How to scrape mobile.de

  1. Open the Actor and enter a make (e.g. BMW) and optionally a model (3er), or paste a mobile.de search link.
  2. Pick your filters: price, year, mileage, fuel, gearbox, location and radius.
  3. Set Max results (0 = everything) and choose whether to fetch full details (on by default).
  4. Click Start. Results stream into the Output tab. Download them as JSON, CSV or Excel, or pull them from the API.

No login, no cookies, no setup. Even an empty input works: {} returns the 100 newest car listings with full details.

Quick-start example input

{
"make": "BMW",
"model": "3er",
"fuelType": ["DIESEL"],
"yearMin": 2018,
"priceMax": 30000,
"maxResults": 100
}

This returns the 100 most recently listed diesel BMW 3 Series from 2018 onwards under 30,000 €, each with its price rating, equipment list, dealer phone number and, where available, the AI summary.


Input

Configure it in the visual editor with no code, or pass JSON through the API. 52 inputs, grouped as they appear in the editor.

FieldTypeWhat it does
vehicleTypeenumCar (default), Motorbike, Motorhome, VanUpTo7500, TruckOver7500, SemiTrailerTruck, Trailer, SemiTrailer, Bus, AgriculturalVehicle, ConstructionMachine, ForkliftTruck.
makestringBrand, e.g. BMW, Volkswagen, Mercedes-Benz. Comma-separate several.
modelstringModel or family, e.g. 3er, Golf, C-Klasse. Comma-separate several.
keywordstringFree-text search inside listings, e.g. M Sport or Standheizung.
startUrlsarraymobile.de search links (all filters kept) or single listing links.
maxResultsintegerListings to return (default 100, 0 = no limit).
sortenumnewest (default), price_asc, price_desc, mileage_asc, year_desc, power_desc, relevance.
listedWithinDaysintegerOnly listings put online in the last N days, e.g. 1 for today's new cars.

🎚️ Filters

All filters are applied by mobile.de itself. Several values inside one filter widen the search (OR); different filters narrow it (AND).

FieldTypeWhat it does
conditionarrayNEW and/or USED.
priceMin / priceMaxintegerPrice range in EUR.
yearMin / yearMaxintegerFirst-registration year range.
mileageMin / mileageMaxintegerMileage range in km.
powerMinPs / powerMaxPsintegerPower range in PS (metric hp).
fuelTypearrayPETROL, DIESEL, ELECTRICITY, HYBRID, HYBRID_DIESEL, LPG, CNG, ETHANOL, HYDROGENIUM, OTHER.
transmissionarrayAUTOMATIC_GEAR, MANUAL_GEAR, SEMIAUTOMATIC_GEAR.
bodyTypearrayCars only: SmallCar, Limousine, EstateCar, OffRoad, Van, SportsCar, Cabrio, OtherCar.
exteriorColorarray13 colours, from BLACK and WHITE to GOLD and PURPLE.
emissionClassarrayEURO7 down to EURO1, including EURO6D and EURO6D_TEMP.
driveTypearrayALL_WHEEL, FRONT, REAR.
minSeatsintegerAt least this many seats.
sellerTypeenumANY, DEALER or PRIVATE.
damageStatusenumANY, NO_DAMAGE or ONLY_DAMAGED.
vatDeductibleOnlybooleanOnly listings with VAT shown separately (deductible for businesses).
countryarrayWhere the vehicle is: 20 countries including DE, AT, CH, NL, BE, FR, IT, PL, ES.
location + radiusKmstring + integerA German postcode (10115), town (München) or latitude,longitude, with a radius (default 50 km, up to 1,000).
sellerIdstringOne dealer's whole stock. Use the sellerId from any of their listings.

📄 Output

FieldTypeWhat it does
includeDetailsbooleanAdds description, equipment, full spec sheet, consumption, AI summary and dealer profile (default on).
descriptionFormatenumall, text, html or markdown.
descriptionMaxLengthintegerTruncate descriptions to N characters (0 = full text).
compactboolean21 core fields only, for AI agents and MCP clients.
excludeEmptyFieldsbooleanDrop null and empty fields.

♻️ Monitoring

FieldTypeWhat it does
incrementalModebooleanEmit only new, changed and re-listed cars since the last run.
stateKeystringName for the tracked search. Blank = derived from your settings.
emitUnchangedbooleanAlso emit listings that haven't changed.
emitExpiredbooleanEmit a record for each listing that has gone (sold or removed).
skipRepostsbooleanSuppress the same car re-posted by the same seller under a new ID.

🔔 Notifications and ⚙️ Advanced

The alert channels (telegramToken + telegramChatId, slackWebhookUrl, discordWebhookUrl, webhookUrl + webhookHeaders, notificationLimit) are covered in the alerts section below. Advanced settings (proxyConfiguration, detailConcurrency, maxRequestRetries, ignoreUrlFailures) work out of the box and can be left alone.

More example inputs

Every electric SUV listed by dealers within 50 km of Munich:

{
"fuelType": ["ELECTRICITY"],
"bodyType": ["OffRoad"],
"sellerType": "DEALER",
"location": "München",
"radiusKm": 50,
"maxResults": 0
}

A search you built on mobile.de, with full details:

{
"startUrls": [{ "url": "https://suchen.mobile.de/fahrzeuge/search.html?ms=3500%3B10%3B%3B&vc=Car" }]
}

Output

Each dataset item is one vehicle listing. A real record (trimmed: the Actor returns the full description, every photo, the whole equipment list and the full spec sheet):

{
"id": "434925035",
"url": "https://suchen.mobile.de/auto-inserat/audi-q7-50-tdi-quattro-virtual-navi-bad-waldsee/434925035.html",
"title": "Audi Q7 50 TDI quattro Virtual Navi",
"make": "Audi",
"model": "Q7",
"version": "50 TDI quattro Virtual Navi",
"vehicleType": "Car",
"category": "SUV/Off-road Vehicle/Pickup Truck",
"condition": "USED",
"price": 39900.0,
"currency": "EUR",
"priceNet": 33529.41,
"vatRate": 19.0,
"vatDeductible": true,
"priceRating": "GOOD_PRICE",
"priceRatingLabel": "Good price",
"priceRatingThresholds": [30300.0, 39400.0, 42400.0, 47200.0, 50700.0, 56300.0],
"priceRatingPosition": 16,
"mileageKm": 85600,
"firstRegistration": "09/2020",
"powerKw": 210,
"powerHp": 286,
"fuelType": "Diesel",
"transmission": "Automatic",
"emissionClass": "Euro6d",
"previousOwners": 1,
"hasDamage": false,
"city": "Bad Waldsee",
"postalCode": "88339",
"country": "DE",
"imageUrls": [
"https://img.classistatic.de/api/v1/mo-prod/images/50/50443159-ecc9-4204-b409-95b78c391a59?rule=mo-1024.jpg"
],
"imageCount": 19,
"createdAt": "2025-08-28T08:32:11+00:00",
"sellerType": "DEALER",
"sellerName": "AD-Automobile GmbH",
"sellerId": "453536",
"sellerPhones": ["+49 (0)7524 9147157", "+49 (0)178 6359466"],
"sellerWhatsapp": "+49 178 6359466",
"sellerAddress": "Rudolf-Diesel-Straße 12, DE-88339 Bad Waldsee",
"latitude": 47.9405433,
"longitude": 9.765612899999999,
"sellerOpeningHours": ["Mon - Fri: 09:00 h - 19:00 h"],
"sellerLanguages": ["Deutsch", "Pусский", "English"],
"sellerSince": "2007-05-23",
"modelRange": "Q7 (4MG)(07.2019->)",
"trimLine": "50 TDI quattro basis",
"fuelConsumption": "6.9 l/100km",
"co2Emissions": "175 g/km",
"emissionsSticker": "4 (Green)",
"climatisation": "Automatic air conditioning",
"interior": "Cloth, Black",
"features": ["ABS", "Alloy wheels", "Apple CarPlay", "Bluetooth", "Central locking"],
"specs": {
"cubicCapacity": "2,967 ccm",
"parkAssists": "Front, Rear",
"trailerLoadBraked": "2,700 kg",
"fuelTankVolume": "75 l"
},
"aiSummary": "This vehicle stands out with a good price and features a fresh TÜV for immediate roadworthiness. Buying from an established dealer who has been active since 2007 adds strong trust. Prospective buyers should carefully verify the vehicle history and overall condition during a visit.",
"aiHighlights": ["Good price", "Fresh TÜV", "Experienced dealer"],
"description": "Besichtigung und Probefahrt nach Terminvereinbarung möglich. …",
"source": "mobile.de",
"scrapedAt": "2026-10-14T07:12:48.150185+00:00"
}

Data fields

  • Always: price, rating and price bands, VAT split, vehicle identity and key specs, location, photos, timestamps, and the seller's name, phones, WhatsApp, rating, address and GPS.
  • With includeDetails (on by default): description (also as descriptionHtml / descriptionMarkdown), equipment list, full spec sheet, consumption detail, EV charging data, AI summary and highlights, contact person, website, opening hours, languages, recommendation rate and member-since date.
  • With incrementalMode: changeType, firstSeenAt / lastSeenAt, previousPrice, priceChange and priceChangeAmount on a price move, expiredAt, and isRepost / repostOfId.

Every field is present in standard mode (missing values are null). Compact mode returns 21 core fields, and excludeEmptyFields drops empties entirely. The Output tab ships three views: Overview, Sellers & contacts and Changes.


♻️ How to monitor mobile.de with incremental mode

Schedule the Actor with incremental mode on. Each run compares against the previous one and emits only NEW, UPDATED (including every price drop) and REAPPEARED listings. Unchanged cars are recognised from the search results before their details are loaded, so you skip both the work and the cost. Each tracked search remembers up to about 22,000 listings.

First run (baseline)Next run (nothing changed)Next run (one car cut its price)
Listings foundallallall
Full details loadedallnone1
Records emitted & billedallnone1, with previousPrice, priceChange: DECREASED and priceChangeAmount

After the baseline, your cost scales with how much mobile.de changes, not with how much you watch:

Daily churnof 1,000 trackedbillable recordsyou save
5 %1,0005095 %
15 %1,00015085 %
30 %1,00030070 %

Setting up scheduled monitoring

  1. Configure your search, keep Sort by on Newest first and set Max results to 0. Sold/removed listings are only reported by runs that read the whole search.
  2. Turn on Incremental mode, plus Include sold/removed listings and Skip re-listed cars if you want them.
  3. Run it once to seed the baseline, then add a schedule (hourly or daily) in the Schedules tab and a notification channel.

A daily price-drop watch on used Porsche 911s with a Telegram alert:

{
"make": "Porsche",
"model": "911",
"condition": ["USED"],
"maxResults": 0,
"incrementalMode": true,
"emitExpired": true,
"telegramToken": "<bot token>",
"telegramChatId": "@your_channel"
}

🔔 How to set up mobile.de alerts

Get pinged the moment a matching car is listed or drops its price. Fill in only the channels you want:

ChannelWhat to configure
✈️ TelegramtelegramToken (from @BotFather) + telegramChatId
💬 SlackslackWebhookUrl (Incoming Webhook URL)
🎮 DiscorddiscordWebhookUrl (channel webhook URL)
🪝 WebhookwebhookUrl (+ optional webhookHeaders) receives structured JSON, ideal for n8n / Make / Zapier

Each alert lists up to notificationLimit cars (default 5, up to 20) with price, mileage, first registration and, on a price drop, the old price. Channels fire independently, and a broken one can't stop the scrape. Credentials are secret inputs: encrypted at rest, masked in the UI and never written to the run log.


💡 What can you do with mobile.de data?

Catch underpriced cars before anyone else

Schedule a newest-first search with incremental mode and a Telegram alert, and filter on priceRating: VERY_GOOD_PRICE. You hear about bargains soon after they go online, with the dealer's phone number attached.

Used-car valuation and residual-value models

Read an entire make or model past the 2,000-result limit, with mileage, year, power, equipment and condition on every row, and mobile.de's own price bands as a market benchmark for each car.

Track price drops and days-on-market

previousPrice, priceChangeAmount, firstSeenAt and the sold/removed records show which models are being discounted and how long they sit, which is the raw material for pricing your stock or timing a purchase.

Dealer lead generation for automotive services

Build regional dealer lists with phone, WhatsApp, contact person, website, address, GPS, rating and sellerId, a natural fit for financing, insurance, logistics and software vendors.

Competitor stock monitoring for dealers

Point the sellerId filter at a rival dealership and schedule it. You see every car they add, every price change and every vehicle that sells.

Export and fleet sourcing across Europe

Filter by country, vatDeductibleOnly and emission class to source VAT-deductible vehicles in 20 European countries, then export the list straight to Excel.


💰 How much does it cost to scrape mobile.de?

This Actor uses Apify's pay-per-event model: a small fee when a run starts, plus a fee for each listing delivered. The Pricing tab shows the current numbers live.

There's no extra charge for full details, and none for the unchanged listings a monitoring run checks. Two things cut your bill further: site-side filters (listings you filtered out are never fetched or billed) and incremental mode (after the baseline you pay only for what changed, see the savings table above).


🔌 Integrations & export

Export to JSON, CSV, Excel or an HTML table, or pull from the REST API and the JavaScript / Python clients. Run it on a schedule, connect it to Google Sheets, Slack, Make, Zapier and n8n, or call it as an MCP tool from an AI agent.

Also covering European car marketplaces: AutoScout24 Scraper.


🔗 Using the API

from apify_client import ApifyClient
client = ApifyClient("<YOUR_API_TOKEN>")
run = client.actor("corvuslab/mobile-de-scraper").call(run_input={
"make": "Volkswagen",
"model": "Golf",
"yearMin": 2020,
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["title"], item["price"], item["priceRating"])

❓ FAQ

Do I need a mobile.de account or login? No. It reads public listings only and runs out of the box.

mobile.de only shows about 2,000 results per search. Can I get more? Yes. Set maxResults to 0 and larger searches are split and read to the end, up to 50,000 listings per run. Two exceptions: with Listed within (days) set, results are read newest-first without splitting, so narrow the filters if more than ~2,000 cars match; and "price on request" listings can't be placed in a price range, so a split read may miss some of them.

What do priceRating, priceRatingThresholds and priceRatingPosition mean? priceRating is mobile.de's market verdict: VERY_GOOD_PRICE, GOOD_PRICE, REASONABLE_PRICE, INCREASED_PRICE or HIGH_PRICE (NO_RATING when mobile.de didn't rate the car). priceRatingThresholds are the six prices in EUR that bound those five bands, cheapest first, so the third and fourth values are mobile.de's fair-market range for that car. priceRatingPosition is how far into its band the price sits (0–100).

Why are aiSummary, features or description empty? They come with full details, so keep Fetch full details on. aiSummary is filled only where mobile.de has written one, and not every listing has one.

Why are model, version and priceRating empty on motorbikes and trucks? mobile.de only records the make for most non-car vehicle types and only rates car prices. The model is still in the title, and make, category and every spec are filled as usual.

Why is sellerWhatsapp, sellerRating or imageUrls empty on some listings? Those exist only when the seller provides them. Many dealers don't list WhatsApp, private sellers have no rating, opening hours or website, and some imported partner listings come without photos.

Which model names work? The names you'd use on mobile.de and their common variants: 3er, 3 Series, C-Klasse, Classe C, Golf. If a name isn't a mobile.de model (e.g. 320d), that make's listings mentioning it are searched instead. An unknown make stops the run before anything is charged, and the status message suggests the closest names.

Can I search outside Germany? Yes. mobile.de lists vehicles across Europe; use country to pick from 20 countries. The radius search works on German postcodes and towns, or on any latitude,longitude.


This Actor collects only publicly available listing data. You're responsible for how you use it, in particular any personal information such as private sellers' names and phone numbers, and for complying with mobile.de's terms and applicable law (including the GDPR where it applies). Not affiliated with, endorsed by or sponsored by mobile.de GmbH.


Keywords: mobile.de scraper · mobile.de api · scrape mobile.de · mobile.de car listings · mobile de scraper · car price scraper · used car prices Germany · car price drop alerts · car dealer leads · Germany car marketplace data · vehicle listings scraper · car market research · price rating · motorbike listings · export to CSV · export to Excel · no-code scraper · MCP tool for AI agents