Mobile.de Scraper avatar

Mobile.de Scraper

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Mobile.de Scraper

Mobile.de Scraper

Scrape vehicle listings from Mobile.de, Germany's largest car marketplace. Get make, model, price, mileage, registration, power, fuel, transmission, equipment and photos, plus the dealer name, phone, address and exact GPS on every listing. Search by URL or filters and export to JSON, CSV or Excel.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Turn every listing on Germany's largest vehicle marketplace into clean, structured data. 500 vehicles per run in under a minute, with dealer phone, address and GPS on every record.

Mobile.de lists more than 1.5 million cars, motorbikes, vans, trucks and motorhomes across Germany and Europe. This scraper pulls that inventory into ready-to-use JSON, CSV or Excel: make, model, price, mileage, full technical specs, the complete equipment list, every photo, and the selling dealer with contact details and map coordinates. Paste a search URL or set a few filters, press start, and get structured results you can drop straight into a spreadsheet, a database, or a model.

How it works

How it works

✨ Why teams choose this over other Mobile.de scrapers

Shopping around for used-car data and getting half-empty rows back? Running a scraper that breaks every time mobile.de ships a redesign? Paying for results that skip the one field you actually needed?

  • 🏷️ Every record carries the dealer, not just the car. Name, street address, phone number, and exact GPS latitude and longitude come on every single listing, plus the dealer's star rating and review count. Most scrapers give you the car and make you guess who is selling it.
  • 🧾 The full equipment list, not a summary. Each vehicle ships with its complete feature list (often 40 to 60 items: driver assistance, comfort, safety, infotainment) exactly as the seller entered it, so you can filter on the exact options buyers ask for.
  • 💶 The mobile.de price rating is included. When the marketplace rates a price against the market, you get that rating and its label, so you can spot the good deals without building your own valuation model.
  • 🔎 Search by URL or by filters. Configure a precise search on mobile.de and paste the link, or skip the site entirely and set category, make, model, price, mileage, year and fuel right here. Both paths hit the same rich data.
  • 🌍 Every category, not just cars. Cars, motorbikes, vans, trucks, semi-trailer trucks, motorhomes, construction machines and trailers all work with the same input.
  • 📐 Clean, typed JSON. Mileage is a number, power comes as both kW and HP, coordinates are floats, dates are ISO timestamps. No scraping HTML out of a text blob on your side.
  • 🔁 Structured for automation. No login, no API key, no browser extension. Feed the output straight into Google Sheets, a warehouse, or a pricing pipeline.

🎯 What you can do with Mobile.de data

TeamWhat they build
Used-car dealersTrack competitor pricing on the exact make, model and year you stock, and reprice daily
Car-buying servicesSurface underpriced listings by comparing each car's price rating against the market
Lead generationBuild dealer call lists with name, phone, address and GPS, filtered by region and inventory size
Market analystsMeasure depreciation curves and regional price gaps across hundreds of thousands of listings
Fleet and leasingSource vehicles by mileage, registration year and equipment, then rank by total value
Insurers and valuationFeed real listing prices, KBA type codes and specs into pricing and risk models
Parts and salvageFind damage cases and non-runners by category and location for parts sourcing
Data and ML teamsAssemble labelled vehicle datasets (specs, photos, prices) for training and analysis

📥 Input parameters

Search by URL

FieldTypeDescription
searchUrlsarrayMobile.de search result URLs or individual listing URLs. Paste as many as you like.

Search by filters (used when no URL is given)

FieldTypeDescription
searchCategoryselectCars, Motorbikes, Vans, Trucks, Semi-trailer trucks, Motorhomes, Construction machines, Trailers
modelsarrayMake and model by mobile.de id, e.g. 3500 (BMW) or 3500|20 (make and model)
priceMin / priceMaxintegerPrice range in euros
mileageKmMin / mileageKmMaxintegerMileage range in kilometres
registrationYearMin / registrationYearMaxintegerFirst-registration year range
fuelTypearrayPetrol, Diesel, Electric, Hybrid, LPG, CNG, Hydrogen, Ethanol
sortselectRelevance, Price, Mileage, Newest, Registration

Limits and options

FieldTypeDescription
maxItemsintegerMaximum number of listings to collect
includeDetailsbooleanFetch each listing's full record (description, equipment, all photos, technical attributes). On by default
proxyConfigurationobjectOptional proxy. Off by default
debugModebooleanShow detailed logs

