mobile.de Scraper avatar

mobile.de Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
mobile.de Scraper

mobile.de Scraper

Extract structured car listings from mobile.de — Germany's largest car marketplace.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Black Falcon Data

Black Falcon Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

🔍 What is mobile.de Scraper?

Extract structured car listings from mobile.de — Germany's largest used car marketplace — and turn them into clean JSON for price monitoring, dealer research, inventory feeds, and automotive analytics.

mobile.de Scraper

mobile.de lists 1.4 million+ vehicles from dealers and private sellers across Germany, but it does not offer a structured export. This actor closes that gap: search with typed filters, get back 29 fields per listing — including mobile.de's own price assessment, seller star ratings, and multiple thumbnail images — in a schema that stays the same across every run.

🎯 What you can do with this actor

  • Monitor prices across the market — track asking prices by make, model, region, and fuel type. Each listing includes mobile.de's own price assessment ("Guter Preis", "Fairer Preis") so you see where it sits relative to comparable vehicles without building your own pricing model.
  • Research dealers at scale — every listing carries dealer name, star rating, review count, and location. Build ranked dealer lists by region, spot high-volume sellers, or qualify leads for outreach — without clicking through thousands of pages.
  • Build recurring inventory feeds — schedule daily or weekly runs and pipe results into a warehouse, BI dashboard, or downstream API. The schema is stable across runs, so consumers don't need per-run cleanup logic.
  • Feed AI agents and MCP workflows — compact mode strips output to 13 core fields. Classification, ranking, and summarization pipelines get the data they need without burning token budget on metadata.

✨ Why choose this actor?

FeatureWhat you get
Structured filtersSearch by make, model, fuel type, price range, mileage, year, power, body type, ZIP code with radius, and sort order — no manual URL construction
Price intelligencemobile.de's own price rating on every listing (Guter Preis, Fairer Preis, Sehr guter Preis) — data most scrapers don't expose
Seller transparencyDealer name, star rating, and review count — not just a name string
Multiple images1–5 thumbnail URLs per listing, not a single preview
Stable schema29 typed fields, always present, null when unavailable — no downstream cleanup
AI-agent readyCompact mode for smaller payloads in MCP tools, LLM pipelines, and agent workflows

🚀 Quick start

Search by keyword:

{
"query": "volkswagen golf",
"maxResults": 50
}

Search with filters — no URL needed:

{
"make": "BMW",
"fuelType": "DIESEL",
"priceMax": 25000,
"yearMin": 2020,
"maxResults": 100
}

Location-based search:

{
"query": "tesla",
"zipCode": "80331",
"radiusKm": 50,
"sort": "price_asc"
}

Paste a mobile.de search URL directly when you need filters beyond what the input parameters offer, or when you've already built a search on mobile.de and want to replicate it exactly:

{
"startUrls": [
"https://suchen.mobile.de/fahrzeuge/search.html?s=Car&isSearchRequest=true&ms=25200%3B8%3B&dam=0&fr=2020%3B&ml=%3B100000"
],
"maxResults": 200
}

Tips for better results

  • Combine filters to narrow results before they reach your pipeline. Filtering by make + fuel type + price range + year is more efficient than scraping everything and filtering afterward.
  • Use maxResults to control cost. Each emitted listing is one billable event. Start small (10–50) to validate your filters, then scale up.
  • Use startUrls for edge-case filters not exposed as input parameters. Build the search on mobile.de, copy the URL, paste it in.
  • Compact mode is designed for AI pipelines. If you're feeding results into an LLM or MCP tool, enable it to cut payload size by ~60%.

📊 Sample output

Here's what you get for a single listing from a real search for "volkswagen golf":

{
"listingId": "7a358277a435...c19b875f",
"listingKey": "437693332",
"canonicalUrl": "https://suchen.mobile.de/fahrzeuge/details.html?id=437693332",
"title": "Volkswagen Golf VIII Style 1.4 TSI DSG eHybrid",
"make": "Volkswagen",
"model": "GolfVIII",
"price": 23480,
"priceCurrency": "EUR",
"priceType": "FIXED",
"vatDeductible": true,
"mileageKm": 21790,
"firstRegistration": "09/2022",
"fuelType": "Hybrid (Benzin/Elektro)",
"powerKw": 110,
"powerPs": 150,
"condition": "Unfallfrei",
"priceRating": "Guter Preis",
"sellerName": "Volkswagen Zentrum Göttingen AH Südhannover GmbH",
"sellerType": "DEALER",
"sellerRating": 4.3,
"sellerReviewCount": 170,
"location": "37081 Göttingen",
"imageUrls": [
"https://img.classistatic.de/api/v1/mo-prod/images/3b/3b126a25-...",
"https://img.classistatic.de/api/v1/mo-prod/images/fa/fa9a2d5b-...",
"https://img.classistatic.de/api/v1/mo-prod/images/a1/a180e580-..."
],
"numImages": 3,
"sourceUrl": "https://suchen.mobile.de/fahrzeuge/details.html?id=437693332",
"searchQuery": "volkswagen golf",
"searchUrl": "https://suchen.mobile.de/fahrzeuge/search.html?s=Car&isSearchRequest=true&q=volkswagen+golf",
"isSponsored": false,
"scrapedAt": "2026-03-21T23:05:24.446Z"
}

