Dubizzle Scraper avatar
Dubizzle Scraper

Pricing

Pay per event

Go to Store
Dubizzle Scraper

Dubizzle Scraper

Developed by

Dhrumil Bhankhar

Dhrumil Bhankhar

Maintained by Community

Scrape dubizzle .com to crawl millions of sale/rent real estate properties from UAE. Our real estate scraper also lets you monitor specific listing for new updates/listing. You can provide multiple search result listings to scrape/monitor properties in Dubai, Abu Dhabi, Sharjah, Ajman and more

0.0 (0)

Pricing

Pay per event

0

Total users

2

Monthly users

1

Runs succeeded

>99%

Last modified

a day ago

๐Ÿก What is Dubizzle Real Estate Properties Scraper?

This properties Scraper uses a pay-per-event pricing model. Usage is tracked and charged based on the number of properties processed, with additional charges for features like full property details, monitoring mode, and residential proxies. See below for details.

This properties Scraper will enable you scrape any sale/rent listing.

You can simply take your listing url from browser and enter it into this actor. This actor will crawl through all pages of particular listing and generate dataset for you.

Listing url is something you get when you perform the search on dubizzle site. Example listing urls :

๐Ÿšช What can this Dubizzle Scraper do?

๐Ÿ“ˆ Extract Dubizzle market data listings on Dubizzle

๐Ÿ‘€ This actor is not just scraper but also has monitoring capability. You can turn on monitoring mode and it will give you only newly added properties compared to your previous scrapes.

๐Ÿ“ฉ This actor also helps yu to identify which properties are not listed anymore. Please refer to Identifying delisted properties

โฌ‡๏ธ Download Dubizzle real estate data in Excel, CSV, JSON, and other formats

๐Ÿ“š How do I start scraping with this scraper?

  1. Register for your free Apify account here
  2. You don't need to provide your credit card details for free acount. Just click on "Get Started" button on above link and complete the registration only.
  3. Free account comes with reasonable credits to try out this actor. This actor also comes with free trial of 3 days without any commitment/upfront charge.
  4. Run this actor and verify the scraped data. Apify has huge integration possibilities. You can download the data or push the data into any 3rd party platform directly.

๐ŸŒณ What data can I extract using this tool?

FieldDescription
idUnique property ID
urlListing URL
titleListing Title
addressFull Address (with building name if available)
buildingBuilding Name (from DLD or property data)
communityCommunity Name
bedsNumber of Bedrooms
bathsNumber of Bathrooms
addedListing Date (Date object or ISO string)
brokerAgency/Broker Name
agentAgent Name
agentInfoAgent Profile (full details in detail mode)
agentPhoneAgent Phone Number
agentWhatsappAgent WhatsApp Number
agentEmailAgent Email
verifiedIs Listing Verified
refReference Number
brokerLicBroker License Number
brokerInfoAgency/Broker Info (full details in detail mode)
priceDurPrice Duration (e.g. per year/month)
typeProperty Type (e.g. Apartment, Villa)
pricePrice in AED
reraRERA Permit Number (detail mode only)
coords{ latitude, longitude }
dealTypeListing Type (sale/rent)
zoneZone/Area Name
sizeSize in sqft
sizeStrSize as formatted string (e.g. '1200 sqft')
furnishFurnishing Status
amenitiesList of Amenities (detail mode only)
photosList of Image URLs
descHtmlFull HTML Description (detail mode only)
rentTxDLD Rent Transaction Info (detail mode only)
saleTxDLD Sale Transaction Info (detail mode only)

Note: Some fields (like amenities, descHtml, agentInfo, brokerInfo, rera, furnish, rentTx, saleTx) are only available if you enable fullPropertyDetails (see input options below).

โฌ‡๏ธ Input

For simple usecase, you just need to provide browser url search result page & that's all. You can leave other fields as they are to be sensible defaults.

Input example

{
"listUrls": [
{
"url": ""
}
],
"propertyUrls": [
{
"url": ""
}
],
"fullPropertyDetails": false,
"monitoringMode": false,
"retrieveUnitNumber" : false,
"enableDelistingTracker" : false,
"addEmptyTrackerRecord" : false
}

