# Hepsiemlak Scraper | Turkey Real Estate Sale Rent (`lentic_clockss/hepsiemlak-scraper`) Actor

Scrape Hepsiemlak.com Turkey sale, rent, seasonal, projects & offices. Extract prices (TRY), rooms, size, sellers & URLs — Hepsiemlak API alternative.

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

## Pricing

from $3.00 / 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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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

## Hepsiemlak Scraper — Turkey Real Estate Listings, Projects & Offices

**Scrape Hepsiemlak.com property listings for sale, rent, and seasonal stays in Turkey — plus residential projects and real-estate offices — then download structured data as Excel, CSV, or JSON.**

> Architecture: this Apify Actor is a thin client. Scraping runs on the **hepsiemlak-com** Cloud Run worker over HTTPS + API key.
>
> **Worker URL is config, not code:** the Actor reads `WORKER_BASE_URL` from Actor environment variables (plus optional per-run `workerBaseUrl`). If you migrate the worker to a new host, update `WORKER_BASE_URL` (and `WORKER_AUTH` if the API key changes) in Apify Console — no Actor code change required. Set `WORKER_PROVIDES_PROXY=1` when the worker supplies its own `PROXY_URL` instead of Apify RESIDENTIAL.

This Actor is a practical **Hepsiemlak API alternative** for property research, market monitoring, agency lead gen, and investment pipelines on [hepsiemlak.com](https://www.hepsiemlak.com/). Enter a city (or go nationwide), pick a channel, and get clean Dataset rows with listing IDs, prices in TRY, rooms, size, sellers, and direct Hepsiemlak URLs.

- Pull **for-sale**, **for-rent**, and **seasonal / daily rent** listings from Hepsiemlak
- Scrape **new residential projects** (`/projeler`) and **agency / office** pages (`/emlak-ofisi`)
- Search by **city**, **district**, **neighborhood**, or **nationwide** (`location=national`)
- Locales: **English**, **Turkish**, and **Russian** URL paths (`en` / `tr` / `ru`)
- Optionally **enrich listing details** with guest-visible LDP attributes (rooms text, gross/net m², heating, title deed, and more)
- Export to **Excel / CSV / JSON**, or connect Make, n8n, Zapier, Python, or Apify MCP / API
- **Pay per event** — Actor start + each Dataset result; platform compute is included (you do not pay separate Apify usage)

---

### What does the Hepsiemlak Scraper do?

Hepsiemlak Scraper lets you **extract structured Turkey real-estate data from Hepsiemlak** without maintaining your own Cloudflare browser farm. Give it a location and channel (or an office firm id / project URLs), then start a run.

Under the hood, the Actor:

1. Validates your input (channel, locale, location / firmId, filters)
2. Calls a managed Cloud Run worker that fetches Hepsiemlak pages with residential egress
3. Parses guest-visible Nuxt SSR + JSON-LD (`ItemList` / `RealEstateListing`) into normalized records
4. Pushes Dataset rows with preview fields (`name`, `type`, `status`, `country`, `authority`)
5. Writes `RUN_SUMMARY` (and `ERROR_SUMMARY` on failure) to the key-value store

You run it like any other Apify Actor — schedule it, call it from the API, or plug it into automations.

---

### What Hepsiemlak data can I extract?

| Data | Sale / Rent / Seasonal | Projects | Office |
| --- | :---: | :---: | :---: |
| Listing / project title | ✅ | ✅ | ✅ |
| Listing ID (`{firmId}-{seq}`) / project ID / firm ID | ✅ | ✅ | ✅ |
| Price (TRY) + display | ✅ | ✅ | — |
| Rooms / floor size | ✅ | — | — |
| Property type path (`daire`, `villa`, …) | ✅ | — | — |
| City / district / address locality | ✅ | ✅ | ✅ |
| Seller / office name | ✅ | — | ✅ |
| Direct Hepsiemlak URL | ✅ | ✅ | ✅ |
| LDP attributes (enrich) | ✅* | ✅* | — |
| Office listing cards | — | — | ✅ |

\*With `enrichDetails: true` or detail URLs via `detailUrls`.

Every row includes `contentDepth=guest_preview` (public / guest-visible content — phone unlock / reCAPTCHA CTAs are out of scope).

---

### Why scrape Hepsiemlak?

[Hepsiemlak](https://www.hepsiemlak.com/) is one of Turkey’s major real-estate portals, covering sale, rent, seasonal stays, new projects, and agencies nationwide. Teams scrape Hepsiemlak to:

- Build custom Turkey property databases for research or lead gen
- Track sale / rent inventory by city, district, and property type
- Monitor new residential **projects** and developer listings
- Collect **agency / office** portfolios linked by `firmId`
- Feed CRM workflows, dashboards, or enrichment pipelines with structured listing URLs and prices

---

### More Actors like this

Looking for another **real estate** scraper, or a specialized Actor outside Hepsiemlak? Use a dedicated Actor when one exists — structured fields, better coverage, usually lower cost.

#### Similar real estate Actors
- [Zillow & Zumper Scraper](https://apify.com/lentic_clockss/us-real-estate-scraper)
- [Realtor.com Scraper](https://apify.com/lentic_clockss/realtor-com-scraper)
- [Idealista Scraper](https://apify.com/lentic_clockss/idealista-scraper)
- [ImmoScout24 Scraper](https://apify.com/lentic_clockss/immobilienscout24-scraper)
- [Rightmove Scraper](https://apify.com/lentic_clockss/rightmove-property-scraper)
- [Funda Scraper](https://apify.com/lentic_clockss/funda-scraper)
- [Otodom Scraper](https://apify.com/lentic_clockss/otodom-scraper)
- [Bayut Scraper](https://apify.com/lentic_clockss/bayut-uae-scraper)
- [Property Finder Scraper](https://apify.com/lentic_clockss/property-finder-uae-scraper)
- [realestate.com.au Scraper](https://apify.com/lentic_clockss/realestate-com-au-scraper)
- [Apartments.com Rental Scraper](https://apify.com/lentic_clockss/apartments-com-rental-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)
- [Costco Product Scraper](https://apify.com/lentic_clockss/costco-scraper)
- [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)

**Travel & Stays**
- [Booking.com & Airbnb Scraper](https://apify.com/lentic_clockss/booking-airbnb-scraper)
- [Agoda Scraper](https://apify.com/lentic_clockss/agoda-scraper)
- [Trip.com Scraper](https://apify.com/lentic_clockss/trip-com-scraper)
- [Airbnb Listings Scraper](https://apify.com/lentic_clockss/airbnb-listings-scraper)
- [Expedia Scraper](https://apify.com/lentic_clockss/expedia-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 Hepsiemlak (no code required)

1. Create a free [Apify](https://apify.com/) account
2. Open [Hepsiemlak Scraper](https://apify.com/lentic_clockss/hepsiemlak-scraper)
3. Choose a **channel** (`sale`, `rent`, `seasonal`, `projects`, or `office`)
4. For listings: enter a **location** city slug (e.g. `istanbul`) or `national`; for offices: enter **firmId** (e.g. `140403`)
5. Optionally set **locale** (`en` / `tr` / `ru`), `propertyType`, `maxResults`, and `enrichDetails`
6. Click **Start** and download the Dataset as JSON, CSV, Excel, or JSONL

Start with `maxResults: 5–10` to verify the query, then scale up.

---

### How much does it cost to scrape Hepsiemlak?

This Actor uses **pay-per-event** pricing. You are charged for:

| Event | Price |
| --- | --- |
| Actor Start (`apify-actor-start`) | **$0.005** per start |
| Result (`apify-default-dataset-item`) | **$3.00 / 1,000** results (**$0.003** each) |

**Platform usage costs are included** — you do **not** pay separate Apify compute/proxy usage for this Actor on top of the event prices above.

#### Example cost estimates

| Results collected | Approx. event cost* |
| --- | ---: |
| 100 | ~$0.31 |
| 1,000 | ~$3.01 |
| 10,000 | ~$30.01 |

\*Assumes one Actor start at default memory billing for start events, plus `$0.003` per Dataset item. Exact start billing can scale with allocated memory (one start event per GB, minimum one).

Free Apify trial credit can cover a small test run — try `maxResults: 5` first.

#### 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 (`maxResults`) | **Up to 500** | Up to 500 |

When the run cap is hit, the run finishes with a clear status message — not an Apify platform error. Paying Apify users are not subject to the run cap.

---

### Input

Open the **Input** tab for the full form. Common fields:

| Field | Description |
| --- | --- |
| `channel` | `sale` / `rent` / `seasonal` / `projects` / `office` |
| `location` | City slug (`istanbul`) or `national` / `_` / `all` for nationwide SERP |
| `locale` | `en` / `tr` / `ru` |
| `district` / `neighborhood` | District SERP **without** city prefix (e.g. `arnavutkoy`) |
| `propertyType` | Path filter: `daire`, `villa`, `arsa`, `isyeri`, `residence`, … |
| `firmId` / `officeUrl` | Required for `channel=office` |
| `projectIds` / `detailUrls` | Project or listing detail URLs |
| `maxResults` | Cap on Dataset rows (1–500) |
| `maxPages` | `?page=N` pagination (~24 cards/page) |
| `enrichDetails` | Fetch LDP / project detail and merge DOM attributes |

#### Example: Istanbul apartments for sale

```json
{
  "location": "istanbul",
  "channel": "sale",
  "locale": "en",
  "propertyType": "daire",
  "maxResults": 20,
  "maxPages": 1
}
````

#### Example: nationwide rent listings

```json
{
  "location": "national",
  "channel": "rent",
  "locale": "tr",
  "maxResults": 50,
  "maxPages": 2
}
```

#### Example: residential projects

```json
{
  "channel": "projects",
  "locale": "en",
  "maxResults": 24,
  "maxPages": 1
}
```

#### Example: real-estate office portfolio

```json
{
  "channel": "office",
  "firmId": "140403",
  "officeSlug": "mulkmaster",
  "maxResults": 20,
  "enrichDetails": true
}
```

#### Example: Russian locale + detail enrich

```json
{
  "location": "istanbul",
  "channel": "sale",
  "locale": "ru",
  "maxResults": 10,
  "enrichDetails": true
}
```

***

### Output sample

Each Dataset item looks like this (sale channel):

```json
{
  "listingId": "140403-90",
  "name": "75 Square Meters Apartment For Sale in Arnavutköy, Istanbul",
  "type": "listing",
  "dataType": "listing",
  "status": "active",
  "country": "TR",
  "authority": "hepsiemlak.com",
  "channel": "sale",
  "priceDisplay": "2850000 TRY",
  "rooms": 2,
  "floorSize": 75,
  "listingUrl": "https://www.hepsiemlak.com/en/istanbul-arnavutkoy-islambey-satilik/daire/140403-90",
  "sellerName": "MülkMaster",
  "firmId": "140403",
  "contentDepth": "guest_preview"
}
```

Projects use `dataType=project` + `projectId`. Offices emit one `dataType=office` summary row plus related `listing` rows sharing `firmId`.

***

### Integrations and Apify API

- Connect to **Make**, **Zapier**, **n8n**, Google Sheets, or webhooks from the Apify Console
- Use the [Apify API](https://docs.apify.com/api/v2) or official clients (`apify-client` for JS/Python)
- Schedule daily / weekly runs for Istanbul, Ankara, Antalya, and other cities
- Use [Apify MCP](https://docs.apify.com/platform/integrations/mcp) to call this Actor from AI agents

***

### FAQ

#### Is this an official Hepsiemlak API?

No. This Actor scrapes **public / guest-visible** pages as an alternative when you need bulk structured export. Respect Hepsiemlak terms and applicable law.

#### Do I need proxies?

Residential egress is handled by the managed worker for Cloud runs. You do not need to configure Apify Proxy for typical Store runs.

#### Can I scrape phone numbers?

No. Contact CTAs (Show Phone Number / WhatsApp) may trigger reCAPTCHA and are **out of scope**. Rows are marked `contentDepth=guest_preview`.

#### Which cities are supported?

Any Hepsiemlak city slug works (e.g. `istanbul`, `ankara`, `izmir`, `antalya`). Use `location=national` for Turkey-wide listing SERPs.

#### What about projects and offices?

Set `channel=projects` for `/projeler`, or `channel=office` with `firmId` / `officeUrl` for `/emlak-ofisi/...` portfolios.

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

Free Apify plan users get **10 runs** of this Actor and **up to 500 results per run**. These limits are set by the Actor developer (not Apify). When you hit the run cap, the run finishes with a clear status message — it is not a platform bug. Upgrade to a paid Apify plan for unlimited runs.

***

### Support

Issues and feature requests: open them on the Actor’s **Issues** tab in Apify Console. For urgent production pipelines, include a failing run URL and your input JSON (without secrets).

***

### 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

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

City slug (e.g. istanbul), or national/\_/all for nationwide SERP. Ignored for projects/office unless needed.

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

sale/rent/seasonal listings, projects list, or real-estate office.

## `locale` (type: `string`):

URL language prefix: en, tr (no prefix), or ru.

## `district` (type: `string`):

Optional district slug without city prefix (e.g. arnavutkoy).

## `neighborhood` (type: `string`):

Optional neighborhood slug (requires district).

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

Optional path filter: daire, villa, arsa, isyeri, residence, …

## `firmId` (type: `string`):

Required for channel=office. Numeric firmId or slug-firmId.

## `officeUrl` (type: `string`):

Optional full /emlak-ofisi/... URL for channel=office.

## `projectIds` (type: `array`):

Optional project detail URLs (or ids when URLs provided via detailUrls).

## `maxResults` (type: `integer`):

Maximum rows to return in this run (1–500). Free Apify plan users are limited to 500 results per run and 10 total runs of this Actor — limits set by the Actor developer.

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

SERP pages to fetch (?page=N). ~24 listings per page.

## `enrichDetails` (type: `boolean`):

Fetch LDP / project detail pages and merge DOM attributes.

## `detailUrls` (type: `array`):

Optional listing/project/office detail URLs.

## `includeRaw` (type: `boolean`):

Attach upstream JSON-LD / DOM under raw.

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

Override the Cloud Run worker origin for this run. Defaults to Actor env WORKER\_BASE\_URL. Use when testing a staging worker; production migrations should update WORKER\_BASE\_URL in Actor settings (no code change).

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

Apify proxy settings. Worker uses durable TR residential PROXY\_URL by default; actor-run proxy passwords are not forwarded to Cloud Run.

## Actor input object example

```json
{
  "location": "istanbul",
  "channel": "sale",
  "locale": "en",
  "district": "",
  "neighborhood": "",
  "propertyType": "",
  "firmId": "",
  "officeUrl": "",
  "projectIds": [],
  "maxResults": 24,
  "maxPages": 1,
  "enrichDetails": false,
  "detailUrls": [],
  "includeRaw": false,
  "workerBaseUrl": ""
}
```

# Actor output Schema

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

Normalized Hepsiemlak listing records.

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

Run outcome summary.

## `inputEcho` (type: `string`):

Normalized non-secret input.

## `errorSummary` (type: `string`):

Structured failure details.

# 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 = {
    "location": "istanbul",
    "channel": "sale",
    "locale": "en",
    "district": "",
    "neighborhood": "",
    "propertyType": "",
    "firmId": "",
    "officeUrl": "",
    "projectIds": [],
    "maxResults": 24,
    "maxPages": 1,
    "enrichDetails": false,
    "detailUrls": [],
    "includeRaw": false,
    "workerBaseUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("lentic_clockss/hepsiemlak-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 = {
    "location": "istanbul",
    "channel": "sale",
    "locale": "en",
    "district": "",
    "neighborhood": "",
    "propertyType": "",
    "firmId": "",
    "officeUrl": "",
    "projectIds": [],
    "maxResults": 24,
    "maxPages": 1,
    "enrichDetails": False,
    "detailUrls": [],
    "includeRaw": False,
    "workerBaseUrl": "",
}

# Run the Actor and wait for it to finish
run = client.actor("lentic_clockss/hepsiemlak-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 '{
  "location": "istanbul",
  "channel": "sale",
  "locale": "en",
  "district": "",
  "neighborhood": "",
  "propertyType": "",
  "firmId": "",
  "officeUrl": "",
  "projectIds": [],
  "maxResults": 24,
  "maxPages": 1,
  "enrichDetails": false,
  "detailUrls": [],
  "includeRaw": false,
  "workerBaseUrl": ""
}' |
apify call lentic_clockss/hepsiemlak-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Hepsiemlak Scraper | Turkey Real Estate Sale Rent",
        "description": "Scrape Hepsiemlak.com Turkey sale, rent, seasonal, projects & offices. Extract prices (TRY), rooms, size, sellers & URLs — Hepsiemlak API alternative.",
        "version": "0.1",
        "x-build-id": "uLEbnnKN4Sq5bEgfN"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/lentic_clockss~hepsiemlak-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-lentic_clockss-hepsiemlak-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/lentic_clockss~hepsiemlak-scraper/runs": {
            "post": {
                "operationId": "runs-sync-lentic_clockss-hepsiemlak-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/lentic_clockss~hepsiemlak-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-lentic_clockss-hepsiemlak-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "location": {
                        "title": "City / location slug",
                        "maxLength": 160,
                        "type": "string",
                        "description": "City slug (e.g. istanbul), or national/_/all for nationwide SERP. Ignored for projects/office unless needed.",
                        "default": "istanbul"
                    },
                    "channel": {
                        "title": "Channel",
                        "enum": [
                            "sale",
                            "rent",
                            "seasonal",
                            "projects",
                            "office"
                        ],
                        "type": "string",
                        "description": "sale/rent/seasonal listings, projects list, or real-estate office.",
                        "default": "sale"
                    },
                    "locale": {
                        "title": "Locale",
                        "enum": [
                            "en",
                            "tr",
                            "ru"
                        ],
                        "type": "string",
                        "description": "URL language prefix: en, tr (no prefix), or ru.",
                        "default": "en"
                    },
                    "district": {
                        "title": "District slug",
                        "type": "string",
                        "description": "Optional district slug without city prefix (e.g. arnavutkoy).",
                        "default": ""
                    },
                    "neighborhood": {
                        "title": "Neighborhood slug",
                        "type": "string",
                        "description": "Optional neighborhood slug (requires district).",
                        "default": ""
                    },
                    "propertyType": {
                        "title": "Property type",
                        "type": "string",
                        "description": "Optional path filter: daire, villa, arsa, isyeri, residence, …",
                        "default": ""
                    },
                    "firmId": {
                        "title": "Office firm ID",
                        "type": "string",
                        "description": "Required for channel=office. Numeric firmId or slug-firmId.",
                        "default": ""
                    },
                    "officeUrl": {
                        "title": "Office URL",
                        "type": "string",
                        "description": "Optional full /emlak-ofisi/... URL for channel=office.",
                        "default": ""
                    },
                    "projectIds": {
                        "title": "Project IDs / URLs",
                        "type": "array",
                        "description": "Optional project detail URLs (or ids when URLs provided via detailUrls).",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results (max 500; free users capped at 500/run)",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum rows to return in this run (1–500). Free Apify plan users are limited to 500 results per run and 10 total runs of this Actor — limits set by the Actor developer.",
                        "default": 24
                    },
                    "maxPages": {
                        "title": "Max pages",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "SERP pages to fetch (?page=N). ~24 listings per page.",
                        "default": 1
                    },
                    "enrichDetails": {
                        "title": "Enrich details",
                        "type": "boolean",
                        "description": "Fetch LDP / project detail pages and merge DOM attributes.",
                        "default": false
                    },
                    "detailUrls": {
                        "title": "Detail URLs",
                        "type": "array",
                        "description": "Optional listing/project/office detail URLs.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeRaw": {
                        "title": "Include raw payloads",
                        "type": "boolean",
                        "description": "Attach upstream JSON-LD / DOM under raw.",
                        "default": false
                    },
                    "workerBaseUrl": {
                        "title": "Worker base URL (optional)",
                        "type": "string",
                        "description": "Override the Cloud Run worker origin for this run. Defaults to Actor env WORKER_BASE_URL. Use when testing a staging worker; production migrations should update WORKER_BASE_URL in Actor settings (no code change).",
                        "default": ""
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy settings. Worker uses durable TR residential PROXY_URL by default; actor-run proxy passwords are not forwarded to Cloud Run."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