⚙️ Input reference

ParameterTypeDefaultDescription
Search
querystringFree-text search (e.g. "VW Golf GTI").
makestringCar make (e.g. "Volkswagen", "BMW").
modelstringCar model (e.g. "Golf", "3er"). Requires make.
startUrlsarrayDirect mobile.de search URLs for full filter control.
maxResultsinteger50Maximum listings to return (0 = unlimited).
maxPagesinteger5Maximum search pages per source. Each page returns ~26 listings.
Filters
conditionenumNEW, USED, EMPLOYEE_CAR, PRE_REGISTRATION, CLASSIC
fuelTypeenumDIESEL, PETROL, ELECTRIC, HYBRID, PLUG_IN_HYBRID, CNG, LPG, HYDROGEN
transmissionenumMANUAL_GEAR, AUTOMATIC_GEAR, SEMI_AUTOMATIC_GEAR
bodyTypeenumLIMOUSINE, KOMBI, KLEINWAGEN, COUPE, CABRIO, SUV, GELAENDEWAGEN, VAN, PICKUP
sellerTypeenumDEALER, PRIVATE
priceMin / priceMaxintegerPrice range in EUR
mileageMin / mileageMaxintegerMileage range in km
yearMin / yearMaxintegerFirst registration year range
powerMin / powerMaxintegerEngine power range in PS
zipCodestringGerman postal code for location search
radiusKmintegerSearch radius around ZIP code (km)
sortenum"relevance"relevance, price_asc, price_desc, mileage_asc, registration_desc, registration_asc
Output
compactbooleanfalseCore fields only — smaller payloads for AI/MCP workflows.

Note: transmission and bodyType narrow the search correctly but are not returned as output fields. mobile.de does not display them on search result cards.

📦 Output fields

Each listing is one JSON record with 29 typed fields. Core vehicle data (price, specs, power) is present on virtually every listing. Seller data (rating, reviews) depends on whether the seller has sufficient review history. Condition and price rating are only populated when mobile.de explicitly marks the listing.

FieldTypePopulationDescription
listingIdstring100%Deterministic SHA-256 ID
listingKeystring100%mobile.de internal listing ID
canonicalUrlstring100%Direct link to listing
titlestring100%Full listing title
makestring100%Car make (Volkswagen, BMW, ...)
modelstring100%Car model (Golf, 3er, ...)
pricenumber100%Price in EUR
priceCurrencystring100%Always "EUR"
priceTypestring100%Price type (FIXED)
vatDeductibleboolean23%VAT deductible (commercial vehicles only)
mileageKmnumber96%Mileage in km (null for new/unregistered vehicles)
firstRegistrationstring98%First registration (MM/YYYY)
fuelTypestring96%Fuel type (Benzin, Diesel, Elektro, ...)
powerKwnumber100%Engine power in kW
powerPsnumber100%Engine power in PS
conditionstring62%Unfallfrei, Vorführfahrzeug (when marked by mobile.de)
priceRatingstring81%mobile.de price assessment (Guter Preis, Fairer Preis, ...)
sellerNamestring97%Dealer or seller name
sellerTypestring99%DEALER or PRIVATE
sellerRatingnumber84%Seller star rating (1–5)
sellerReviewCountnumber96%Number of seller reviews
locationstring98%Seller ZIP + city
imageUrlsstring[]100%1–5 listing thumbnail URLs
numImagesnumber100%Number of preview images
sourceUrlstring100%Detail page URL
searchQuerystring100%Query used for this result
searchUrlstring100%Search URL used
isSponsoredboolean100%Whether listing is promoted
scrapedAtstring100%ISO-8601 timestamp

Population rates measured across 240 listings from 20 diverse queries.