You can either provide listUrls to search properties from or provide propertyUrls directly to crawl.

Understading monitoring mode :

  • fullPropertyDetails : Retreive more detailed information about property by visiting each property url.

    • Fields only available with fullPropertyDetails: true:
      • descriptionHTML (full HTML description)
      • amenities (full amenities list)
      • rentTransactionInfo (DLD rent transaction info)
      • saleTransactionInfo (DLD sale transaction info)
      • rera (RERA permit number)
      • brokerLicenseNumber (full license info from agency)
      • brokerInfo (full agency info)
      • agentInfo (full agent profile info)
      • furnishing (detailed furnishing status)
      • communityName and zoneName (with more accurate location hierarchy)
    • These fields are not available in the fast list mode and will only be included if you enable fullPropertyDetails.
  • monitoringMode : This option when turned on will only scrape newly added property listings compared to previously scraped properties by this actor. It's important to turn off fullScrape setting if you are using this mode. If you keep fullScrape on, it will re-scrape complete listing again.

  • retrieveUnitNumber : This provides you Unit number of property as well. Turn this on, only if you have Dubai Property Unit Finder actor with you. This setting requires fullPropertyDetails to be turned on.

  • enableDelistingTracker : This option when turned on will start tracking date against each property under Apify Key Value store. This KV store can be queried later to find out which properties are delisted.

  • addEmptyTrackerRecord : This option when turned on will add empty record having only id of property to Apify dataset. This helps you identify whether property is still listed compared to your own database in incremental mode.

โฌ†๏ธ Output

The scraped data is stored in the dataset of each run. The data can be viewed or downloaded in many popular formats, such as JSON, CSV, Excel, XML, RSS, and HTML.

Output example

The result for scraping a single property like this:

{
"id": 9654424,
"url": "https://sharjah.dubizzle.com/property-for-sale/residential/residential-building/2025/5/16/8-apartments-g-1-good-building-best-pri-12-187127/",
"title": "8 Apartments | G+1 | good Building | Best Price",
"address": "UAE, Sharjah, Al Yarmook",
"building": null,
"community": "Al Yarmook",
"beds": 11,
"baths": 11,
"added": {},
"broker": "Al Maqyas Real Estate",
"agent": "Mohammed Ba Raja",
"agentInfo": {
"agency": "1aac4a23-101e-4cfe-82e4-a0e33d7cbdf3",
"agency_dbz_id": 5168,
"agency_logo": "<<logo url here>>",
"agency_name": "Al Maqyas Real Estate",
"agency_slug": "al-maqyas-real-estate-5168",
"agent_profile_url": "https://uae.dubizzle.com/property-agents/mohammed-ba-raja-6803/",
"bio": {
"en": "<<agent bio here>>"
},
"bln": null,
"brn": null,
"category_details": null,
"created_at": "2023-06-08T14:32:47.239250Z",
"email": "almaqyas.shj@gmail.com",
"experience": 10,
"external_id": 1641321,
"fallback_number": null,
"id": 6803,
"is_emirati_agent": false,
"license_numbers": [],
"mobile_number": "+971506077907",
"name": {
"ar": "Mohammed Ba Raja",
"en": "Mohammed Ba Raja"
},
"phone_number": "+97167674406",
"profile_completed": true,
"profile_pic": "<<profile pic here>>",
"proxy_number": null,
"service_areas": ["service areas here"],
"social_media": [
{
"social_media_platform": "facebook",
"social_media_url": ""
},
{
"social_media_platform": "instagram",
"social_media_url": ""
}
],
"specialities": ["specialities list here"],
"target_phone_number": null,
"updated_at": "2025-06-08T09:41:28.900242Z",
"whatsapp_number": "+971506077907"
},
"agentPhone": "+971506077907",
"agentWhatsapp": "+971506077907",
"agentEmail": "almaqyas.shj@gmail.com",
"verified": false,
"ref": "Yarmouk002",
"brokerLic": "797665",
"brokerInfo": {
"adm_licence_no": "",
"dbz_id": 5168,
"ded_licence_no": "797665",
"email": "almaqyas.shj@gmail.com",
"logo": "<<broker info here>>",
"name": "Al Maqyas Real Estate",
"rera_registration_no": "",
"short_term_licence_no": "",
},
"priceDur": null,
"type": "Residential Building",
"price": 2100000,
"rera": null,
"currency": "AED",
"coords": {
"latitude": 25.349800109863,
"longitude": 55.404499053955
},
"dealType": "sale",
"zone": "Sharjah",
"size": 3067,
"sizeStr": "3067 sqft",
"furnish": "Unfurnished",
"amenities": [],
"photos": ["image links here"],
"descHtml": "<<description here>>",
"rentTx": [],
"saleTx": []
}

