DubiCars Dealer Scraper - UAE Car Dealers, Phones & Emails
Pricing
$1.80 / 1,000 per dealer returneds
DubiCars Dealer Scraper - UAE Car Dealers, Phones & Emails
Export UAE car dealers from DubiCars: name, emirate, direct phone, map coordinates, live inventory count and the export-dealer flag, plus e-mail and street address. 684 dealers reachable - DubiCars stops serving its own directory past page 30, and this Actor says so rather than pretending otherwise.
Pricing
$1.80 / 1,000 per dealer returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 hours ago
Last modified
Categories
Share
DubiCars Dealer Scraper — UAE Car Dealers
Turns the dealer directory of DubiCars, the UAE's largest car marketplace, into a B2B lead list: one row per dealer with a direct phone number, e-mail, street address, map coordinates and live inventory count.
Read this before you buy: coverage
DubiCars advertises 1,522 dealers. Its directory serves 684 of them.
That is not a limitation of this Actor — it is the site refusing its own pagination. Page 30 of the directory returns normally; page 31 returns a Cloudflare challenge, deterministically, from datacenter and residential exits alike, while the page footer carries on linking to pages 31 through 96 as though they worked. This Actor sweeps every facet the site does serve — the global list plus each of the eight emirate views — and deduplicates, which lifts the reachable set from 480 to 684 (44.9%).
A scraper that trusted the footer's page links would fire ~65 refused requests per run and hand you
480 rows while the page it just read says 1,522. This one tells you the number and reports it in
RUN_SUMMARY as reachableUnion against advertisedByDubicars.
What one row looks like
{"dealerId": "2516","dealerName": "777 Cars Trading","emirate": "Dubai","carsCount": 64,"phone": "+97142695977","email": "motorsdxb777@gmail.com","streetAddress": "Aweer, Showroom 74","latitude": 25.086817,"longitude": 55.145386,"priceRange": "AED 70,000 - AED 1,950,000","listingsSampled": 30,"exportListingsInSample": 0,"sellsForExport": false,"enriched": true}
| field | what it is |
|---|---|
dealerName · emirate · carsCount | Identity and how many vehicles they have live right now |
phone | Direct dealer line — comes free from the directory, not from the enrichment step |
latitude · longitude | Map coordinates, also free from the directory |
email · streetAddress · priceRange | From the dealer's own page, when enrichContacts is on |
listingsSampled · exportListingsInSample · sellsForExport | See the export question below |
enriched · enrichmentNote | false means the dealer's page was not read — never that they have no e-mail |
detailUrlIsCanonical | false where the directory published no link and the dealer id was used instead |
Measured across two live runs: 16 of 18 dealers enriched (89%) — 12/12 on one sample, 4/6 on another. The two that failed publish no structured contact block on their own page; they are still delivered, flagged enriched: false with the reason, and not charged differently.
The export question, answered honestly
DubiCars shows an "export dealers" filter and states a cohort of 186 on the button. That filter
does not work as a URL. ?filter=only-for-export returns a byte-identical page to the unfiltered
view — same 16 dealers, same "1522 dealers found" — and so does every other parameter form. The
directory simply ignores unknown query parameters.
So this Actor does not sell you an export flag copied off a filter it cannot reproduce. What it
gives you instead is measured per dealer, from that dealer's own listings: exportListingsInSample
counts how many of their live vehicles are flagged for export rather than the local market, and
sellsForExport is true when that count is above zero. listingsSampled tells you how many listings
that judgement is based on, so you can see how strong it is. Where no listings were sampled, all
three are null rather than a guess.
Input
| input | default | what it does |
|---|---|---|
emirate | all | Dubai 428 · Sharjah 156 · Ajman 45 · Abu Dhabi 44 · Umm al-Quwain 5 · Al Ain 4 · Ras al-Khaimah 2 |
minCarsCount | 0 | Keep only dealers with at least this many vehicles live — a proxy for dealer size |
enrichContacts | true | Reads each dealer's page for e-mail, address and price range. Off = fast directory-only pull, but phone and coordinates are still included |
maxDealers | 200 | Cap on delivered and charged rows, applied after sorting by inventory size |
proxyConfiguration | Apify Proxy (datacenter) | Datacenter is enough — the page-30 boundary behaves identically on residential, so residential buys nothing here |
Results come back largest dealer first, so a capped run returns the dealers with real inventory rather than an arbitrary slice.
Pricing
Pay per event: $0.0018 per dealer-lead — charged only for a dealer row actually delivered.
Filters are applied before delivery, so rows they drop are never charged, and a run that returns
nothing costs nothing. A full enriched pull of all 684 reachable dealers is $1.23.
A row where the dealer's page could not be read is still delivered — flagged enriched: false with
the reason — so you can see what was missed instead of being quietly short-changed.
Every run writes a RUN_SUMMARY with the advertised total, the reachable union, the coverage
fraction, the page ceiling that caused it, and delivered vs charged.
Source and legal
Data comes from the public dealer directory at dubicars.com/dealers and from each dealer's own
public page. Both are pages DubiCars serves to any visitor with no login.
robots.txt disallows /api, /ajax, /search, /search-count and /webapp. This Actor uses
none of them — it reads the HTML directory and the dealer pages, which are not disallowed. Dealer
contact details are published by the dealers themselves to attract buyers; you are responsible for
how you use them, which for outreach into the UAE means the Consumer Protection Law's e-marketing
rules, and the equivalent wherever you are sending from.