Sahibinden Scraper — Turkey Cars, Real Estate & Classifieds avatar

Sahibinden Scraper — Turkey Cars, Real Estate & Classifieds

Pricing

from $2.99 / 1,000 listings

Go to Apify Store
Sahibinden Scraper — Turkey Cars, Real Estate & Classifieds

Sahibinden Scraper — Turkey Cars, Real Estate & Classifieds

Sahibinden scraper for Turkish classifieds: apartments (satılık/kiralık), cars, shopping, prices, m², rooms, km, seller type, photos, and optional phones. JSON export — Python, Node.js, and MCP ready.

Pricing

from $2.99 / 1,000 listings

Rating

0.0

(0)

Developer

Andrej Kiva

Andrej Kiva

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Disclaimer: Unofficial tool — not affiliated with, sponsored by, or endorsed by sahibinden.com or its affiliates. Data is read from publicly accessible pages only. No login. You are responsible for complying with applicable law (including KVKK / GDPR where personal data appears) and the site’s terms. No warranty on accuracy or availability. Provided for informational and research use.

Contact-data controls: Phone fields are omitted from the dataset by default. Enable includePhones only for numbers already published on public pages and only when you have a lawful basis. Any contact-field examples below assume that explicit opt-in; otherwise those fields are absent.

Sahibinden scraper for Turkey classifieds: satılık and kiralık apartments, villas, land, otomobil / SUV, and the second-hand catalog. Each row includes price (TRY), city/district, rooms or km, photos, and owner vs agency. Use it as a Sahibinden API alternative from Python, Node.js, cURL, or Apify MCP / AI assistants — paste a search or /ilan/ URL, or pick a city such as Istanbul.

Best for: Istanbul / Ankara / Izmir comps, used-car pricing, FSBO (sahibinden) lead lists, and JSON / CSV export via Apify.

ActorRole
Sahibinden Scraper ◄── you are hereTurkey cars, real estate & classifieds
Leboncoin ScraperFrench classifieds
mobile.de ScraperGerman vehicle listings

When to use this Actor

  • Sahibinden scraper for search pages — Copy a filtered browser URL (city, district, price, rooms, date) into Start URLs.
  • Satılık / kiralık daire datasets — Istanbul, Ankara, Izmir, or any city slug; export JSON/CSV for comps and yield models.
  • Used cars from the same Actor — Paste /vasita/otomobil or /vasita/arazi-suv-pickup URLs (year + km on the card).
  • Private-seller lists — Enable Private sellers only, or paste a /sahibinden search URL to keep owner rows.
  • Scheduled monitoring — Re-run the same search and emit only new or price-changed listings.

When not to use this Actor

  • Cookie / login walls — The Actor does not ask for session cookies and does not log in. Use Apify Proxy UNBLOCKER with country TR.
  • More than ~1,000 rows from one filter — sahibinden itself stops around pagingOffset=950. Split by district or price band.
  • Service pages — oto360, hizmetler, and ekspertiz URLs are skipped.
  • Authenticated actions — No messaging, favorites, or store admin.

Key features

  • Apify Unblocker + TR — Plain residential and datacenter IPs get Cloudflare 403. Group UNBLOCKER with country TR is the supported Cloud setup.
  • Search + listing URLs — One Actor handles category/search pages and /ilan/{id} detail links.
  • Search builder — City + category (sale, rent, cars, shopping) when you do not have a URL.
  • Details off by default — Search cards cover price, location, rooms/km. Turn on details for description, GPS, attributes, and photos.
  • Monitor mode — Key-value store remembers listing IDs and prices across runs.
  • Typed JSON — Numeric price, m², year, km, and GPS — not string blobs.

Input

FieldWhat it does
Start URLsSearch (/satilik-daire/istanbul, /vasita/otomobil/ford) or listing (/ilan/…/detay) links. Filters in the URL are kept.
Category / CityBuilder only. Used when Start URLs are empty.
SortNewest, oldest, or price. Newest is best for monitors.
Max listingsCap on dataset rows.
Scrape full listing detailsDefault off. On = description, attribute table, GPS, extra photos.
Include phone numbersOpt-in. Only numbers already shown on the public listing page.
Private sellers onlyKeep owner (sahibinden) rows when seller type is known.
Monitor modeSave new and price-changed rows only.
ProxyApify Unblocker, country TR.
{
"startUrls": [
{ "url": "https://www.sahibinden.com/satilik-daire/istanbul" }
],
"maxItems": 50,
"includeDetails": false,
"includePhones": false,
"onlyPrivate": false,
"monitorMode": false,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["UNBLOCKER"],
"apifyProxyCountry": "TR"
}
}