๐Ÿ†“ Trial Usage

You can try this actor for free with a 1-day trial! ๐ŸŽ‰

  • โณ Duration: 1 day
  • ๐Ÿ”ข Limit: Up to 500 properties scraped during the trial period
  • No credit card required to start your trial.
  • After the trial, you can continue using the actor with a monthly subscription.

๐Ÿ’ธ Understanding the Pricing

This actor uses a transparent and predictable pricing model based on two main events:

1๏ธโƒฃ Monthly Subscription

  • ๐Ÿ’ฒ Price: $45 USD per month
  • ๐Ÿ“ฆ Included Usage: Up to <20,000 properties scraped per month
  • ๐ŸŸข Platform Usage Included: The $45 subscription now includes all Apify platform usage costs for this actorโ€”no separate Apify platform charges apply for your scraping runs.
  • When you start using the actor, a monthly subscription event is triggered and you are billed $45. This covers your first 20,000 properties scraped in that month, including all platform usage.

2๏ธโƒฃ Over-usage Charges

  • ๐Ÿ’ฒ Price: $2.5 USD per additional 1,000 properties
  • ๐Ÿ”„ How it works: If you exceed the 20,000 properties included in your monthly subscription, you will be billed $2.5 for every additional 1,000 properties scraped. This ensures you only pay for what you use beyond your included quota.

๐Ÿ“Š Example:

  • If you scrape 35,000 properties in a month, you will pay $45 for the subscription and $25 for the extra 10,000 properties (10 x $2.5), for a total of $70.

โšก Additional Usage Parameters (Multipliers)

The actor may apply additional usage multipliers based on your input settings. These do not directly charge you extra, but they affect how quickly you use up your monthly quota. The more features you enable, the faster your included usage is consumed.

  • ๐ŸŒ Residential Proxy Usage: If you use a residential proxy, an additional 5x usage multiplier will apply. This is due to the higher cost and complexity of residential proxy traffic.
  • ๐Ÿง  Memory Usage: If you run the actor with more than 2048 MB of memory, you will be charged an additional usage multiplier. For example, running at 4096 MB will double your usage cost.
  • ๐Ÿท๏ธ Full Property Details: Enabling fullPropertyDetails will increase your usage multiplier by 10x, as it requires scraping more data per property.
  • ๐Ÿข Retrieve Unit Number: Enabling retrieveUnitNumber will increase your usage multiplier by 2x, as it requires additional data extraction per property.
  • ๐Ÿ”„ Monitoring Mode: Enabling monitoringMode adds 2x to your usage multiplier, as it requires additional logic and storage for incremental scraping.
  • ๐Ÿ•ต๏ธ Enable Delisting Tracker: Enabling enableDelistingTracker adds 1x to your usage multiplier.
  • ๐Ÿ“„ Add Empty Tracker Record: Enabling addEmptyTrackerRecord adds 0.5x to your usage multiplier.

These multipliers are cumulative. For example, if you enable both enableDelistingTracker and addEmptyTrackerRecord, your additional usage for each property will be by 1.5x.

๐Ÿงฎ How Multipliers Affect Your Quota

  • Multipliers do not bill you directly. Instead, they reduce the number of properties you can scrape before hitting your monthly quota.
  • Example:
    • If you scrape with default settings (no fullPropertyDetails), you can scrape 20,000 properties before any over-usage charge applies.
    • If you enable monitoringMode (2x additional), your usage is burned at 3x rate, so you can scrape 6,666 properties before any over-usage charge applies.
    • If you enable enableDelistingTracker (1x additional), you can scrape ~10,000 properties before hitting your quota.

