Mobile.de Scraper — Car Dealer Leads with Emails avatar

Mobile.de Scraper — Car Dealer Leads with Emails

Pricing

$5.00 / 1,000 per dealer lead returneds

Go to Apify Store
Mobile.de Scraper — Car Dealer Leads with Emails

Mobile.de Scraper — Car Dealer Leads with Emails

Scrape German car dealers from Mobile.de's regional dealer directory as clean B2B leads: company name, street, ZIP, city, e-mail, phone, website, VAT ID, star rating, geo-coordinates and live inventory. One deduplicated row per dealer. Filter by state, city and make. No login.

Pricing

$5.00 / 1,000 per dealer lead returneds

Rating

0.0

(0)

Developer

Scrapers Delight

Scrapers Delight

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a day ago

Last modified

Share

Mobile.de Dealer Leads Scraper

Turns Mobile.de — Europe's largest vehicle marketplace — into a B2B lead list of German car dealers: one clean row per dealer, with the e-mail, phone, address, VAT ID, star rating and live inventory already joined together.

It reads Mobile.de's own regional dealer directory (home.mobile.de/regional/), which is organised by federal state → city, so you enumerate dealers directly instead of guessing at them from car adverts.


What one row looks like

{
"source": "mobile.de",
"dealerId": "45655133",
"companyName": "Autoboutique Stuttgart GmbH",
"email": "konstantin@autoboutique.io",
"phone": "+4971125089501",
"whatsapp": null,
"website": null,
"street": "Stockholmer Platz 1",
"zip": "70173",
"city": "Stuttgart",
"countryCode": "DE",
"latitude": 48.7897069,
"longitude": 9.1838239,
"vatId": "DE457995887",
"ratingScore": null,
"ratingCount": null,
"contactLanguages": ["de"],
"memberSince": "7 Monaten",
"inventoryCount": 1,
"brands": ["Mercedes-Benz"],
"priceMin": 173000,
"priceMax": 173000,
"inventorySampleComplete": true,
"description": null,
"imprint": "Autoboutique Stuttgart GmbH Stockholmer Platz 1 70173 Stuttgart Deutschland …",
"dealerPageUrl": "https://home.mobile.de/AUTOBOUTIQUESTUTTGARTGMBH",
"enriched": true,
"province": "Baden-Württemberg",
"cityQueried": "Stuttgart",
"makeQueried": null,
"scrapedAt": "2026-09-09T15:54:03.556Z"
}
fieldwhat it is
dealerIdMobile.de's own dealer id — the stable dedup key
companyNameRegistered dealer / company name
email · phone · whatsappContact block from the dealer's own page. Phone and WhatsApp are normalised to E.164
websiteThe dealer's own site, where they publish one
street · zip · city · countryCodeFull postal address
latitude · longitudeGeo-coordinates, for radius filtering and mapping
vatIdGerman VAT ID (USt-IdNr.) from the statutory Impressum
ratingScore · ratingCountMobile.de star rating and how many reviews it is built on
contactLanguagesLanguages the dealer will take enquiries in
memberSinceHow long they have sold on Mobile.de (as Mobile.de phrases it, e.g. "10 Jahren")
inventoryCountVehicles the dealer has live right now
brands · priceMin · priceMaxMakes stocked and the price band — from a sample, see below
inventorySampleCompletetrue only when that sample covered the dealer's whole live inventory
imprintRaw Impressum text (managing director, register number, VAT)
enrichedtrue if the dealer's own page was read; false means the contact columns were not read, not that they are empty
provinceThe federal state the dealer's directory listing sits in — the real state even on an All Germany run, null only for a nationwide make filter, whose payload carries no state

The two honesty flags, and why they are there

enriched — a row can reach you two ways. If the dealer has a Mobile.de dealer page, we fetch it and you get the full contact block. If they publish their own website instead (3–8% of dealers across the measured samples), there is no Mobile.de page to read: you still get name, street, ZIP, city and their website, and enriched is false. A null e-mail on an enriched: false row means not read, never the dealer has no e-mail.

inventorySampleCompleteinventoryCount is Mobile.de's authoritative live total, but brands, priceMin and priceMax are derived from the first page of that dealer's listings (up to 20 vehicles). For a dealer with 46 cars live you get the real 46 in inventoryCount, a price band computed from 20 of them, and inventorySampleComplete: false saying so.

Input

inputdefaultwhat it does
provinceBaden-WuerttembergWhich federal state to scrape, or All Germany to walk all 16 (see the note below)
cityOptional single city. Case- and umlaut-insensitive: Munchen, Muenchen and München all find the same place
makeAnyOptional make filter. Mobile.de publishes make-filtered dealer pages for ten makes only: Audi, BMW, Fiat, Ford, Mercedes-Benz, Opel, Peugeot, Renault, Toyota, Volkswagen
maxDealers100Cap on unique dealers delivered and billed (0 = whole scope, ceiling 5000/run)
enrichEmailstrueFetch each dealer's page for contact + inventory. Off = fast directory-only pull
proxyConfigurationApify ProxyRESIDENTIAL, country DE

