# Bayut Scraper | UAE Saudi Egypt Bahrain Qatar (`lentic_clockss/bayut-uae-scraper`) Actor

Scrape Bayut UAE, Saudi Arabia, Egypt, Bahrain & Qatar listings for sale or rent. Extract prices, beds, agency & photos. Bayut API alternative.

- **URL**: https://apify.com/lentic\_clockss/bayut-uae-scraper.md
- **Developed by:** [kane liu](https://apify.com/lentic_clockss) (community)
- **Categories:** Real estate, Lead generation, Automation
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

**Scrape Bayut sale and rent listings across the Middle East — then download structured real estate data as Excel, CSV, or JSON.**

This Actor is a practical **Bayut API alternative** for market research, investor screening, rental comps, and lead lists. Choose a market such as **UAE** or **Saudi Arabia**, pick **Buy** or **Rent**, and get listing rows with prices, beds, baths, area, agency, verification, amenities, and photos when present on the detail page.

- Pull **homes for sale** and **apartments for rent** from [Bayut UAE](https://www.bayut.com), [Saudi Arabia](https://www.bayut.sa), [Egypt](https://www.bayut.eg), [Bahrain](https://www.bayut.bh), and [Qatar](https://www.bayut.qa)
- Enrich search results with **detail-page fields** (description, amenities, off-plan / payment plans, media)
- Filter by **property type** (apartments, villas, office-spaces, …) — or paste known **search / detail URLs**
- Export to **Excel / CSV / JSON**, or connect Make, n8n, Zapier, Python, or MCP
- **Pay per event** — Actor start + each Dataset listing; no subscription

***

### What does the Bayut Scraper do?

It turns a Bayut search into a clean Apify Dataset of property listings across five MENA markets.

Under the hood, the Actor:

1. Validates input and mints a market-matched Apify **RESIDENTIAL** proxy URL
2. Calls the hosted **bayut-com** scrape worker (Patchright CloakBrowser + Algolia/DOM)
3. Optionally enriches listing cards with detail-page fields on the worker
4. Writes normalized records to the Dataset for Excel / CSV / JSON export

Residential proxy matched to the market is recommended. Plain HTTP / curl is blocked by Bayut Captcha on most hosts.

***

### What data can you extract from Bayut?

| Data point | Buy | Rent |
| --- | :---: | :---: |
| Title & listing URL | ✅ | ✅ |
| List price or rent + period | ✅ | ✅ |
| Beds / baths / size (sqm) | ✅ | ✅ |
| Property type & purpose | ✅ | ✅ |
| Market + currency | ✅ | ✅ |
| Address / location tree | ✅ | ✅ |
| GPS coordinates (when shown) | ✅ | ✅ |
| Agency / contact availability | ✅ | ✅ |
| Verification / product labels | ✅ | ✅ |
| Amenities & photo gallery | ✅ | ✅ |
| Off-plan / payment plans | ✅ | — |
| Completion / furnished | ✅ | ✅ |

Every Dataset row also includes `scrapedAt` and `source` = `bayut`. An `OUTPUT` / `RUN_SUMMARY` record in the key-value store reports counts and warnings.

***

### Why scrape Bayut property listings?

#### Market research and comps

Build sale and rent comps for Dubai, Riyadh, Cairo, Bahrain, and Qatar without copy-pasting from the site.

#### Investor and off-plan screening

Track prices, completion status, and payment-plan summaries when Bayut exposes them on the detail page.

#### Lead lists and agency coverage

Collect public agency names, listing URLs, and contact-method availability (without clicking Call / WhatsApp / Email).

#### Automations and AI agents

Schedule runs and send Datasets to Sheets, Slack, CRM, Make, n8n, Zapier, or an AI agent via Apify MCP / API.

***

### More Actors like this

Looking for another **property portal**, or a scraper outside real estate? Use a specialized Actor when one exists — structured fields, better coverage, usually lower cost. Use this Actor for **Bayut** sale / rent listings across UAE, Saudi Arabia, Egypt, Bahrain, and Qatar.

#### Similar real estate Actors

- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)

#### Prefer another specialized scraper?

**Jobs & Freelance**

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)

**E-commerce**

- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)

**Travel & Stays**

- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

**Social & Content**

- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)

**Ads Intelligence**

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

**Local & Maps**

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

