Skip to content
Scrappa Get API key
Hepsiemlak API 1 credit/request

Hepsiemlak Search API Documentation

GET https://scrappa.co/api/hepsiemlak/search

Hepsiemlak Search API returns one page of listings for a query. Pick the property class and listing type, narrow by place, price, rooms, bathrooms, area, building age, floor, heating, owner type, usage status and media, then sort and page. Each item has the price in TRY, price per square meter, gross and net area, rooms, floor, building age, location, photos, agency and agent with public phone numbers, badges and dates. Every filter is honoured on every item: a value the upstream cannot honour is rejected with 422, never ignored. pagination.total is the count the source reports and can include new-build project cards, which are skipped here (skipped_project_cards) and served by the projects route. Bathrooms, heating, usage status and owner type are filtered at the source and are not shown on search items; open the listings with the bulk route to read them. A page past the last result returns an empty list with the requested page number. Failed requests are not billed.

Hepsiemlak Search API Documentation 1 credit/request

Endpoint

Request preview
GET
https://scrappa.co/api/hepsiemlak/search
Auth header
x-api-key
Cost
1 credit/request
Response preview
200 OK
{
    "data": {
        "items": [
            {
                "id": "129350-1379",
                "url": "https://www.hepsiemlak.com/istanbul-kadikoy-rasimpasa-satilik/daire/129350-1379",
                "area": {
                    "net_sqm": 90,
                    "gross_sqm": 100
                },
                "agent": {
                    "id": 1,
                    "name": "Example Agent",
                    "photo": null,
...

Parameters

Start with the required fields, then add optional filters only when your use case needs them.

Runnable path

This endpoint has no required query parameters.

37 optional filters available.

property_class string Optional

housing (default), commercial, land, timeshare or tourist.

Example value example
listing_type string Optional

sale (default), rent, seasonal_rent (housing only), transfer_sale and transfer_rent (commercial only) or swap_sale (land only).

Example value example
property_type array Optional

Repeatable property type slug of the class, such as daire, villa, mustakil-ev, dukkan-magaza, tarla or otel. Use the filters route for the full list.

Example value ["example"]
city string Optional

City slug such as istanbul. Get slugs from autocomplete or filters.

Example value example
county array Optional

Repeatable county slug such as kadikoy. Needs city.

Example value ["example"]
district array Optional

Repeatable district slug such as kadikoy-goztepe-mah. Read it from the filters route with a county.

Example value ["example"]
area array Optional

Repeatable area slug such as kadikoy-acibadem. Read it from the filters route with a county.

Example value ["example"]
rooms array Optional

Repeatable room layout: studyo, 1+1, 2+1, 3+1, 4+1 and so on up to 9-ve-uzeri. 3+1 and 3-1 both work. Several values match any of them.

Example value ["example"]
bathrooms array Optional

Repeatable: none, 1, 2, 3, 4 or 5_plus.

Example value ["example"]
building_age array Optional

Repeatable age band: 0 (new), 1_5, 6_10, 11_15, 16_20 or 21_plus.

Example value ["example"]
floors array Optional

Repeatable floor label such as Zemin, 3, Bodrum or En Üst Kat. The filters route lists all labels.

Example value ["example"]
heating array Optional

Repeatable heating label such as Kombi, Klima or Merkezi. The filters route lists all labels.

Example value ["example"]
owner_type array Optional

Repeatable: owner, agency or bank.

Example value ["example"]
usage_status array Optional

Repeatable: empty, tenant, owner or unknown.

Example value ["example"]
media array Optional

Repeatable: video, video_call or virtual_tour. Listings must have the media.

Example value ["example"]
price_min integer Optional

Minimum price in TRY, inclusive. Rent prices are per month.

Example value 10
price_max integer Optional

Maximum price in TRY, inclusive.

Example value 10
area_min integer Optional

Minimum gross area in square meters.

Example value 10
area_max integer Optional

Maximum gross area in square meters.

Example value 10
net_area_min integer Optional

Minimum net area in square meters.

Example value 10
net_area_max integer Optional

Maximum net area in square meters.

Example value 10
listing_date string Optional

Updated within: today, last_3_days, last_week, last_15_days, last_month or last_2_months. It filters the update date, not the creation date.

Example value 2026-06-15
furnish_status string Optional

furnished or unfurnished.

Example value example
furnished boolean Optional

true for furnished listings only.

Example value true
balcony boolean Optional

true for listings with a balcony.

Example value true
elevator boolean Optional

true for listings with an elevator.

Example value true
garden boolean Optional

true for listings with a garden.

Example value true
parking boolean Optional

true for listings with parking.

Example value true
within_complex boolean Optional

true for listings inside a housing complex.

Example value true
loan_eligible boolean Optional

true for listings that qualify for a loan.

Example value true
barter boolean Optional

true for listings open to a swap.

Example value true
has_campaign boolean Optional

true for listings with a campaign.

Example value true
keyword string Optional

Free text over the listing text, features and place. Use Turkish spelling with accents, 2 to 100 characters.

Example value running shoes
agency_id integer Optional

Only listings of this agency.

Example value 1234567890
sort string Optional

relevance (default), price_asc, price_desc, updated_desc, updated_asc, created_desc or created_asc. price_desc starts with listings that have a mistyped huge price.

Example value relevance
page integer Optional

One-based page number, default 1. A page past the last result returns an empty list.

Example value 1
per_page integer Optional

Listings per page, 1 to 50, default 20.

Example value 10

Response Schema

Example response fields are illustrative; inspect the JSON before integrating.

Example response fields

Scan these fields before integrating.

data meta success
JSON Response
200 OK
{
    "data": {
        "items": [
            {
                "id": "129350-1379",
                "url": "https://www.hepsiemlak.com/istanbul-kadikoy-rasimpasa-satilik/daire/129350-1379",
                "area": {
                    "net_sqm": 90,
                    "gross_sqm": 100
                },
                "agent": {
                    "id": 1,
                    "name": "Example Agent",
                    "photo": null,
                    "phones": [
                        {
                            "type": "PHONE1",
                            "number": "+90212XXXXXXX",
                            "extension": null
                        }
                    ]
                },
                "floor": "En \u00dcst Kat",
                "price": 7050000,
                "rooms": "3+1",
                "title": "TA\u015eK\u00d6PR\u00dc CADDES\u0130 \u00dcZER\u0130 - S\u00d6\u011e\u00dcTL\u00dc\u00c7E\u015eME METROB\u00dcS MARMARAY YANI 3+1",
                "agency": {
                    "id": 129350,
                    "url": null,
                    "logo": "https://example.com/photo.jpg",
                    "name": "REMAX GOAL",
                    "phones": [
                        {
                            "type": "PHONE1",
                            "number": "+90212XXXXXXX",
                            "extension": null
                        }
                    ],
                    "rating": null,
                    "package": null,
                    "badge_year": null,
                    "short_name": "REMAX GOAL",
                    "branded_logo": "https://example.com/photo.jpg",
                    "member_since": null,
                    "licence_number": null
                },
                "badges": [],
                "images": [
                    "https://example.com/photo.jpg",
                    "https://example.com/photo.jpg"
                ],
                "bedrooms": 3,
                "currency": "TRY",
                "location": {
                    "city": "\u0130stanbul",
                    "county": "Kad\u0131k\u00f6y",
                    "district": "Rasimpa\u015fa"
                },
                "seasonal": null,
                "deed_type": "Kat M\u00fclkiyeti",
                "has_video": true,
                "is_shared": true,
                "created_at": "2026-06-12T10:51:59Z",
                "updated_at": "2026-10-23T20:21:11Z",
                "building_age": 31,
                "listing_type": "sale",
                "price_per_sqm": 70500,
                "property_type": "Daire",
                "has_video_call": true,
                "property_class": "Konut",
                "building_floors": null,
                "has_virtual_tour": false,
                "listing_type_label": "Sat\u0131l\u0131k",
                "identification_number": "1234abcd",
                "energy_certificate_number": null
            }
        ],
        "pagination": {
            "page": 1,
            "total": 18,
            "per_page": 20,
            "returned": 17,
            "total_pages": 1,
            "skipped_project_cards": 1
        },
        "applied_filters": {
            "city": "istanbul",
            "sort": "price_asc",
            "rooms": [
                "3+1"
            ],
            "county": [
                "kadikoy"
            ],
            "price_max": 9000000,
            "price_min": 5000000,
            "listing_type": "sale",
            "property_class": "housing"
        }
    },
    "meta": {
        "billable": true,
        "endpoint_family": "search"
    },
    "success": true
}

Errors

Handle these documented responses before retrying or showing customer-facing failures.

422

Validation Error

A parameter is missing or outside its allowed values. This response is not billable.

{
    "errors": {
        "property_class": [
            "The property_class field is invalid."
        ]
    },
    "message": "The request validation failed"
}
422

Unknown Location

A city, county, district or area slug does not exist. Use a slug from autocomplete or filters. This response is not billable.

{
    "meta": {
        "billable": false,
        "retryable": false,
        "endpoint_family": "search"
    },
    "error": {
        "code": "VALIDATION_ERROR",
        "message": "The location is unknown. Use a slug from autocomplete or filters."
    },
    "success": false
}
503

Upstream Unavailable

Hepsiemlak could not be reached or capacity is busy. Retry after a short pause. This response is not billable.

{
    "meta": {
        "billable": false,
        "retryable": true,
        "endpoint_family": "search"
    },
    "error": {
        "code": "UPSTREAM_UNAVAILABLE",
        "message": "Hepsiemlak could not be reached. Please retry shortly."
    },
    "success": false
}

Generate Code with AI

Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.

Try It Live

Test this endpoint in our interactive playground with real data.