mobile.de Scraper
Pricing
from $1.00 / 1,000 results
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
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 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?
| Feature | What you get |
|---|---|
| Structured filters | Search by make, model, fuel type, price range, mileage, year, power, body type, ZIP code with radius, and sort order — no manual URL construction |
| Price intelligence | mobile.de's own price rating on every listing (Guter Preis, Fairer Preis, Sehr guter Preis) — data most scrapers don't expose |
| Seller transparency | Dealer name, star rating, and review count — not just a name string |
| Multiple images | 1–5 thumbnail URLs per listing, not a single preview |
| Stable schema | 29 typed fields, always present, null when unavailable — no downstream cleanup |
| AI-agent ready | Compact 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
maxResultsto control cost. Each emitted listing is one billable event. Start small (10–50) to validate your filters, then scale up. - Use
startUrlsfor 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
| Parameter | Type | Default | Description |
|---|---|---|---|
| Search | |||
query | string | — | Free-text search (e.g. "VW Golf GTI"). |
make | string | — | Car make (e.g. "Volkswagen", "BMW"). |
model | string | — | Car model (e.g. "Golf", "3er"). Requires make. |
startUrls | array | — | Direct mobile.de search URLs for full filter control. |
maxResults | integer | 50 | Maximum listings to return (0 = unlimited). |
maxPages | integer | 5 | Maximum search pages per source. Each page returns ~26 listings. |
| Filters | |||
condition | enum | — | NEW, USED, EMPLOYEE_CAR, PRE_REGISTRATION, CLASSIC |
fuelType | enum | — | DIESEL, PETROL, ELECTRIC, HYBRID, PLUG_IN_HYBRID, CNG, LPG, HYDROGEN |
transmission | enum | — | MANUAL_GEAR, AUTOMATIC_GEAR, SEMI_AUTOMATIC_GEAR |
bodyType | enum | — | LIMOUSINE, KOMBI, KLEINWAGEN, COUPE, CABRIO, SUV, GELAENDEWAGEN, VAN, PICKUP |
sellerType | enum | — | DEALER, PRIVATE |
priceMin / priceMax | integer | — | Price range in EUR |
mileageMin / mileageMax | integer | — | Mileage range in km |
yearMin / yearMax | integer | — | First registration year range |
powerMin / powerMax | integer | — | Engine power range in PS |
zipCode | string | — | German postal code for location search |
radiusKm | integer | — | Search radius around ZIP code (km) |
sort | enum | "relevance" | relevance, price_asc, price_desc, mileage_asc, registration_desc, registration_asc |
| Output | |||
compact | boolean | false | Core fields only — smaller payloads for AI/MCP workflows. |
Note:
transmissionandbodyTypenarrow 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.
| Field | Type | Population | Description |
|---|---|---|---|
listingId | string | 100% | Deterministic SHA-256 ID |
listingKey | string | 100% | mobile.de internal listing ID |
canonicalUrl | string | 100% | Direct link to listing |
title | string | 100% | Full listing title |
make | string | 100% | Car make (Volkswagen, BMW, ...) |
model | string | 100% | Car model (Golf, 3er, ...) |
price | number | 100% | Price in EUR |
priceCurrency | string | 100% | Always "EUR" |
priceType | string | 100% | Price type (FIXED) |
vatDeductible | boolean | 23% | VAT deductible (commercial vehicles only) |
mileageKm | number | 96% | Mileage in km (null for new/unregistered vehicles) |
firstRegistration | string | 98% | First registration (MM/YYYY) |
fuelType | string | 96% | Fuel type (Benzin, Diesel, Elektro, ...) |
powerKw | number | 100% | Engine power in kW |
powerPs | number | 100% | Engine power in PS |
condition | string | 62% | Unfallfrei, Vorführfahrzeug (when marked by mobile.de) |
priceRating | string | 81% | mobile.de price assessment (Guter Preis, Fairer Preis, ...) |
sellerName | string | 97% | Dealer or seller name |
sellerType | string | 99% | DEALER or PRIVATE |
sellerRating | number | 84% | Seller star rating (1–5) |
sellerReviewCount | number | 96% | Number of seller reviews |
location | string | 98% | Seller ZIP + city |
imageUrls | string[] | 100% | 1–5 listing thumbnail URLs |
numImages | number | 100% | Number of preview images |
sourceUrl | string | 100% | Detail page URL |
searchQuery | string | 100% | Query used for this result |
searchUrl | string | 100% | Search URL used |
isSponsored | boolean | 100% | Whether listing is promoted |
scrapedAt | string | 100% | 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.
conditionis 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.vatDeductibleis only true for commercial/VAT-eligible listings, which make up roughly 23% of results.sellerRatingrequires 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.
| Event | Price | When |
|---|---|---|
actor-start | $0.005 | Once per run |
result | $0.001 | Per listing emitted |
| Scenario | Listings | Cost |
|---|---|---|
| Quick test | 10 | $0.015 |
| Daily price monitor | 50 | $0.055 |
| Market scan | 500 | $0.505 |
| Full export | 1,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.
Is scraping mobile.de legal?
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.
🔗 Related actors
- Bilbasen.dk Scraper — Alternative automotive listing coverage for Denmark's largest car marketplace.
- DBA.dk Marketplace Scraper — Classified listings from Denmark's largest marketplace.
- FINN.no Torget Scraper — Norway's largest classifieds marketplace.