⚠️ Known limitations

  • This version extracts data from search result pages only. Full descriptions, equipment lists, and full-resolution image galleries are available on mobile.de detail pages but are not included in v1.
  • condition is only populated when mobile.de explicitly marks the listing (e.g. "Unfallfrei", "Vorführfahrzeug"). Most regular used car listings do not carry a condition badge.
  • vatDeductible is only true for commercial/VAT-eligible listings, which make up roughly 23% of results.
  • sellerRating requires enough review history — private sellers and small dealers may not have a rating.
  • Images are search result thumbnails (1–5 per listing), not the full-resolution gallery from the detail page.

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

This actor uses pay-per-event pricing, so you pay a small run-start fee and then only for listings that are actually emitted.

EventPriceWhen
actor-start$0.005Once per run
result$0.001Per listing emitted
ScenarioListingsCost
Quick test10$0.015
Daily price monitor50$0.055
Market scan500$0.505
Full export1,000$1.005

💡 Use cases

Price monitoring and market intelligence

Track asking prices across makes, models, regions, and fuel types over time. The priceRating field tells you whether each listing is priced above or below market. Combine with sellerRating to distinguish high-quality dealers from the rest, or filter by fuelType to track the diesel-to-electric transition in specific regions.

Dealer inventory aggregation

Build a unified view of dealer stock across Germany. Filter by ZIP code and radius to focus on a region, sort by registration date to find fresh inventory, and feed structured records into a BI dashboard or warehouse table on a recurring schedule.

Lead generation for automotive services

Identify active dealers by region with high listing volume and strong ratings. Use sellerName, sellerRating, sellerReviewCount, and location to build qualified prospect lists. Combine with fuelType: "ELECTRIC" to target dealers active in the EV market.

Recurring data pipelines

Schedule daily or weekly runs to keep datasets fresh. Export to CSV, JSON, Google Sheets, or push directly to a warehouse. The schema is stable across runs — field names, types, and key presence don't change, so downstream consumers don't need per-run adaptation.

🤖 AI-agent and MCP usage

Compact mode returns 13 core fields per listing, keeping payloads small for LLM context windows, MCP tool calls, and classification pipelines:

{
"query": "audi a4 diesel",
"maxResults": 10,
"compact": true
}

Compact fields: listingId, title, make, model, price, priceCurrency, mileageKm, firstRegistration, fuelType, powerPs, condition, location, canonicalUrl.

Full mode returns all 29 fields. Use compact when you need volume with low overhead; use full when you need seller data, images, or price ratings.

❓ FAQ

How fast does it run?

A typical run with maxResults: 50 completes in 10–15 seconds. Each search page takes 3–5 seconds and returns ~26 listings. Larger runs (500–1000 results) scale linearly with the number of pages.

Does it include full images and vehicle descriptions?

Each listing includes 1–5 thumbnail images from the search results. Full-resolution image galleries, detailed equipment lists, and seller descriptions are on mobile.de detail pages and are not included in this version. Detail enrichment may be added as an opt-in feature in a future release.

Can I filter by transmission or body type?

Yes — both work as search filters and narrow your results correctly. However, mobile.de does not display transmission or body type on search result cards, so these values are not in the output.

Why are some fields null?

Null means the data is not present on that listing's search card. condition is only set when mobile.de marks a listing as "Unfallfrei" or "Vorführfahrzeug". vatDeductible only applies to commercial vehicles. sellerRating requires sufficient review history. priceRating is not shown on every listing. Fields are always present in the schema — never missing keys — but null when the source does not provide the data.

Can I scrape multiple makes in one run?

Each run handles one query or one set of filters. To scrape multiple makes, run the actor multiple times with different inputs, or use startUrls with pre-built search URLs. Schedule multiple runs and merge datasets downstream.

What happens with very large result sets?

Use maxPages to control how deep the scraper goes. Each page returns ~26 listings. With maxPages: 50 (the maximum), you can extract up to ~1,300 listings per query. For broader coverage, run multiple queries with different filters.

Can I integrate with other apps?

Yes. Connect to Google Sheets, Slack, Make, Zapier, or any webhook endpoint using Apify integrations. Use webhooks to trigger actions when a run completes.

Can I use this as an API?

Yes. Use the Apify API to start runs, retrieve results, and manage schedules programmatically. Client libraries are available for Node.js and Python.

This actor accesses publicly available listing data. Review mobile.de's terms of service and your local regulations before using the data commercially. You should only collect personal data if you have a legitimate reason to do so.