Dubizzle Scraper
Pricing
Pay per event + usage
Dubizzle Scraper
Search and export public Dubizzle UAE listings across property, cars, goods, jobs, sellers, agents, and agencies for recurring market monitoring.
Pricing
Pay per event + usage
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Search and export public Dubizzle UAE listings for recurring inventory, price, seller, agency, and broker monitoring. The Actor covers property, cars, goods, jobs, and community categories and returns structured records ready for spreadsheets, databases, scheduled comparisons, and data pipelines.
Use a keyword, a UAE city, a category path, or a Dubizzle URL. Results include stable identifiers, prices, locations, category-specific attributes, images, contact-availability flags, and public seller or agency fields when the source provides them.
This independent Actor is not affiliated with, endorsed by, or sponsored by Dubizzle.
What can you do with this Dubizzle scraper?
- Search Dubizzle cars in Dubai, Abu Dhabi, Sharjah, or all UAE cities.
- Export property-for-sale and property-for-rent inventory for market analysis.
- Track asking prices and stable listing IDs across scheduled runs.
- Compare agency and agent inventory in a location such as Dubai Marina.
- Collect classifieds, jobs, furniture, mobile, or community listing records.
- Feed current records into Google Sheets, Airtable, a warehouse, or an internal API.
- Start from a copied Dubizzle category, search, or individual listing URL.
The Actor uses Dubizzle's public browser search data directly. It does not log in, reveal hidden contact details, send messages, or modify listings.
Who is it for?
Property analysts and brokers
Build comparable listing sets by city, category, query, price, location, agent, or agency. Stable listingId and uuid values make recurring comparisons easier.
Automotive dealers and researchers
Search current Dubizzle cars and collect price, model, year, mileage, seller type, photos, and category-specific details when available.
Marketplace and resale teams
Export public goods inventory for assortment, availability, and advertised-price analysis without copying listing pages manually.
Data engineers and automation teams
Schedule the Actor, consume the default dataset through Apify API, and load typed JSON into downstream systems.
Supported input routes
- Keyword search — provide
query, optionally withcityandcategory. - Category discovery — provide a category such as
motors/used-carswithout a keyword. - Dubizzle URL — paste a category, search, or listing URL in
startUrls. - Multiple URLs — process several Dubizzle scopes in one run, deduplicated by source ID.
A city subdomain in a URL takes precedence over the top-level city input. For example, a dubai.dubizzle.com URL stays scoped to Dubai.
Supported UAE cities
- All UAE
- Dubai
- Abu Dhabi
- Sharjah
- Ajman
- Ras Al Khaimah
- Fujairah
- Umm Al Quwain
- Al Ain
Use uae when you want results across all available Emirates.
Supported listing categories
The public search index includes major Dubizzle categories such as:
- Motors and used cars
- Property for sale
- Property for rent
- Jobs
- Classified goods
- Furniture and garden
- Mobile phones and tablets
- Community and local services
Use the category slug visible in the Dubizzle URL. Examples include motors/used-cars, property-for-sale/residential, and classified.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | Dubizzle category, search, or individual listing URLs. |
query | string | — | Search phrase such as Toyota Land Cruiser or Dubai Marina. |
city | string | uae | UAE-wide or one supported city. URL subdomains override it. |
category | string | — | Optional source category slug path. |
maxItems | integer | 20 | Maximum unique records saved, from 1 to 5,000. |
You must provide at least one URL, a query, or a category.
Getting started
- Open the Actor input tab.
- Keep the prefilled Dubai used-cars URL, or replace it with your own scope.
- Set
maxItemsto the number of records you need. - Run the Actor.
- Open the Dubizzle listings dataset view.
- Export JSON, CSV, Excel, XML, or RSS, or connect the dataset API.
Example: search Dubizzle cars
{"query": "Toyota Land Cruiser","city": "dubai","category": "motors/used-cars","maxItems": 100}
This is useful for tracking model inventory and advertised prices in Dubai.
Example: export apartment rentals
{"startUrls": [{"url": "https://dubai.dubizzle.com/property-for-rent/residential/apartment/"}],"maxItems": 250}
The Actor translates supported browser URL category aliases to the corresponding public search category.
Example: monitor property brokers
{"query": "Dubai Marina","city": "dubai","category": "property-for-sale/residential","maxItems": 500}
Schedule this input and compare listingId, price, agentId, sellerName, businessId, and businessName between runs.
What data does the Actor extract?
| Group | Fields |
|---|---|
| Identity | listingId, uuid, url, shortUrl, source |
| Titles | title, titleAr, description |
| Pricing | price, currency |
| Location | city, location, latitude, longitude |
| Category | category, categoryPath, details |
| Media | photos |
| Seller | sellerType, sellerName, sellerId |
| Business | businessName, businessId, agentId |
| Contact signals | hasPhone, hasWhatsApp, canChat |
| Status | isVerified, isPremium, isFeatured |
| Time | postedAt, scrapedAt |
Fields can be null when Dubizzle does not expose them for that category or listing.
Example output
{"listingId": "item:4:2:5965:17566988","uuid": "a1b2c3d4e5f6478899aabbccddeeff00","title": "Furnished apartment with balcony","url": "https://dubai.dubizzle.com/property-for-sale/residential/apartment/example-listing/","shortUrl": "https://dubizzle.com/s/Example","price": 1250000,"currency": "AED","city": "Dubai","location": "UAE, Dubai, Dubai Marina","category": "Property for Sale > Residential > Apartment","categoryPath": ["property-for-sale/residential/apartment","property-for-sale/residential","property-for-sale"],"details": {"Bedrooms": "2","Furnished": "Yes"},"sellerType": "Agent","sellerName": "Example Agent","businessName": "Example Real Estate","hasWhatsApp": true,"isVerified": true,"source": "dubizzle","scrapedAt": "2025-01-15T12:05:00.000Z"}
The sample preserves the real output shape while anonymizing seller and listing values.
How much does it cost to scrape Dubizzle listings?
The Actor uses pay-per-event pricing:
- Start: $0.005 once per run.
- Listing: $0.001336 per saved listing on the Bronze plan, with lower per-item prices on higher plans.
At the Bronze tier, approximate Actor charges are:
| Saved listings | Approximate charge |
|---|---|
| 10 | 0.01836 USD ($0.005 + 10 × $0.001336) |
| 100 | 0.1386 USD ($0.005 + 100 × $0.001336) |
| 1,000 | 1.341 USD ($0.005 + 1,000 × $0.001336) |
Only normalized records saved to the default dataset trigger the listing event. Duplicate, invalid, empty, or failed records are not charged as listings. Apify platform usage may be billed separately depending on the pricing configuration shown in Console.
Recurring monitoring workflow
- Choose a stable query, category, and city.
- Run once and save the dataset export.
- Create an Apify schedule for the same input.
- Join consecutive datasets by
listingIdoruuid. - Detect new, removed, or price-changed records.
- Group by
businessId,agentId, category, or location. - Send changes to a webhook, spreadsheet, database, or BI tool.
The Actor emits current snapshots. It does not maintain a private historical database or claim that a missing item was sold.
Pagination, limits, and deduplication
Search results are requested in bounded pages of up to 50 records. The Actor stops when it reaches maxItems or the source reports no more pages.
When several inputs overlap, records are deduplicated by the stable Dubizzle search object ID. maxItems applies across the whole run, not separately to each URL.
URL behavior
- Only
dubizzle.comand its subdomains are accepted. - Non-Dubizzle URLs fail input validation.
- City subdomains are preserved.
- Category URLs apply equivalent category filters.
- Supported individual listing URLs are resolved through their UUID.
- Unknown URL shapes fail closed or return no matching records; they are not silently broadened to all UAE data.
Empty results and errors
A valid search can return zero records. That is a successful empty result, not fabricated data.
The Actor fails with a non-zero status for malformed input, unsupported hosts, invalid category syntax, persistent upstream errors, or an unexpected response shape. Transient upstream failures and rate limits receive bounded retries with backoff.
If a formerly working input suddenly fails, retry later and check whether Dubizzle changed its public search configuration. Avoid launching repeated large runs while the source is unavailable.
API: cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~dubizzle-uae-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"query": "Toyota Land Cruiser","city": "dubai","category": "motors/used-cars","maxItems": 100}'
Use the returned run ID to fetch status and dataset links.
API: JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/dubizzle-uae-scraper').call({query: 'Dubai Marina',city: 'dubai',category: 'property-for-sale/residential',maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API: Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/dubizzle-uae-scraper').call(run_input={'query': 'Dubai Marina','city': 'dubai','category': 'property-for-sale/residential','maxItems': 100,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Use with Apify MCP
Add this Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/dubizzle-uae-scraper"
Claude Desktop, Cursor, and VS Code
Use the same remote server JSON in Claude Desktop, Cursor, or VS Code MCP settings:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/dubizzle-uae-scraper"}}}
Example prompts:
- “Run the Dubizzle scraper for Toyota Land Cruiser used cars in Dubai and summarize median advertised price.”
- “Export 200 Dubai Marina property-for-sale records and group them by agency.”
- “Compare these two scheduled datasets by listing ID and show price changes.”
Integrations
Use Apify integrations to:
- trigger workflows through webhooks;
- write datasets to Google Sheets;
- connect Make or Zapier;
- download CSV or Excel;
- load JSON into BigQuery, Snowflake, or a custom warehouse;
- run from GitHub Actions, Airflow, or another scheduler.
Legality and responsible use
This Actor accesses publicly visible listing search data. You are responsible for complying with applicable laws, Dubizzle's terms, robots and access policies, and privacy obligations.
Do not use the output to spam sellers, evade platform controls, make automated decisions about people, or republish copyrighted text and images without permission. Contact-availability flags indicate that a contact method exists; they do not grant consent to contact anyone.
Collect only the fields and volume needed for a legitimate purpose. Protect exported datasets and delete them when no longer required.
Limitations
- Output reflects the public search index at run time, not a guaranteed complete marketplace archive.
- Some fields vary by category and can be absent.
- Hidden phone numbers, email addresses, and private account data are not extracted.
- The Actor does not log in, place ads, message sellers, download media files, or verify listing claims.
- Search ranking is controlled by Dubizzle.
- Public source configuration and search keys can change.
- Naturally sparse queries may return few or zero results.
Troubleshooting
Why did my URL return no records?
Check that it is a current UAE Dubizzle category, search, or listing URL. Very specific URL filters may not map to a public search facet. Start with the parent category and add a keyword.
Why are seller or agency fields null?
Dubizzle exposes different fields across categories and seller types. Property agent listings often include agent and agency objects, while private goods listings may expose only a seller classification.
Why did the run fail instead of returning an empty dataset?
The Actor distinguishes a valid no-result search from an upstream challenge, rejected request, or malformed response. Failure prevents a source outage from looking like a legitimate empty market.
Can I monitor changed listings?
Yes. Schedule repeat runs and compare stable listingId or uuid values. The Actor produces snapshots but does not store cross-run history itself.
Does it scrape Dubizzle Egypt or other countries?
No. This Actor is scoped to the public UAE marketplace and supported UAE city subdomains.
FAQ
Is a proxy required?
No. The shipped Actor uses the public structured search endpoint directly and does not send user traffic through a browser or residential proxy.
Can I export to CSV or Excel?
Yes. Open the dataset and select the desired export format, or request it through the dataset API.
Are duplicate records charged twice?
Not within one run. Overlapping inputs are deduplicated by stable source ID before saving and charging.
Can I scrape more than 5,000 records?
Split the work into narrower city, category, or query runs. The per-run limit keeps execution bounded and predictable.
Is the data real-time?
It is a current snapshot from Dubizzle's public search data when the run executes. Source indexing delays may exist, so the Actor does not promise instantaneous updates.
Related automation-lab Actors
For broader regional or marketplace research, combine this Actor with:
- OLX Poland Classifieds Scraper
- Yapo Chile Marketplace Listings Scraper
- Drom.ru Car Marketplace Scraper
Keep source datasets separate and normalize common fields such as title, price, location, category, URL, and scrape timestamp in your downstream pipeline.