Hepsiemlak Map Search API returns the listings inside a bounding box as points: listing id, price, coordinates and building age. Give the top left and bottom right corner and add the search filters to narrow the points. Open the ids with the listing or bulk route. Up to 100 points per page.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
2 required parameters needed before sending a request.
35 optional filters available.
string
Required
Latitude and longitude of the top left corner of the map area, such as 41.0,29.0.
example
string
Required
Latitude and longitude of the bottom right corner, such as 40.95,29.06.
example
string
Optional
housing (default), commercial, land, timeshare or tourist.
example
string
Optional
sale (default), rent, seasonal_rent (housing only), transfer_sale and transfer_rent (commercial only) or swap_sale (land only).
example
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"]
string
Optional
City slug such as istanbul. Get slugs from autocomplete or filters.
example
array
Optional
Repeatable county slug such as kadikoy. Needs city.
["example"]
array
Optional
Repeatable district slug such as kadikoy-goztepe-mah. Read it from the filters route with a county.
["example"]
array
Optional
Repeatable area slug such as kadikoy-acibadem. Read it from the filters route with a county.
["example"]
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"]
array
Optional
Repeatable: none, 1, 2, 3, 4 or 5_plus.
["example"]
array
Optional
Repeatable age band: 0 (new), 1_5, 6_10, 11_15, 16_20 or 21_plus.
["example"]
array
Optional
Repeatable floor label such as Zemin, 3, Bodrum or En Üst Kat. The filters route lists all labels.
["example"]
array
Optional
Repeatable heating label such as Kombi, Klima or Merkezi. The filters route lists all labels.
["example"]
array
Optional
Repeatable: owner, agency or bank.
["example"]
array
Optional
Repeatable: empty, tenant, owner or unknown.
["example"]
array
Optional
Repeatable: video, video_call or virtual_tour. Listings must have the media.
["example"]
integer
Optional
Minimum price in TRY, inclusive. Rent prices are per month.
10
integer
Optional
Maximum price in TRY, inclusive.
10
integer
Optional
Minimum gross area in square meters.
10
integer
Optional
Maximum gross area in square meters.
10
integer
Optional
Minimum net area in square meters.
10
integer
Optional
Maximum net area in square meters.
10
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.
2026-06-15
string
Optional
furnished or unfurnished.
example
boolean
Optional
true for furnished listings only.
true
boolean
Optional
true for listings with a balcony.
true
boolean
Optional
true for listings with an elevator.
true
boolean
Optional
true for listings with a garden.
true
boolean
Optional
true for listings with parking.
true
boolean
Optional
true for listings inside a housing complex.
true
boolean
Optional
true for listings that qualify for a loan.
true
boolean
Optional
true for listings open to a swap.
true
boolean
Optional
true for listings with a campaign.
true
string
Optional
Free text over the listing text, features and place. Use Turkish spelling with accents, 2 to 100 characters.
running shoes
integer
Optional
One-based page number, default 1. A page past the last result returns an empty list.
1
integer
Optional
Points per page, 1 to 100, default 100.
10
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"points": [
{
"id": "19996-4377",
"price": 5950000,
"currency": "TRY",
"latitude": 40.993700130266255,
"longitude": 29.029813016156123,
"building_age": 35
}
],
"pagination": {
"page": 1,
"total": 79,
"per_page": 100,
"returned": 79,
"total_pages": 1
},
"applied_filters": {
"sort": "relevance",
"top_left": "41.0,29.0",
"price_max": 9000000,
"price_min": 5000000,
"bottom_right": "40.95,29.06",
"listing_type": "sale",
"property_class": "housing"
}
},
"meta": {
"billable": true,
"endpoint_family": "map"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
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"
}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": "map"
},
"error": {
"code": "VALIDATION_ERROR",
"message": "The location is unknown. Use a slug from autocomplete or filters."
},
"success": false
}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": "map"
},
"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.