Bayut Properties Search Scraper (UAE) avatar

Bayut Properties Search Scraper (UAE)

Pricing

from $1.26 / 1,000 results

Go to Apify Store
Bayut Properties Search Scraper (UAE)

Bayut Properties Search Scraper (UAE)

Property listings from Bayut.com, the UAE's largest property portal: price in AED, rent frequency, beds, baths, area in m² and sqft, location chain with coordinates, agency and agent contacts, verification and listing tier. Rent or sale, any category and location.

Pricing

from $1.26 / 1,000 results

Rating

0.0

(0)

Developer

Ibnu Adzim

Ibnu Adzim

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Property listings from Bayut.com, the UAE's largest property portal — Dubai, Abu Dhabi, Sharjah and the other emirates, for rent or for sale: price in AED, rent frequency, bedrooms, bathrooms, area in m² and sqft, the full location chain (emirate → community → sub-community → building) with coordinates, agency and agent contact details, verification status, furnishing, completion status, paid listing tier, photo count, timestamps, and the listing URL.

Need the full listing? This Actor returns search results (the card data). For each listing's full description, amenities, every photo, floor plans, videos and the agent profile, pass this Actor's url column to Bayut Properties Detail Listing Scraper.

HTTP only. It reads the structured page state Bayut ships with every search page — the same objects its own front end renders — so every field is the site's own value. No login, no API key, no browser.

What it is for

  • Rent and price monitoring by community and property type, on a schedule.
  • Agent and agency lead lists — every row carries the agency, agent name and phone / mobile / WhatsApp numbers published on the ad.
  • Market research — 24 listings per request, with Bayut's own location and category ids for joining.

Input

fieldwhat it does
purposeto-rent or for-sale.
categoryBayut's URL slug: apartments, villas, townhouses, penthouse, hotel-apartments, offices, shops, … or property for everything.
locationsOne search per entry — the location path from any Bayut URL: dubai, dubai/dubai-marina, abu-dhabi, sharjah, dubai/jumeirah-village-circle-jvc.
maxItemsListings per location (default 100, 0 = no cap).
maxPages, maxConcurrency, minRequestInterval, proxyConfigurationLimits and transport.

Each location gets its own SEARCH_SUMMARY row, followed by its LISTING rows.

Five things about this site worth knowing before you trust a run

1. A category Bayut does not know returns every property type, silently

/to-rent/notacategory/dubai/dubai-marina/ is HTTP 200 with 5,571 real listings — every type in Dubai Marina — while the real apartments search has 5,441. Nothing errors, and the page even echoes the bogus slug back. This Actor does not trust the echo: it checks that the rows on page 1 actually carry the purpose, category and location you asked for. If they don't, the search stops with zero rows and filterApplied: false, instead of handing you thousands of listings under the wrong label.

2. There are two totals, and they disagree

For rent / apartments / Dubai the search engine estimates 126,085 matches (and says itself that the figure is not exhaustive), while the page prints 94,869. Neither is provably right, so the summary carries both, named for what they are: nbHitsEstimate (with nbHitsIsExhaustive) and siteDisplayedCount. On a narrower search they converge (Dubai Marina: 5,441 vs 5,448).

3. Page one is an advert slot, not a sample

In the default order the first pages are all superhot — the most expensive paid tier (30/30 in the verification run). Every row keeps its product tier and the summary counts them in listingTierCounts, so a first page is never mistaken for a representative one.

4. area is square metres; the site shows square feet

area: 90.95 is displayed on Bayut as "979 sqft". area is passed through untouched and areaSqft is added, computed exactly the way the site computes its label (checked 4/4 against live cards).

5. "Rent" is spelled two ways

The URL says to-rent; every row says purpose: "for-rent". Both are correct — just don't filter your output on the URL spelling.

Proxy — why UAE residential is the default, and required

Bayut serves an in-house "Security check" JavaScript challenge to every datacenter and non-UAE address measured — 56 of 56 requests across seven TLS fingerprints, from both Apify's datacenter proxy and its bare servers — and the real page to a UAE residential address on every fingerprint tried. It is decided by the IP, not the browser fingerprint. Switching the proxy off or to datacenter will get you an error row explaining exactly that, not empty data.

A page costs about 270 KB of residential transfer (the page is 2.3 MB uncompressed).

Output

LISTING rows are Bayut's own listing objects, untouched (49 fields), plus areaSqft, url, searchPage, searchRank and the envelope (_input, _source, _scrapedAt, recordType). Timestamps (createdAt, updatedAt) are Unix seconds, as Bayut sends them.

{
"recordType": "LISTING",
"externalID": "15736690",
"title": "Upgraded | Full Marina View | Luxury Furniture",
"purpose": "for-rent",
"price": 199900,
"rentFrequency": "yearly",
"rooms": 2,
"baths": 3,
"area": 127.46297088,
"areaSqft": 1372,
"furnishingStatus": "furnished",
"product": "superhot",
"url": "https://www.bayut.com/property/details-15736690.html"
}

Limits — what this Actor does not claim

  • Listing detail pages (full description, amenities, all photos) are not fetched; the search page already carries 49 fields per listing.
  • Price, bedroom and other query-string filters are not offered: they were not verified against the rows they return, and on this site an unrecognised value is answered with results, not an error.
  • The totals are Bayut's own estimates (see 2 above).