If you ask for a city or a make Mobile.de does not publish a directory page for, the run tells you what it does list and charges nothing — it never quietly returns the whole state instead.

State values are spelled ASCII (Baden-Wuerttemberg, Thueringen) so API callers never have to worry about UTF-8; the province column in your output carries the proper German name.

All Germany walks the 16 states in order, it does not interleave them. So a run capped below the national total is a complete sample of the first states, not a representative slice of Germany — 45 dealers of "All Germany" are 45 Baden-Württemberg dealers. The status message says how many of the 16 state lists the run actually got to. For a national pull, raise maxDealers (ceiling 5000 per run) or run the states one at a time.

How big is a scope?

Measured live on 2026-09-09 — 35 dealers per directory page throughout:

scopedealerspages
Bayern5,853168
Baden-Württemberg4,776137
Hessen2,14662
Berlin75422
München (city)45614
Stuttgart (city)1425
Stuttgart + BMW121

Measured performance

Real runs on the Apify platform through Proxy RESIDENTIAL-DE, re-measured 2026-09-09 — these are the platform's own billed figures, not estimates:

with enrichEmailswith enrichEmails500-lead scale rundirectory only
scopeBayernBaden-WürttembergBayernHessen
dealers delivered6010050040
dealers billed6010050040
wall time113 s (≈1.9 s per dealer)191 s679 s (≈1.4 s per dealer)13 s (≈0.3 s per dealer)
HTTP responses601005003
platform cost, whole run$0.0384$0.0844$0.3985$0.0019
— of which residential proxy4.87 MB → $0.03908.42 MB → $0.067443.1 MB → $0.3390.07 MB → $0.0005
platform cost per delivered lead$0.00064$0.00084$0.00080$0.00005
residential KB per delivered lead81 KB84 KB88 KB1.6 KB
blocks / challenge retries2 (all recovered)000
enrichment failures000

Cost per lead is flat with scale — $0.00064 at 60 rows, $0.00084 at 100, $0.00080 at 500. The 500-lead run delivered and billed exactly 500, with zero duplicate dealer ids and zero blocks, peaking at 170 MB inside the 1,024 MB container.

Against the $0.005 price, an enriched lead costs about 13–17% of what it sells for; a directory-only lead is essentially free to produce. Small runs are relatively dearer because resolving the scope costs a fixed 2–3 requests: a 5-lead run measured $0.0012 per lead.

Residential proxy is the dominant cost — about 81 KB per enriched lead on the wire, roughly $0.00065 of it. For scale: the same 60-lead Bayern run with the proxy turned off cost $0.0026 in total and finished in 26 s, so the proxy is buying reliability, not data.

The RUN_SUMMARY record also reports response bytes per row (61 KB on that 60-lead run). That counter measures the response payload only — Apify's billed proxy figure is somewhat higher because it also counts the request side and connection overhead. Read the run's usageUsd for actual money.

Field fill rate (same 60-dealer Bayern sample)

fieldfill
companyName, street, zip, city100%
email92% (100% of the dealers that have a Mobile.de page)
phone92%
inventoryCount, imprint92%
latitude / longitude90%
vatId75%
ratingScore57%
website53%

The 8% shortfall on the enriched columns is the dealers who publish an external website instead of a Mobile.de page — see enriched above. Every dealer that does have a Mobile.de page was read successfully: 55/55 here, 97/97 on the 100-lead run.

Pricing

Pay per event: $0.005 per dealer-lead — charged only for a dealer row actually delivered to your dataset. Deduplication happens before billing, so you are never charged twice for the same dealer in a run, and a run that returns nothing costs nothing.

Delivery is budget-aware. Verified on the platform: a run capped at $0.02 delivered 4 leads, billed 4, fetched contact pages for exactly those 4, and reported "Result TRUNCATED by your run budget cap" in its status message; a $0.017 cap delivered and billed 3. Delivered and billed counts matched exactly on every measured run — and if they ever disagree the Actor fails the run rather than reporting success on bad output.

Every run also writes a RUN_SUMMARY record to the key-value store with the scope, delivered vs billed counts, what truncated the result, enrichment success rate and proxy bytes per row.

Proxy

home.mobile.de sits behind Akamai. The Actor defaults to Apify RESIDENTIAL with a DE exit, keeps a cookie jar per session, paces its requests and rotates to a fresh IP on a challenge — that is the configuration these numbers were measured on, and the one to keep unless you have a reason not to.

It is a default, not a hard requirement. Measured on this Actor on 2026-09-09, a residential US exit returned 8 of 8 leads with full contact data, and a run with no proxy at all returned 60 of 60 with 55 e-mails. Akamai can start challenging at any time, so RESIDENTIAL-DE stays the default; but if a run comes back empty the status message tells you which of the two things happened — Mobile.de refused the request, or the proxy itself could not be reached.

Mobile.de is a public marketplace, and dealer contact details are published by the dealers themselves — very often in the statutory Impressum this Actor also returns. You are responsible for how you use them: for outreach into the EU that means GDPR, and elsewhere the local equivalent.