Bayut Property Listings Scraper
Pricing
from $4.99 / 1,000 results
Bayut Property Listings Scraper
Scrapes property listings from Bayut.com (UAE's largest real estate portal) — search by purpose, type, city, and keyword.
Pricing
from $4.99 / 1,000 results
Rating
0.0
(0)
Developer
Coding Frontned
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
2
Monthly active users
4 days ago
Last modified
Categories
Share
What does Bayut Property Listings Scraper do?
This Actor reads public listing cards or direct public property detail pages and, for a bounded number of records, enriches them from public detail-page fields and JSON-LD metadata. It does not access private accounts, protected contact details, or CAPTCHA-protected content.
Why use Bayut Property Listings Scraper?
Use the dataset for market research, asking-price monitoring, investment screening, rental-versus-sale comparisons, and property discovery by city or community. The Actor supports:
- Sale or rent searches by purpose, property type, city, and optional community.
- A custom public Bayut search URL.
- A maximum successful listing count, search-page bound, and detail-enrichment bound.
- Deduplication by the public Bayut listing ID or canonical listing URL.
- Public detail enrichment for descriptions, amenities, dates, images, coordinates, and structured metadata.
- A standard isolated Chromium context for public-page rendering, without fingerprint spoofing.
- Apify scheduling, API access, dataset exports, webhooks, monitoring, and optional proxy configuration.
Local and cloud runs use a fresh headless Chrome context. If Bayut presents a CAPTCHA, login wall, paywall, geofence, rate limit, unsupported-device message, or access denial, the Actor stops and writes one explicit diagnostic record. That record has success: false, found: false, and dataAvailable: false and is excluded from successful listing counts.
What data can this Actor extract?
| Field | Type | Description |
|---|---|---|
id | string | Public Bayut listing ID. |
title | string | Listing title. |
url | string | Canonical public listing URL. |
purpose | string | for-sale or for-rent. |
propertyType | string | Public property category. |
price, priceCurrency | number, string | Asking price and currency. |
bedrooms, bathrooms, area, areaUnit | number, number, number, string | Main property measurements. |
location, city | string | Public community and city text. |
description, amenities | string, array | Bounded public detail-page enrichment. |
images, imageCount | array, number | Bounded public image URLs and count. |
listedDate, modifiedDate, handoverDate | string | Public dates when available. |
structuredData | object | Selected public JSON-LD metadata. |
How to scrape Bayut property listings
- Create an Apify task from this Actor and open the Input tab.
- Provide
propertyUrlsfor direct public property pages,listingUrls/startUrlsfor public search pages, or setpurpose/listingType,propertyType,city, and optionallycommunityfor a city-wide search. - Choose
maxItems. KeepmaxPagesbounded for predictable compute usage. - Choose
maxDetailItemsto control enrichment cost. Set it to0for list-card-only extraction. - Run the task and open the Dataset tab. The dataset can be downloaded as JSON, HTML, CSV, or Excel, or consumed through the API.
How much does it cost?
The Actor uses Apify compute units and the normal browser runtime cost for the selected run configuration. List-card extraction is cheaper than detail enrichment because each enriched listing may require one additional public page. Use maxItems, maxPages, and maxDetailItems to control volume and runtime. Proxy usage, if enabled, is billed according to the proxy plan attached to your Apify account.
Input
See the Input tab for the full configuration. The main controls are:
propertyUrls: direct public property detail URLs; these take precedence over search inputs.listingUrls/startUrls: public Bayut search/listing URLs; the first URL is used as the bounded search source.searchUrl: a single public search URL compatibility input.listingType/purpose:for-saleorfor-rent.purpose,propertyType,city, andcommunity: search filters used to build a Bayut URL.maxItems: maximum number of successful listing records, from 1 to 1000.maxPages: maximum number of search pages, from 1 to 100.maxDetailItems: maximum number of detail pages, from 0 to 25.proxyConfiguration: optional Apify proxy configuration.
Output
Each successful listing has status: "ok", success: true, found: true, and dataAvailable: true. Access and no-data diagnostics use success: false, found: false, and dataAvailable: false; they are useful for troubleshooting and are not successful listings.
{"recordType": "listing","status": "ok","success": true,"found": true,"dataAvailable": true,"id": "00000000","title": "Example waterfront apartment","url": "https://www.bayut.com/property/details-00000000.html","price": 1250000,"priceCurrency": "AED","bedrooms": 2,"amenities": ["Balcony", "Swimming Pool"],"extractionMethod": "dom+jsonld"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Key-value store
The fixed OUTPUT record summarizes successful and diagnostic rows, requested limits, source availability, proxy use, and start/finish timestamps. Its counts reconcile with the default dataset.
Tips and advanced options
Start with a small maxItems and a low maxDetailItems while confirming the target search. Set maxDetailItems to zero when only list-card fields are needed. Schedule runs for recurring market snapshots and use the API tab or webhooks to send completed datasets to another system.
FAQ, disclaimer, and support
Why did the Actor return a diagnostic instead of listings?
Bayut may temporarily deny public access or present a bot challenge. The Actor stops at that boundary and reports the observed category; it does not solve CAPTCHAs, bypass login walls, reuse protected browser state, use mirrors, or treat diagnostics as success. A temporary no-results page also produces an explicit diagnostic.
Can I scrape private contact information?
No. The Actor only records contact information when Bayut exposes it publicly in the listing page. It does not access private accounts or hidden fields.
Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.
Use the Issues tab for feedback and the API tab for programmatic access. Always follow Bayut's terms, robots guidance, and applicable laws.