Builder example (no URL):

{
"category": "satilik-daire",
"city": "istanbul",
"sortBy": "newest",
"maxItems": 40,
"includeDetails": false
}

Cars example:

{
"startUrls": [
{ "url": "https://www.sahibinden.com/vasita/otomobil/istanbul?sorting=date_desc" }
],
"maxItems": 100
}

Output

One dataset row per listing. Search-card fields are always present; detail fields fill in when Scrape full listing details is on. Turkish text is kept verbatim (UTF-8).

FieldDescription
id / urlİlan number and canonical listing URL
title / descriptionHeadline and listing text
price / currency / priceLabelNumeric amount and 4.850.000 TL display string
city / district / neighborhoodİl / ilçe / mahalle
rooms / squareMeters / floor / heatingReal-estate fields (3+1, m², kat, ısıtma)
make / series / model / year / kmVehicle fields
latitude / longitudeGPS from the detail map
sellerType / isPrivate / sellerNameowner, agent, dealer, developer, bank
phoneMobilePublic mobile when includePhones is on
images / thumbnailUrlPhoto URLs
recordTypesummary or detail
scrapedAtUTC scrape timestamp
{
"id": "1313801852",
"url": "https://www.sahibinden.com/ilan/emlak-konut-satilik-metrobuse-yurume-luks-dekorlu-3-balkonlu-3-plus1-150-m2satilik-daire-1313801852/detay",
"title": "Metrobüse yürüme lüks dekorlu 3 balkonlu 3+1",
"price": 4850000,
"currency": "TRY",
"city": "İstanbul",
"district": "Beylikdüzü",
"rooms": "3+1",
"squareMeters": 150,
"sellerType": "agent",
"recordType": "summary"
}

Use cases

  • Build Istanbul satılık daire comps with price per m² by district.
  • Track kiralık listings in Çankaya or Kadıköy overnight via monitor mode.
  • Collect Ford / BMW search cards for used-car pricing without opening every detail.
  • Keep sahibinden (owner) rows for FSBO outreach when you have a lawful basis for phones.
  • Feed JSON into a spreadsheet, CRM, or valuation notebook.

Integration examples

Replace YOUR_TOKEN with your Apify API token. Actor name: crawloop/sahibinden-scraper.

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('crawloop/sahibinden-scraper').call({
startUrls: [{ url: 'https://www.sahibinden.com/satilik-daire/istanbul' }],
maxItems: 50,
includeDetails: false,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("crawloop/sahibinden-scraper").call(
run_input={
"startUrls": [{"url": "https://www.sahibinden.com/satilik-daire/istanbul"}],
"maxItems": 50,
"includeDetails": False,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

cURL

curl -X POST "https://api.apify.com/v2/acts/crawloop~sahibinden-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls":[{"url":"https://www.sahibinden.com/satilik-daire/istanbul"}],"maxItems":50}'

MCP and AI assistants

Use this Actor from AI tools via Apify MCP. Connect your Apify account, then call this Actor by its Store ID / name (crawloop/sahibinden-scraper).

Example prompts:

  • "Run Sahibinden Scraper for satılık daire in Istanbul and return the top 20 rows as JSON"
  • "Scrape sahibinden otomobil listings in Ankara with Sahibinden Scraper and summarize price, year, and km"
  • "Chain Sahibinden Scraper then Leboncoin Scraper to compare Turkey and France rental comps"

Suite next step

After Turkey classifieds, add France coverage with Leboncoin Scraper or EU cars with mobile.de Scraper.

FAQ

Do I need a sahibinden account? No. Apify Proxy UNBLOCKER with country TR is the supported setup. Session cookies are not an input.

Why did the run fail with Cloudflare / unusual access? Datacenter and plain residential IPs are blocked. Set proxy group UNBLOCKER and country TR.

Can I get more than 1,000 listings? Not from a single filter URL. Split by ilçe, price band, or listing date (date=1day).

Are phones included? Only when includePhones is on, and only if the listing page already shows them.

ActorRole
Leboncoin ScraperFrance classifieds
mobile.de ScraperGerman used cars