Dubizzle UAE Scraper
Pricing
from $0.97 / 1,000 listings
Dubizzle UAE Scraper
Scrape Dubizzle UAE listings across motors, property, jobs, classifieds, and community — from start URLs, keywords, or category filters.
Pricing
from $0.97 / 1,000 listings
Rating
0.0
(0)
Developer
Farhan Ali
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Dubizzle UAE Scraper creates a structured dataset of classified listings collected from Dubizzle, the UAE's largest classifieds marketplace. Each dataset item represents one listing across motors, property, jobs, classifieds, or community sections, and can include price, location, photos, vehicle or property attributes, and seller details, with optional listing details and contact phone numbers. Query the source by Dubizzle URL, keyword, or category and city, control the result limit with maxItems and maxPages, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, or other supported formats.
Dataset at a glance
| Property | Value |
|---|---|
| Source | dubizzle.com (Dubai, Abu Dhabi, and all seven emirates) |
| Record unit | One classified listing, with optional nested attributes and seller fields |
| Input methods | Dubizzle URL (startUrls), keyword (searchQueries), or category + city |
| Main identifiers | listingId, listing url |
| Delivery | Apify Dataset and API |
| Export formats | JSON, CSV, Excel, XML, HTML (Apify dataset exports) |
| Update model | Fresh records per Actor run |
| Pricing | $1 per 1,000 listings; +$1 per 1,000 for details; +$1 per 1,000 for contact details |
Coverage and available records
The Actor collects listings from public Dubizzle pages using three entry points:
- URL-based: Pass Dubizzle search, category, or listing URLs in
startUrls. Filters already in the URL are kept. - Keyword-based: Pass keywords (for example
"toyota land cruiser") insearchQueries, optionally combined with a category and city. - Category-based: Set
categoryandcityto scrape a marketplace vertical directly.
Supported categories: motors (used cars, rental cars, number plates), jobs, property-for-rent and property-for-sale (residential and commercial), classified, and community. City scope covers all UAE, Dubai, Abu Dhabi, Sharjah, Ajman, Al Ain, Ras Al Khaimah, Fujairah, and Umm Al Quwain.
Record types and limits:
- Listing-level records are always collected: ID, URL, title, price, currency, section, category, city, location, photos, and attributes.
- Detail fields are conditional: longer descriptions, seller, coordinates, and extra attributes are returned when
fetchDetailsis enabled. - Contact fields are conditional: seller phone (and WhatsApp/email when present) is returned when
fetchContactDetailsis enabled and a number is extracted. - Result cap:
maxItemslimits the number of listings (0means unlimited);maxPageslimits search-result pages per URL or query (each page holds 25 listings).
Known exclusions: contact numbers are returned only when a number is actually revealed; each run captures page state at run time (no historical snapshots).
Data dictionary
Field names below match dataset record JSON properties exactly. Fields marked conditional appear only when the corresponding input toggle is enabled.
| Field | Type | Nullable | Description | Example |
|---|---|---|---|---|
listingId | string | No | Dubizzle listing identifier; best stable deduplication key | 16927424 |
url | string | No | Canonical listing URL | https://dubai.dubizzle.com/motors/used-cars/... |
title | string | No | Listing title | Toyota Land Cruiser LC 76 LX 2026 GCC Specs... |
price | number | Yes | Asking price | 225000.0 |
currency | string | Yes | Currency code | AED |
section | string | Yes | Marketplace section | motors |
category | string | Yes | Category breadcrumb | Used Cars > Toyota > Land Cruiser 70 Series |
city | string | Yes | City / emirate | Dubai |
location | string | Yes | Full address | Ras Al Khor Industrial 2, ... Dubai, UAE |
photos | string[] | Yes | Photo URLs | ["https://dbz-images.dubizzle.com/...", ...] |
photosCount | number | Yes | Number of photos | 14 |
attributes.make | string | Yes | Vehicle make (motors) | Toyota |
attributes.model | string | Yes | Vehicle model (motors) | Land Cruiser 70 Series |
attributes.year | number | Yes | Vehicle year (motors) | 2026 |
attributes.kilometers | number | Yes | Mileage (motors) | 0 |
attributes.fuel_type | string | Yes | Fuel type (motors) | Diesel |
attributes.transmission_type | string | Yes | Transmission (motors) | Manual Transmission |
attributes.body_type | string | Yes | Body type (motors) | SUV |
seller.type | string | Yes | Seller type code | IN |
seller.name | string | Yes | Seller or agent name | Alkady Cars |
seller.phone | string | Yes | Seller phone (conditional — fetchContactDetails) | +971564020120 |
phoneNumber | string | Yes | Revealed phone number (conditional — fetchContactDetails) | +971564020120 |
latitude | number | Yes | Map latitude (conditional — fetchDetails) | 25.17729372 |
longitude | number | Yes | Map longitude (conditional — fetchDetails) | 55.35740405 |
postedAt | string | Yes | Date posted (ISO 8601) | 2026-08-20T09:47:51+00:00 |
sourceQuery | string | Yes | Query that produced the record | toyota |
detailFetched | boolean | No | Whether detail enrichment succeeded | true |
contactFetched | boolean | No | Whether contact extraction succeeded | true |
Example dataset record
Real record produced with a keyword search (searchQueries: ["toyota"]), category motors/used-cars, city dubai, with details and contact details enabled. The photos array is truncated for readability.
{"listingId": "16927424","url": "https://dubai.dubizzle.com/motors/used-cars/toyota/land-cruiser-70-series/2026/7/31/toyota-land-cruiser-lc-76-lx-2026-gcc-spec-2-297---b1b8f42ceb9148069f95e69e262e24a7/","title": "Toyota Land Cruiser LC 76 LX 2026 GCC Specs DIFF LOCK , WINCH","price": 225000.0,"currency": "AED","section": "motors","category": "Used Cars > Toyota > Land Cruiser 70 Series","city": "Dubai","location": "Ras Al Khor Industrial 2, Ras Al Khor Industrial, Ras Al Khor, Dubai, UAE","photos": ["https://dbz-images.dubizzle.com/images/2026/07/31/e0ac29bb7d90484e96e6019b83ee0fab-.jpg?impolicy=dpv"],"photosCount": 14,"attributes": {"make": "Toyota","model": "Land Cruiser 70 Series","year": 2026,"kilometers": 0,"fuel_type": "Diesel","transmission_type": "Manual Transmission","body_type": "SUV"},"seller": {"type": "IN","name": "Alkady Cars","phone": "+971564020120"},"phoneNumber": "+971564020120","latitude": 25.17729372,"longitude": 55.35740405,"postedAt": "2026-08-20T09:47:51+00:00","sourceQuery": "toyota","detailFetched": true,"contactFetched": true}
The record above was produced with this input:
{"searchQueries": ["toyota"],"category": "motors/used-cars","city": "dubai","maxItems": 100,"maxPages": 5,"fetchDetails": true,"fetchContactDetails": true,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "AE" }}
Query and input reference
| Input | Type | Required | Default | Accepted values | Description |
|---|---|---|---|---|---|
startUrls | array (requestListSources) | No* | prefill URL | Dubizzle search, category, or listing URLs | URL-based entry point; filters in the URL are kept |
searchQueries | array (stringList) | No* | — | Keywords (e.g. "toyota land cruiser") | Keyword search, combined with category and city |
category | string | No | "" | motors, motors/used-cars, motors/rental-cars, motors/number-plates, jobs, property-for-rent, property-for-rent/residential, property-for-rent/commercial, property-for-sale, property-for-sale/residential, property-for-sale/commercial, classified, community | Marketplace vertical |
city | string | No | uae | uae, dubai, abu-dhabi, sharjah, ajman, al-ain, ras-al-khaimah, fujairah, umm-al-quwain | Geographic scope |
priceMin | integer | No | — | 0 or positive integer | Minimum price in AED |
priceMax | integer | No | — | 0 or positive integer | Maximum price in AED |
maxItems | integer | No | 0 | 0 (unlimited) or positive integer | Maximum listings to collect |
maxPages | integer | No | 0 | 0 (until results run out) or positive integer | Maximum pages per URL or query (25 listings per page) |
fetchDetails | boolean | No | false | true / false | Fetch full listing details (charged as listing details) |
fetchContactDetails | boolean | No | false | true / false | Reveal seller phone/WhatsApp (charged as contact details) |
proxyConfiguration | object | No | Apify proxy, RESIDENTIAL, country AE | Apify proxy groups or custom proxies | Residential UAE proxies are recommended |
* Provide startUrls, searchQueries, or a category — at least one source is required.
Minimal request:
{ "category": "motors/used-cars", "city": "dubai" }
Advanced request (keyword search with enrichment):
{"searchQueries": ["toyota land cruiser", "bmw x5"],"category": "motors/used-cars","city": "dubai","priceMax": 250000,"maxItems": 100,"maxPages": 5,"fetchDetails": true,"fetchContactDetails": true,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "AE" }}
Retrieve the data through the API
The Actor runs on the Apify platform, so there is no server to host and no crawling infrastructure to maintain.
- Start the Actor with a JSON input (console or API).
- Wait for the run to finish, or use a synchronous endpoint if you want the response inline.
- Retrieve items from the run's default dataset.
- Paginate or export the dataset.
Python example:
from apify_client import ApifyClientclient = ApifyClient("YOUR-APIFY-TOKEN")run_input = {"category": "motors/used-cars","city": "dubai","maxItems": 100,}run = client.actor("datascrapers/dubizzle-scraper").call(run_input=run_input)for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["listingId"], item["title"], item["price"], item["currency"])
Apify generates ready-to-run Python, JavaScript, and cURL examples on the Actor's API tab. Do not put a real API token in shared code or URLs.
Data quality and record handling
- Conditional fields: latitude, longitude, and extra attributes are present only when
fetchDetailsis enabled;phoneNumberand seller phone are present only whenfetchContactDetailsis enabled and a number is extracted. - Source changes: Dubizzle page structure and values can change; unreadable fields are returned as null rather than fabricated.
- Deduplication: each run appends fresh records; the Actor does not deduplicate listings across runs. Use
listingIdas the stable key and filter repeated runs against previously stored IDs. - Rate limits: Dubizzle can rate-limit automated traffic; residential UAE proxies are recommended for consistent coverage.
- Normalization:
priceis a numeric AED value;postedAtis an ISO 8601 UTC timestamp.detailFetchedandcontactFetchedrecord whether each enrichment succeeded.
Export and pipeline examples
| Destination | Recommended method | Typical use |
|---|---|---|
| PostgreSQL / Supabase | Dataset API poll or webhook consumer | Store vehicle or property inventory with price history |
| Google Sheets | Apify Google Sheets integration | Share market shortlists with dealers |
| CRM (HubSpot, Salesforce) | Webhook on run completion | Push new listings into lead pipelines |
| S3 / cloud storage | Scheduled export via Apify scheduler + integration | Archival of market snapshots |
Pricing and cost examples
The Actor uses pay-per-event pricing with three chargeable events, all billed per 1,000 events:
| Event | Trigger | Rate |
|---|---|---|
| Listing | Every listing record pushed to the dataset | $1 per 1,000 |
| Listing details | fetchDetails enabled, listing enriched | $1 per 1,000 |
| Contact details | fetchContactDetails enabled, phone extracted | $1 per 1,000 |
Example costs:
| Records | Configuration | Estimated base cost |
|---|---|---|
| 1,000 | Listing only | $1.00 |
| 10,000 | Listing only | $10.00 |
| 1,000 | Listing + details | $2.00 |
| 1,000 | Listing + details + contact details | $3.00 |
Apify paid plans reduce the per-1,000 rate. Contact details are charged only when a phone number is actually extracted. Estimates depend on the verified pricing model and the options selected for the run.
Limitations and responsible data use
- The Actor collects publicly accessible data from Dubizzle pages only.
- Field availability depends on what Dubizzle renders at run time; some values can be null or missing, and site changes can alter fields.
- Detail and contact fields are only collected when their toggles are enabled, and phone numbers are returned only when actually revealed.
- The Actor does not provide historical snapshots unless you store them yourself.
- Large runs require residential proxies; without them, coverage may degrade due to rate limiting.
- You are responsible for compliance with Dubizzle's terms of service, applicable privacy law, and any contractual obligations before using the data.
Dataset questions
What does one dataset item represent?
One classified listing from Dubizzle. Vehicle or property attributes and seller details are nested inside the same record, so a listing with full details still produces a single dataset item.
Which field should I use as a unique identifier?
listingId is the stable Dubizzle listing identifier and is the recommended deduplication key. The url (canonical listing URL) is a reasonable secondary key.
Are fields nullable or conditional?
Yes. Latitude, longitude, and extra attributes exist only when fetchDetails is enabled; phoneNumber and seller phone exist only when fetchContactDetails is enabled and a number is extracted. Within available records, fields that Dubizzle does not render are returned as null.
Can I retrieve the records as CSV or JSON?
Yes. The dataset can be exported as JSON, CSV, Excel, XML, or HTML from the Apify Console, and queried through the Dataset API.
Does the Actor return historical data?
No. Each run captures the state of the pages at run time. To track price changes over time, schedule repeated runs and store the outputs yourself.
What counts as a billable result?
Three pay-per-event charges apply: a listing charge for every record ($1 per 1,000), a listing-details charge for each enriched listing ($1 per 1,000), and a contact-details charge for each phone extracted ($1 per 1,000). A listing-only run incurs only the listing charge.
Which sections can I scrape?
The Actor covers motors (used cars, rental cars, number plates), jobs, property for rent and for sale (residential and commercial), classifieds, and community sections across all seven emirates.
Related datasets from Data Scrapers
- Zoopla Scraper — UK property listings for comparative real estate market research.
- Cars Scraper — US vehicle listings that can be compared with the UAE motors market.
- Apartments Scraper — US rental listings for cross-market property analysis.
Data Scrapers support
Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, required fields, expected record volume, and preferred delivery format.