**General Tools**

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ See the full catalog in [Related Actors](#related-actors) below, or browse [apify.com/lentic\_clockss](https://apify.com/lentic_clockss).

***

### How to scrape Bayut (no code required)

1. Click **Try for free**
2. Choose a **market** (`AE` / `SA` / `EG` / `BH` / `QA`)
3. Choose a **channel** (Buy or Rent)
4. Optionally set **location**, **property type**, max listings, and whether to open detail pages
5. Keep **Apify RESIDENTIAL** proxy enabled (leave country empty for auto match)
6. Click **Start** — open the **Dataset** tab when the run finishes

Start with `maxItems: 5–10` and `scrapeDetails: false` to verify, then scale up.

<details>
<summary>For developers: minimal input</summary>

```json
{
  "market": "AE",
  "channel": "BUY",
  "location": "dubai",
  "propertyType": "apartments",
  "maxItems": 10,
  "maxPages": 1,
  "scrapeDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  }
}
```

Multi-market:

```json
{
  "markets": ["BH", "QA"],
  "channel": "BUY",
  "propertyType": "apartments",
  "maxItems": 6,
  "scrapeDetails": false
}
```

</details>

***

### Markets covered

| Code | Site | Default location | Currency | URL style |
| --- | --- | --- | --- | --- |
| `AE` | [bayut.com](https://www.bayut.com) | `dubai` | AED | `/for-sale/{type}/{loc}/` |
| `SA` | [bayut.sa](https://www.bayut.sa) | `riyadh` | SAR | `/en/for-sale/{type}/{loc}/` |
| `EG` | [bayut.eg](https://www.bayut.eg) | `cairo` | EGP | `/en/{loc}/{type}-for-sale/` |
| `BH` | [bayut.bh](https://www.bayut.bh) | `bahrain` | BHD | `/en/for-sale/{type}/{loc}/` |
| `QA` | [bayut.qa](https://www.bayut.qa) | `qatar` | QAR | `/en/for-sale/{type}/{loc}/` |

Use `markets: ["BH", "QA"]` or `market: "all"` for multi-country runs (`maxItems` is fair-split). Jordan, Oman, and Kuwait are out of scope for now.

***

### Pricing — how much does it cost to scrape Bayut?

**Pay per event. No subscription.**

| Event | Price | When charged |
| --- | ---: | --- |
| `apify-actor-start` (**Actor Start**) | **$0.005** | When a normal run starts (scaled by allocated memory GB; min 1 event) |
| `apify-default-dataset-item` (**result**) | **$2.50 / 1,000** ($0.0025 each) | Each listing written to the default Dataset |

**User pays platform usage costs: Yes** — compute, residential proxy, and other platform usage are billed to the user in addition to event charges.

#### Free Apify plan limits (set by this Actor's developer)

| Limit | Free Apify plan | Paid Apify plan |
| --- | --- | --- |
| Runs of this Actor | **10 runs total** | Unlimited |
| Results per run | **Up to 1,000** | Up to schema max (2,000) |

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error. These limits are set by the Actor developer, not Apify.

**Example product charges (events only):**

| Scenario | Approx. event charge |
| --- | ---: |
| Canary: 10 listings | $0.005 + 10 × $0.0025 = **$0.030** |
| City scan: 100 listings | $0.005 + $0.25 = **$0.255** |
| 1,000 listings | $0.005 + $2.50 = **$2.505** |

Platform usage (especially residential proxy + browser memory) is separate and depends on run duration and memory. Default memory is **2048 MB** (≈ 2× Actor Start events under PPE).

> **Note:** The Actor path remains `bayut-uae-scraper` for API compatibility; the product covers UAE, Saudi Arabia, Egypt, Bahrain, and Qatar.

***

### Input

| Field | Description |
| --- | --- |
| `market` / `markets` | `AE`, `SA`, `EG`, `BH`, `QA`, or `all` |
| `channel` | `BUY` (for-sale) or `RENT` (to-rent / for-rent) |
| `location` | Path slug; empty → market default (`dubai`, `riyadh`, `cairo`, …) |
| `propertyType` / `propertyTypes` | e.g. `apartments`, `villas`, `office-spaces` (`property` / `all` = market all-types) |
| `expandPrimaryCategories` | Expand `all` into primary slugs instead of one all-types URL |
| `maxItems` / `maxPages` | Caps (1–2000 / 1–100); ≈24 listings per SRP page |
| `maxMarketConcurrency` | Parallel country browser sessions (default 2) |
| `strictQuality` | Fail run if required Dataset fields are missing (default true) |
| `scrapeDetails` | Enrich each card from the listing detail page |
| `startUrls` | Optional SRP or LDP URLs (overrides market/channel/type) |
| `proxyConfiguration` | Apify RESIDENTIAL when the worker does not supply its own proxy |
| `workerBaseUrl` | Advanced: per-run worker origin override (default: Actor env `WORKER_BASE_URL`) |

Open the **Input** tab in Console for the full form and tooltips.

Worker host migrations: update Actor env `WORKER_BASE_URL` (and `WORKER_AUTH` if the API key changed) — no Actor code change required.

***

### Output example

You can download the Dataset as **JSON, CSV, Excel, or HTML**.

```json
{
  "id": 11786692,
  "listingId": "11786692",
  "externalId": "11786692",
  "url": "https://www.bayut.com/property/details-11786692.html",
  "source": "bayut",
  "market": "AE",
  "channel": "BUY",
  "title": "Spacious 2 Bedroom Apartment in Downtown Dubai",
  "price": "AED 2,100,000",
  "priceAmount": 2100000,
  "currency": "AED",
  "numBedrooms": 2,
  "numBathrooms": 2,
  "propertyType": "Apartments",
  "size": 115.5,
  "sizeUnit": "sqm",
  "address": "Downtown Dubai · Dubai",
  "agency": { "name": "Example Realty" },
  "scrapedAt": "2026-07-19T04:00:00+00:00"
}
```

***

### Is it legal to scrape Bayut?

Our scrapers are ethical and do not extract private user data such as emails, phone numbers from lead forms, or WhatsApp chats. They only extract what is publicly shown on listing pages. Personal data may still appear in public listing text; 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. If you are unsure, consult your lawyers. Always respect Bayut’s Terms of Use and robots rules for automated access.

This Actor does **not** click Call, WhatsApp, Email, or other lead CTAs.

***

### FAQ

#### Can I scrape Bayut UAE apartments for sale?

Yes. Set `market` to `AE`, `channel` to `BUY`, `location` to `dubai` (or another slug), and `propertyType` to `apartments`.

#### Can I scrape Bayut Saudi Arabia or Egypt?

Yes. Use `market: "SA"` (default location `riyadh`) or `market: "EG"` (default location `cairo`). Egypt uses SEO URLs such as `/en/cairo/apartments-for-rent/`.

#### Does this work as a Bayut API?

There is no official public Bayut listings API for this use case. This Actor is a practical **Bayut API alternative** that returns structured Dataset rows you can call via the Apify API, schedules, or integrations.

#### Why do I need a residential proxy?

Bayut challenges non-browser and many datacenter IPs with Captcha. Apify RESIDENTIAL proxies matched to the market country are strongly recommended.

#### What about Live View / Standby?

Standby mode exposes **operational** endpoints only (`/`, `/health`, `/input-example`, `/openapi.json`) — documented in the **Standby** tab. It does **not** run a full scrape. Always start a **normal Actor run** to collect listings.

#### Can I request Jordan / Oman / Kuwait?

Not yet. Those markets raise a clear input validation error (`JO` / `OM` / `KW`). Supported markets: `AE`, `SA`, `EG`, `BH`, `QA`.

#### Why did my free-plan run stop after 10 runs?

This Actor allows **10 runs** and **up to 1,000 listings per run** for free Apify plan users. That policy is set by the Actor developer (not Apify). Upgrade to a paid Apify plan for unlimited runs. The run ends with status message `FREE_TIER_LIMIT` — it is not a platform crash.

#### Where can I get help?

Open an Issue on the Actor page in Apify Console with the Run ID, input JSON, and a short description of the failure. Include whether Captcha or empty results appeared in the log.

***

### Tips for better Bayut scraping

- Start small (`maxItems: 5`, `scrapeDetails: false`) to validate a market before large runs
- Leave `apifyProxyCountry` empty so each market uses a matching residential country
- Prefer specific `propertyType` values when you need a category; `property` / `all` uses the market all-types slug
- For multi-market runs, leave `location` empty so each market uses its default city
- Raise memory only if the browser is unstable — higher memory increases Actor Start event count under PPE

***

### Related Actors

All **77** public Actors from \[[lentic\_clockss](https://apify.com/lentic_clockss)]. Click a name to open the Store detail page.

#### Jobs & Freelance

- [LinkedIn Jobs Scraper](https://apify.com/lentic_clockss/linkedin-jobs-scraper)
- [Bayt Jobs Scraper](https://apify.com/lentic_clockss/bayt-scraper)
- [Fiverr Gigs Scraper](https://apify.com/lentic_clockss/fiverr-programming-tech-gigs-scraper)
- [Freelancer.com Scraper](https://apify.com/lentic_clockss/freelancer-scraper)
- [Glassdoor Scraper](https://apify.com/lentic_clockss/glassdoor-scraper)
- [Himalayas Jobs Scraper](https://apify.com/lentic_clockss/himalayas-jobs-scraper)
- [Indeed Jobs Scraper](https://apify.com/lentic_clockss/indeed-jobs-scraper)
- [Jobicy Remote Jobs Scraper](https://apify.com/lentic_clockss/jobicy-remote-jobs-scraper)
- [RemoteOK Jobs Scraper](https://apify.com/lentic_clockss/remoteok-all-jobs-scraper)
- [SEEK Jobs Scraper](https://apify.com/lentic_clockss/seek-scraper)
- [Upwork Jobs Scraper](https://apify.com/lentic_clockss/upwork-jobs-scraper)

#### Real Estate

- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [99.co Scraper](https://apify.com/lentic_clockss/ninetynine-co-sg-scraper)
- [Realtor.com Agents Scraper](https://apify.com/lentic_clockss/realtor-com-agents-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Craigslist Housing Scraper](https://apify.com/lentic_clockss/craigslist-housing-scraper)
- [Daft.ie Scraper](https://apify.com/lentic_clockss/daft-property-scraper)
- [Dot Property Scraper](https://apify.com/lentic_clockss/dot-property-th-scraper)
- [FINN.no Scraper](https://apify.com/lentic_clockss/finn-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [Immobiliare.it Scraper](https://apify.com/lentic_clockss/immobiliare-property-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Naver Land Scraper](https://apify.com/lentic_clockss/naver-land-scraper)
- [OpenSooq Scraper](https://apify.com/lentic_clockss/opensooq-real-estate-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [PropertyGuru Scraper](https://apify.com/lentic_clockss/propertyguru-sg-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Realtor.ca Scraper](https://apify.com/lentic_clockss/realtor-ca-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [SeLoger Scraper](https://apify.com/lentic_clockss/seloger-property-scraper)
- [SUUMO Scraper](https://apify.com/lentic_clockss/suumo-property-scraper)
- [Zillow Group Scraper](https://apify.com/lentic_clockss/zillow-group-scraper)

#### E-commerce

- [Shopee Search Scraper](https://apify.com/lentic_clockss/shopee-search-scraper)
- [E-commerce Scraper](https://apify.com/lentic_clockss/ecommerce-scraper)
- [1688 Global Product Search Scraper](https://apify.com/lentic_clockss/1688-global-scraper)
- [Allegro Scraper](https://apify.com/lentic_clockss/allegro-scraper)
- [Amazon Search Scraper](https://apify.com/lentic_clockss/amazon-search-results-collector)
- [ASOS Product Scraper](https://apify.com/lentic_clockss/asos-scraper)
- [Cdiscount Product Scraper](https://apify.com/lentic_clockss/cdiscount-scraper)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [Coupang Product Scraper](https://apify.com/lentic_clockss/coupang-scraper)
- [Etsy Scraper](https://apify.com/lentic_clockss/etsy-scraper)
- [Lazada Scraper](https://apify.com/lentic_clockss/lazada-ph-search-results-collector)
- [MercadoLibre Scraper](https://apify.com/lentic_clockss/mercadolibre-scraper)
- [Mercari Japan Scraper](https://apify.com/lentic_clockss/mercari-scraper)
- [Rakuten Japan Scraper](https://apify.com/lentic_clockss/rakuten-scraper)
- [SHEIN Product Scraper](https://apify.com/lentic_clockss/shein-scraper)
- [Target Product Scraper](https://apify.com/lentic_clockss/target-scraper)
- [Temu Product Scraper](https://apify.com/lentic_clockss/temu-scraper)
- [Walmart Product Scraper](https://apify.com/lentic_clockss/walmart-scraper)

#### Travel & Stays

- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Booking.com Hotels Scraper](https://apify.com/lentic_clockss/booking-hotels-scraper)
- [Despegar Scraper](https://apify.com/lentic_clockss/despegar-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-scraper)
- [Traveloka Scraper](https://apify.com/lentic_clockss/traveloka-scraper)
- [Travelstart Flights Scraper](https://apify.com/lentic_clockss/travelstart-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [TripAdvisor Scraper](https://apify.com/lentic_clockss/tripadvisor-scraper)

#### Social & Content

- [TikTok Scraper](https://apify.com/lentic_clockss/tiktok-scraper)
- [Reddit Scraper](https://apify.com/lentic_clockss/reddit-scraper)
- [YouTube Shorts Scraper](https://apify.com/lentic_clockss/youtube-shorts-scraper)
- [YouTube Research Scraper](https://apify.com/lentic_clockss/youtube-research-scraper)
- [Hacker News Scraper](https://apify.com/lentic_clockss/hacker-news-scraper)

#### Ads Intelligence

- [Facebook Ad Library Scraper](https://apify.com/lentic_clockss/facebook-ad-library-scraper)
- [Google Ads Transparency VN](https://apify.com/lentic_clockss/google-ads-transparency-center-vn)
- [TikTok Ads Scraper](https://apify.com/lentic_clockss/tiktok-ads-top-ads-actor)

#### Local & Maps

- [Google Maps Scraper](https://apify.com/lentic_clockss/google-maps-scraper)

#### General Tools

- [Stealth Web Scraper](https://apify.com/lentic_clockss/stealth-web-scraper)
- [Email Risk Validator](https://apify.com/lentic_clockss/email-risk-validator)
- [Phone Number Intelligence](https://apify.com/lentic_clockss/phone-number-intelligence)

→ Browse the full profile: [apify.com/lentic\_clockss](https://apify.com/lentic_clockss)

# Actor input Schema

## `startUrls` (type: `array`):

Bayut search (SRP) or listing detail (LDP) URLs for any supported host (bayut.com / .sa / .eg / .bh / .qa). Search URLs override market/channel/location when provided.

## `market` (type: `string`):

Single market code. Use markets=\[] or market=all for all active countries. JO/OM/KW are not supported yet.

## `markets` (type: `array`):

Optional list of market codes. Overrides market when non-empty. Include "all" to expand to AE+SA+EG+BH+QA.

## `channel` (type: `string`):

BUY (for-sale) or RENT (to-rent). Ignored when startUrls include search URLs.

## `location` (type: `string`):

Bayut location path slug. Leave empty to use each market default (dubai / riyadh / cairo / bahrain / qatar). If set to dubai on a non-AE market, the market default is used instead.

## `propertyType` (type: `string`):

Category slug in the URL path. property / properties / all = market all-types slug.

## `propertyTypes` (type: `array`):

Optional list of category slugs. Overrides propertyType when non-empty. Fair-split maxItems across URLs.

## `expandPrimaryCategories` (type: `boolean`):

When true and propertyType is all/property, expand to primary slugs (apartments, villas, shops, …) instead of a single all-types SRP.

## `maxItems` (type: `integer`):

Maximum listing records to emit (1–2,000; fair-split across markets × types when building URLs). Free Apify plan users: capped at 1,000 per run and limited to 10 total runs of this Actor (Actor developer policy).

## `maxPages` (type: `integer`):

Maximum SRP pages to crawl per search URL (≈24 listings per page).

## `scrapeDetails` (type: `boolean`):

When true, open each listing LDP and merge window.state.property.data.

## `requestDelayMillis` (type: `integer`):

Pause before the first navigation of a page fetch (ms).

## `maxMarketConcurrency` (type: `integer`):

How many country browser sessions may run in parallel (1–5). Higher uses more memory/proxy.

## `strictQuality` (type: `boolean`):

Fail the run if Dataset rows miss required fields (url/source/market/channel/scrapedAt) or have invalid URLs.

## `proxyConfiguration` (type: `object`):

Apify RESIDENTIAL recommended when the worker does not supply PROXY\_URL. Leave apifyProxyCountry empty so each market uses a matching country (AE/SA/EG/BH/QA). Ignored when Actor env WORKER\_PROVIDES\_PROXY=1.

## `workerBaseUrl` (type: `string`):

Override worker origin for this run. Default: Actor env WORKER\_BASE\_URL. Production migrations should update WORKER\_BASE\_URL in Actor settings (no code change).

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.bayut.com/for-sale/apartments/dubai/"
    }
  ],
  "market": "AE",
  "markets": [],
  "channel": "BUY",
  "location": "",
  "propertyType": "property",
  "propertyTypes": [],
  "expandPrimaryCategories": false,
  "maxItems": 25,
  "maxPages": 1,
  "scrapeDetails": true,
  "requestDelayMillis": 800,
  "maxMarketConcurrency": 2,
  "strictQuality": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# Actor output Schema

## `listings` (type: `string`):

Normalized Bayut listing records from SRP and optional LDP enrichment.

## `runSummary` (type: `string`):

Counts, engine, and timestamps for the run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://www.bayut.com/for-sale/apartments/dubai/"
        }
    ],
    "markets": [],
    "propertyTypes": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/bayut-uae-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://www.bayut.com/for-sale/apartments/dubai/" }],
    "markets": [],
    "propertyTypes": [],
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/bayut-uae-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://www.bayut.com/for-sale/apartments/dubai/"
    }
  ],
  "markets": [],
  "propertyTypes": []
}' |
apify call lentic_clockss/bayut-uae-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=lentic_clockss/bayut-uae-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/4vsXF3vXWClRMy35T/builds/vwwTom2TdrFEr9L6U/openapi.json
