Bayut Property Scraper
Pricing
from $0.80 / 1,000 dataset items
Bayut Property Scraper
Scrape Bayut UAE property listings at scale — price, beds, area, GPS, photos, agent phone & WhatsApp, agency and TruCheck verification as structured JSON. Filter by location, category, price and beds. Built for investors, agencies and PropTech. Pay only for the results you get.
Pricing
from $0.80 / 1,000 dataset items
Rating
0.0
(0)
Developer
axly
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract Bayut property listings across the United Arab Emirates as clean, structured JSON — price, bedrooms, area, GPS coordinates, photos, agent phone & WhatsApp, agency and TruCheck verification — ready for Google Sheets, a CRM, or your own analytics pipeline.
Built on Bayut's own mobile search API, so it is fast and reliable: no brittle HTML parsing, no CAPTCHAs, no login. Search by location name, filter the way you would on the site, and paginate straight through the results.
Who uses this
- Property investors & analysts — build price-per-m²/sqft datasets, track new and off-plan supply by area, and spot deals across Dubai and Abu Dhabi.
- Real-estate agencies & lead-gen teams — pull listings with agent phone, WhatsApp and agency name for competitive and outreach research.
- PropTech & SaaS developers — feed a stable, well-documented JSON schema into portals, valuation models and market dashboards.
- Researchers & journalists — quantify the UAE housing market by location, price band, completion status and verification.
Output fields
Each listing becomes one row:
| Field | Type | Description |
|---|---|---|
id | string | Bayut listing external ID |
reference | string | Agency reference number |
title | string | Listing headline |
url | string | Bayut property page URL |
purpose | string | for-sale or for-rent |
category / category_name / category_path | string | Property category (apartments, villas, …) |
price | number | Price in AED |
currency | string | Always AED |
rent_frequency | string | Rental period (yearly/monthly/…) — rentals only |
bedrooms | number | Bedroom count (0 = studio) |
bathrooms | number | Bathroom count |
area_sqm / area_sqft | number | Built-up area in m² and ft² |
plot_area_sqm / plot_area_sqft | number | Plot area where applicable |
furnishing_status | string | furnished / unfurnished / partly-furnished |
completion_status | string | completed / under-construction |
occupancy_status | string | vacant / occupied (rentals) |
is_verified | boolean | Bayut TruCheck verified |
verified_score / truchecked_score / trubroker_score | number | Quality scores |
location_name / location_path / location_slug / city | string | Location hierarchy |
latitude / longitude | number | GPS coordinates |
cover_photo | string | Cover image URL |
photos | array | All listing image URLs |
photo_count / video_count / panorama_count | number | Media counts |
amenities | array | Amenity names |
contact_name | string | Listing contact |
contact_phone / contact_mobile / contact_whatsapp | string | Agent contact |
agency | object | { id, name, location } |
agent_id | string | Agent external ID |
offplan_details / payment_plans | object | Off-plan sale type & payment plan |
created_at / updated_at | string | Listing timestamps (ISO-8601) |
scraped_at | string | Extraction timestamp (ISO-8601) |
Latitude/longitude are emitted as
latitudeandlongitudefrom the listing's geolocation.
High-value use cases
- Investment research — scrape all verified apartments for sale in a price band and compute price-per-ft², yield vs rentals, and area-level supply.
- Lead lists — collect listings with agent phone/WhatsApp and agency for a given community to build an outreach list.
- Market monitoring — schedule a daily run sorted by newest to track fresh inventory and price changes over time.
- Off-plan tracking — filter
completion_status = under-constructionto follow new-development supply and payment plans. - Comparative dashboards — combine sale and rent runs by location to model gross rental yields.
Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
purpose | string | for-sale | for-sale or for-rent |
category | string | (all) | apartments, villas, townhouses, offices, … |
location | string | Dubai Marina | Place name, auto-resolved to a Bayut location |
locationExternalIds | array | — | Exact Bayut location IDs (advanced) |
listingUrls | array | — | Direct property URLs / IDs (direct mode) |
minPrice / maxPrice | integer | — | Price range in AED |
minBeds / maxBeds | integer | — | Bedroom range (0 = studio) |
minBaths | integer | — | Minimum bathrooms |
minArea / maxArea | integer | — | Area range in ft² |
furnishing | string | — | furnished / unfurnished / partly-furnished |
completionStatus | string | — | completed / under-construction |
rentFrequency | string | — | yearly / monthly / weekly / daily (rentals) |
verifiedOnly | boolean | false | Only TruCheck-verified listings |
keywords | string | — | Free-text match (e.g. "sea view") |
sort | string | default | relevance / verified / newest / oldest / price asc/desc |
maxItems | integer | 100 | Stop after this many listings |
language | string | en | en or ar |
Example input
{"purpose": "for-sale","category": "apartments","location": "Dubai Marina","minBeds": 1,"minPrice": 800000,"maxPrice": 2500000,"verifiedOnly": true,"sort": "newest","maxItems": 200}
Example output (one row, trimmed)
{"id": "14906927","title": "Below OP 1BR | Golf Facing unit | Vida Branded","url": "https://www.bayut.com/property/details-14906927.html","purpose": "for-sale","category": "apartments","price": 1400000,"currency": "AED","bedrooms": 1,"bathrooms": 2,"area_sqm": 69.4,"area_sqft": 747.1,"completion_status": "under-construction","is_verified": true,"location_name": "Vida Residences Dubai Mall","city": "Dubai","latitude": 25.1286,"longitude": 55.2616,"cover_photo": "https://images.bayut.com/thumbnails/844805045-800x600.jpeg","contact_name": "Muhammad Nauman","contact_phone": "+971521343659","contact_whatsapp": "971545695868","agency": {"id": "103201","name": "Real Tree Properties","location": "Dubai"},"scraped_at": "2026-07-27T10:00:00+00:00"}
Direct mode
Pass specific listings instead of searching:
{"listingUrls": ["https://www.bayut.com/property/details-14906927.html","14990477"]}
Scheduling & integrations
- Schedule daily/weekly runs from the Apify Console to keep a fresh dataset.
- Webhooks notify your systems on finish; export to Google Sheets, Make, Zapier, Amazon S3 or download as JSON/CSV/Excel.
- Every run's dataset is available through the Apify API for your own pipelines.
Use with AI assistants (MCP)
This actor is available through the Apify MCP server, so AI assistants (Claude, ChatGPT, and other MCP clients) can call it as a tool and pull live Bayut data into an agent workflow.
FAQ
How many listings can I get per run? As many as match your query, up to
maxItems. Bayut caps deep pagination near 50,000 results per query — split by
price band or sub-location (e.g. per community) to exhaust larger markets.
Does it include agent contact details? Yes — contact_phone,
contact_mobile, contact_whatsapp and the agency come straight from the
listing.
Which locations are covered? All of the UAE (Dubai, Abu Dhabi, Sharjah, Ajman, Ras Al Khaimah, Fujairah, Umm Al Quwain). Use a place name and it is auto-resolved.
Is the data fresh? Every run fetches live data from Bayut's search backend.
Is it reliable? It uses Bayut's mobile API (structured JSON) rather than scraping HTML, so it does not break on layout changes and needs no CAPTCHA solving.
Is scraping this legal? The actor collects publicly available listing data. You are responsible for using the output in line with Bayut's terms and applicable laws (including privacy rules for personal/contact data).
Not affiliated with or endorsed by Bayut. "Bayut" is a trademark of its owner and used here for descriptive purposes only.