📊 Output data

Each listing is one JSON object. A search result enriched with its full detail record looks like this:

{
"id": "459256404",
"url": "https://suchen.mobile.de/auto-inserat/land-rover-discovery-koeln/459256404.html",
"title": "Land Rover Discovery 3.0 SDV6 HSE",
"make": "Land Rover",
"model": "Discovery",
"makeId": "14800",
"modelId": "3",
"category": "OffRoad",
"vehicleClass": "Car",
"price": { "amount": 15900, "currency": "EUR", "localized": "15.900 €", "type": "FIXED" },
"priceRating": { "rating": "GOOD_PRICE", "label": "Good price" },
"firstRegistration": "07/2012",
"mileageKm": 219000,
"powerKw": 180,
"powerHp": 245,
"fuelType": "Diesel",
"transmission": "Automatik",
"displacementCc": 2993,
"exteriorColor": "Schwarz",
"doors": "4/5",
"seats": "5",
"hasDamage": false,
"features": ["ABS", "Allradantrieb", "Navigationssystem", "Sitzheizung", "Anhängerkupplung"],
"attributes": [
{ "label": "Kategorie", "value": "SUV/Geländewagen/Pickup" },
{ "label": "Ausstattungslinie", "value": "HSE" }
],
"images": ["https://img.classistatic.de/api/v1/mo-prod/images/46/469f4983.jpg"],
"location": { "country": "DE", "zip": "51145", "city": "Köln" },
"dealer": {
"name": "AMG Logistik GmbH",
"type": "Händler",
"address": "Waldstraße 125, DE-51145 Köln",
"phone": "+49 (0)2203 9179797",
"latitude": 50.8824119,
"longitude": 7.0928372,
"ratingScore": 4.4,
"ratingCount": 5,
"ratingLink": "https://www.mobile.de/bewertungen/AMGLogistikGmbH"
},
"kba": { "hsn": "2143", "tsn": "AAY" },
"createdAt": "2026-06-27T10:52:08Z",
"scrapedAt": "2026-07-04T12:34:06Z"
}

When includeDetails is off, you still get every search-level field, including the full dealer block with GPS and rating. The detail step adds description, the complete features list, attributes, kba codes, and the full photo set.

🗂️ Data fields

CategoryFields
Identityid, url, title, shortTitle, subTitle
Vehiclemake, model, makeId, modelId, category, vehicleClass
Priceprice.amount, price.currency, price.localized, price.type, priceRating.rating, priceRating.label
SpecsfirstRegistration, mileageKm, powerKw, powerHp, fuelType, transmission, displacementCc, exteriorColor, doors, seats
Conditioncondition, hasDamage, isDamageCase, readyToDrive, isNew
Contentdescription, features[], attributes[], images[]
Locationlocation.country, location.zip, location.city
Dealerdealer.name, dealer.type, dealer.address, dealer.phone, dealer.latitude, dealer.longitude, dealer.ratingScore, dealer.ratingCount, dealer.ratingLink
Registration codeskba.hsn, kba.tsn
TimestampscreatedAt, modifiedAt, scrapedAt

🚀 Examples

Scrape all BMWs under 20,000 euros registered from 2016 Set searchCategory to Cars, models to 3500, priceMax to 20000, registrationYearMin to 2016.

Pull a saved mobile.de search Configure the search on mobile.de, copy the address bar URL, paste it into searchUrls.

Build a dealer lead list in one region Set a search URL scoped to a postcode area, keep includeDetails on, then filter the output by dealer to get name, phone, address and coordinates.

Find damage cases and non-runners for parts Set searchCategory to Cars and sort by price ascending, then filter output on hasDamage and readyToDrive.

Track a single listing over time Paste a listing URL into searchUrls and run on a schedule to watch price and status changes.

🤖 Copy to your AI assistant

Use the Mobile.de Scraper on Apify to collect vehicle listings.
Input: either a "searchUrls" array of mobile.de search or listing URLs, or
filters: searchCategory (Car/Motorbike/Van/Truck/Motorhome/...), models (mobile.de
make id, optionally "makeId|modelId"), priceMin/priceMax, mileageKmMin/mileageKmMax,
registrationYearMin/registrationYearMax, fuelType, sort, maxItems, includeDetails.
Each result has: make, model, price + priceRating, mileageKm, powerKw/powerHp,
fuelType, transmission, features[], attributes[], images[], location{country,zip,city},
dealer{name,phone,address,latitude,longitude,ratingScore}, kba{hsn,tsn}.
Help me set the input for: <describe the vehicles you want>.

