Skip to content

Bayut Scraper

Try for free

Scrape Bayut property listings from the UAE, Saudi Arabia, Qatar, Oman and Jordan: prices, beds, baths, area, location, agency, agent phone, photos, amenities and more, from search URLs, location searches, listing pages, brokers and companies.

🏠 Bayut Scraper

Turn any Bayut search into a clean spreadsheet of property listings: price, bedrooms, bathrooms, area, full location, agency, agent and phone, photos, amenities, completion status and more. Works on bayut.com (UAE), bayut.sa (Saudi Arabia), bayut.qa, bayut.om and bayut.jo, with no login and no browser.

✨ Why use Bayut Scraper?

  • ⚡ Fast — listings come straight from Bayut's own search index, up to 100 per request, so thousands of listings take minutes, not hours.
  • 🔗 Paste any Bayut URL — every filter you set on the site (price, beds, area, furnishing, completion, keywords, sorting) is kept exactly.
  • 📍 Or just type a place — "Dubai Marina", "Jumeirah Village Circle", "Riyadh" plus simple filters, no URL needed.
  • 🌍 Five markets in one tool — UAE, Saudi Arabia, Qatar, Oman and Jordan, each row tagged with market and currency.
  • 🧑‍💼 Brokers and companies too — broker and agency profile pages and directories return one row per profile.
  • 💸 Cheap and predictable — you pay per result saved, nothing for empty searches.

🎯 Use cases

  • 📈 Price monitoring — track asking prices and rents per community or building in Dubai, Abu Dhabi or Riyadh on a schedule.
  • 🏗️ Off-plan research — compare completion status, payment plans and handover dates across projects.
  • 🧑‍💼 Lead generation — build lists of active agencies and agents with their listing counts and public contact numbers.
  • 📊 Market analysis — feed price per square foot, bedroom mix and supply by area into your models or dashboards.
  • 🏢 Competitor tracking — see what a brokerage lists, where, and at what price.

🚀 How to use

  1. Open Bayut, search the way you normally do and copy the URL from your browser. Or skip that and type locations in Locations to search.
  2. Paste one or more URLs into Bayut URLs (search pages, listing pages, broker or company pages all work).
  3. Set Maximum results per URL or location (default 20, 0 for no limit).
  4. Turn on Full listing details only if you need the complete photo set, videos, floor plans or 360 tours.
  5. Click Start, then export the results as JSON, CSV, Excel or HTML, or fetch them through the API.

📥 Input

FieldWhat it does
startUrlsBayut URLs: search results, /property/details-….html listings, /brokers/… and /companies/… pages, on any of the five sites
locationsPlace names to search, e.g. Dubai Marina (uses market and the filters)
maxItemsMaximum results per URL or location (default 20, 0 = no limit)
marketSite for location searches: ae, sa, qa, om, jo
purpose, propertyType, minPrice, maxPrice, beds, minBaths, minArea, maxArea, furnishing, completionStatus, rentFrequency, verifiedOnly, keywords, sortFilters for location searches (search URLs keep their own filters)
includeDetailsAlso open each listing page for photos with titles, videos, floor plans, 360 tours, full agency profile
proxyConfigurationProxy settings (UAE residential by default)
{
  "startUrls": ["https://www.bayut.com/for-sale/apartments/dubai/"],
  "locations": ["Dubai Marina"],
  "purpose": "for-rent",
  "beds": ["1", "2"],
  "maxPrice": 150000,
  "maxItems": 100
}

📤 Output

One row per listing. The table view shows the key columns; the JSON keeps every field Bayut's search index returns.

FieldDescription
urlListing page
title, purpose, price, currency, rentFrequencyWhat is offered and for how much
propertyType, rooms, baths, area (m²), areaSqftSpecs
city, community, subCommunity, locationPath, location[], geographyWhere it is, with the full location tree and coordinates
agencyName, agentName, mobile, whatsapp, agency, ownerAgent, phoneNumberWho lists it and how to reach them
coverPhotoUrl, photoUrls, photoCount, videoCountMedia
completionStatus, completionDetails, paymentPlanSummaries, furnishingStatus, amenitiesStatus and features
isVerified, verification, referenceNumber, createdAt, updatedAtChecks and dates (Unix seconds)
descriptionListing description (when Bayut provides it in search)
market, externalID, sourceUrl, detailedBookkeeping

Example (shortened, sample values):

{
  "url": "https://www.bayut.com/property/details-10000001.html",
  "market": "ae",
  "currency": "AED",
  "externalID": "10000001",
  "title": "Sea View | High Floor | Vacant on Transfer",
  "purpose": "for-sale",
  "price": 1850000,
  "propertyType": "Apartments",
  "rooms": 2,
  "baths": 3,
  "area": 118.08,
  "areaSqft": 1271.0,
  "city": "Dubai",
  "community": "Dubai Marina",
  "subCommunity": "Marina Gate",
  "locationPath": "Dubai > Dubai Marina > Marina Gate",
  "agencyName": "Example Homes Real Estate",
  "agentName": "Sample Agent",
  "mobile": "+971500000000",
  "coverPhotoUrl": "https://images.bayut.com/thumbnails/100000001-1066x800.jpeg",
  "completionStatus": "completed",
  "furnishingStatus": "unfurnished",
  "isVerified": true,
  "isAvailable": true,
  "detailed": false
}

Broker and company rows have type (agent or agency), url, name, logoUrl, externalID and every public profile field from the index: for brokers the agency, business phone, WhatsApp and e-mail where published, languages, specialities, service areas and listing counts; for companies licences (RERA/ORN), agent count, locations and listing counts.

💰 Pricing

You pay a small fee per result saved (see the pricing tab), plus the platform usage of the run: a little compute and the proxy traffic. Empty searches cost nothing in results. Search rows are compact, so proxy traffic stays low; Full listing details opens one page per listing and uses noticeably more traffic.

❓ FAQ

Is it legal to scrape Bayut? The scraper only reads public listing pages that anyone can open without an account. You are responsible for how you use the data, especially personal data such as agent phone numbers; follow the UAE PDPL, GDPR and Bayut's terms where they apply.

Do I need a Bayut account or my own proxy? No. No login is used. Bayut UAE and Saudi Arabia only open for visitors in the UAE, so those requests automatically use a UAE residential exit.

How many results can I get? As many as the search has. Bayut shows the total for each search; each input stops at your Maximum results or when the search is exhausted.

Why is a field empty? Bayut only fills what the agent entered. For example, description, completionDetails or paymentPlanSummaries are not available for every listing; turn on Full listing details to get the most fields.

Can I schedule it or use the API? Yes. Save a task with your input and schedule it (e.g. daily price tracking), or start runs and read the dataset through the API.

Do filters apply to my URLs? No, a URL keeps the filters it already contains. The Filters section applies to Locations to search.

⚠️ Limits

  • Only public listings; nothing behind a Bayut login (saved searches, messages).
  • The DLD/RERA permit number of a listing is not included (Bayut loads it separately in the browser).
  • Price history, transaction records and TruEstimate valuations are not included.
  • Search URLs with Arabic path words (e.g. /ar/للبيع/...) are not supported; open the English version of the page and copy that URL.
  • Prices are in the local currency of each site.
  • Bayut sometimes puts its listing pages behind a browser check. Search results are not affected; Full listing details then falls back to search data for the affected rows and the run says so in its status message.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.