๐Ÿšจ When Do Over-usage Charges Apply?

  • Over-usage charges ($2.5 per 1,000 properties) are only billed when your monthly quota is exceeded.
  • Additional usage multipliers do not result in extra chargesโ€”they simply cause your quota to be used up faster.

๐Ÿ’ก Tip: For best cost efficiency, run this actor on 2048 MB memory. The actor is highly optimized for this setting, and using more memory will increase your additional usage charges. Only increase memory if you have a specific need.

๐Ÿข๐Ÿ”Ž Finding Unit Number (Unit No.)

This actor is now directly integrated with the Dubai Property Unit Finder actor! ๐Ÿš€

With this integration, you can:

  • Apply a filter or select all properties from a particular building on Bayut.
  • Simply turn on the retrieveUnitNumber option in your input.
  • Instantly get the unit numbers for all properties in that buildingโ€”in one go! Super easy and powerful. ๐Ÿขโžก๏ธ๐Ÿ”ข

No more manual lookups or separate runs. Just enable the option and let the integration do the work for you!

Note: The Dubai Property Unit Finder actor has its own pricing and billing, which is separate from this Bayut scraper. When using integration mode, both actors will be billed independently according to their respective pricing models.

๐Ÿ” Deduplication handled

If multiple list urls contains overlapping results, they will get deduplicated within same run data.

โš ๏ธ Disclaimer

This is not an official API provided by Dubizzle. This is just a tool which helps you automate reading public information available on Dubizzle. This page or tool doesn't store any information protected by IP rights of Dubizzle. Developer doesn't even store any information available publically on Dubizzle site. Developer just provides the automation tool and have no obligation towards who/how someone use this tool and make use of the information.

โ“Limitations

Site allows only 80000 properties per listing/search result, you might want to break down your listing urls into smaller area if it has more than 80K results. Good News is that even if multiple list urls contains overlapping results, they will get deduplicated within same run data.

๐Ÿ”Ž Identifying delisted properties

This actor provides you monitoring mode configuration using which you can get only incremental updates about newly added properties. In case, you also want to identify which properties are delisted from platform, you can use any of the following techniques with the help of this actor.

  1. Running Always in full scraper mode : Run this actor always in full scrape mode and cross check the new incoming batch of data with your existing database. If any property that exists in yoru database but not in newly scraped data batch, that means it's not listed anymore

  2. Use Key Value Store generated by scraper : If your are monitoring very large batch of data and you don't want to scrape everything all the time, this method involves bit of technicality but achieves the goal efectively. Apify has storage feature called Key-value store. When you run this scrape, this scraper stores every single property in key value store along with timestamp in store. Inside this store, key is property id itself and value is timestamp like this

    { lastSeen : '2023-11-02T05:59:25.763Z'}

    Whenever you run this scraper, it will update the timestamp against particular id if it finds property on the platform. e.g. if we have 2 proprties with id prop1 and prop2 and we scraped them both on November 1, key value storage would look like this :

    prop1 -> { lastSeen : '2023-11-01T05:59:25.763Z'}
    prop2 -> { lastSeen : '2023-11-01T05:59:25.763Z'}

    Now if you run this scraper again on December 1 and prop1 is not on the platform anymore but prop2 is still there, key value storage would change like this :

    prop1 -> { lastSeen : '2023-11-01T05:59:25.763Z'}
    prop2 -> { lastSeen : '2023-12-01T05:59:25.763Z'}

    That means if any property has lastSeen less than latest batch you loaded, that property is delisted now. You can directly iterate through whole Key value storage using Apify key value storage API to identify this. Please refer to this API documentation to do the same. Please remember store name generated by this scrape will be.

    Alternatively, you can iterate through your existing database active properties and use this API to identify listing status.

    For this approach to work, it's important that you enable this feature via enableDelistingTracker (Enable Delisting tracker) input.