💻 Integrations

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("YOUR_USERNAME/mobile-de-scraper").call(run_input={
"searchCategory": "Car",
"models": ["3500"],
"priceMax": 20000,
"registrationYearMin": 2016,
"maxItems": 200,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["make"], item["model"], item["price"]["localized"], item["dealer"]["phone"])

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('YOUR_USERNAME/mobile-de-scraper').call({
searchUrls: [{ url: 'https://suchen.mobile.de/fahrzeuge/search.html?vc=Car&ms=3500%3B%3B%3B' }],
maxItems: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((v) => console.log(v.make, v.model, v.mileageKm, v.location.city));

Google Sheets and BI tools Export the dataset as CSV or connect the Apify dataset API to Google Sheets, Looker Studio or Power BI to build live dashboards of pricing and inventory.

📈 Performance

MetricValue
Results per search requestup to 500
Typical listing-only speedhundreds of results in under a minute
With full detailseach listing fetched individually for the complete record
Categories supportedcars, motorbikes, vans, trucks, semi-trailer trucks, motorhomes, machines, trailers
CoverageGermany plus other European listings on mobile.de

Runtime scales with maxItems and whether includeDetails is on. For a quick scan, turn details off and keep the rich search fields, including full dealer contact.

💾 Data export

Results are available as JSON, JSONL, CSV, Excel, HTML table, RSS and XML through the Apify Console or the API. Every run stores its dataset so you can re-download or stream it into your own tools at any time.

💡 Tips for best results

  • Start from a mobile.de search URL when you need precise filters. Everything you can pick on the site (region, equipment, seller type) carries over.
  • Turn off includeDetails for a fast first pass, then re-run with details on for the listings you care about. The search results already include price, specs and full dealer contact.
  • Use models ids for exact matching. A bare make id like 3500 returns the whole brand; add a model id (3500|20) to narrow it down.
  • Raise maxItems gradually to keep runs quick while you tune your filters.
  • Combine filters (year plus mileage plus fuel) to cut a 1.5 million listing marketplace down to the few hundred vehicles that matter.

❓ FAQ

What vehicle types can I scrape? Cars, motorbikes, vans, trucks, semi-trailer trucks, motorhomes, construction machines and trailers.

Do I need a mobile.de account or API key? No. Provide a search URL or filters and run the actor.

Can I scrape a specific search I already set up? Yes. Copy the URL from your browser after running the search on mobile.de and paste it into searchUrls.

Does it return the dealer's contact details? Yes. Every listing includes the dealer name, address, phone number, GPS coordinates, and rating where the seller is a dealer. Private sellers return the fields the marketplace exposes.

Does it include individual dealer reviews? The output includes the dealer's aggregate rating (score and review count) and a link to their reviews page. Individual review texts are not part of a listing record.

Can I get all photos of a car? Yes. With includeDetails on, the full photo set is returned as direct image URLs.

What is the price rating? When mobile.de has enough comparable data, it rates a listing's price against the market. That rating and its label are included. Some listings have no rating, which is reported honestly rather than guessed.

Are prices numbers or text? Both. price.amount is a number and price.localized is the formatted string shown on the site.

What are the KBA codes? hsn and tsn are the German vehicle registration type codes, useful for exact model identification and parts matching.

Can I run this on a schedule? Yes. Use Apify Schedules to run daily or hourly and track price and inventory changes over time.

This scraper collects data that mobile.de publishes openly, without logging in. Use it responsibly and in line with applicable law. When your results include personal data (for example a private seller's name or phone number), you are the data controller and are responsible for a lawful basis and for honouring data-subject rights under the GDPR, the CCPA, and similar regulations. Do not use scraped contact details for unsolicited outreach where that is prohibited. Review mobile.de's terms and your own legal obligations before large-scale collection.

Looking for other vehicle marketplaces? Explore our other automotive and classifieds scrapers on Apify to cover more inventory across Europe.

📬 Support

Have a use case that needs a field we do not return yet, or a search that behaves unexpectedly? Reach out through the actor's Apify page and we will help you get the data you need.