Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Emlakjet API page →
Real Estate

Emlakjet API & Scraper

Emlakjet is one of Turkey's large property portals, and this API turns its listings into JSON.

5 actionsLive JSON1,000 free credits$0.67–$1.50 / 1,000 creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

Search by deal type (for sale, for rent, daily rent, business transfer), by property type, and by a province, district or neighbourhood — then narrow with an asking-price band in lira, a gross m² band, room layouts in the Turkish 1+1 / 2+1 / 3+1 notation, bathroom count, heating system, how recently the listing was posted, and whether the advertiser is an estate office, the owner directly, or the developer. Every filter was checked against the portal's own unfiltered count before it was published: in Istanbul for sale, the unfiltered total is around twenty-five thousand listings, a 2+1 filter leaves roughly eleven and a half thousand, and a from-the-owner filter leaves under five hundred. Each result carries the asking price as a number rather than a formatted string, the room layout, gross area in m², the floor, the full province / district / neighbourhood breakdown with latitude and longitude, the posting and last-update timestamps, every photo, and the estate office. The detail endpoint adds the free-text description with markup stripped, the price history with the date of each change, gross AND net m², building age, heating, parking, deed status, credit eligibility and whether the property sits inside a gated complex. Two things worth knowing before you build: the portal serves at most fifty pages of thirty listings for any single query, so deep coverage comes from narrowing the query by district or price band rather than from paging forever, and there is no free-text keyword search on this surface — location plus structured filters is how you select.

Reference

Reading an Emlakjet listing row

Turkish property listings use conventions that do not map one-to-one onto other markets. These are the ones that decide whether your parser is right, each checked against live responses on 2026-10-06.

FieldWhat it actually holds
roomsThe Turkish layout notation: "2+1" means two bedrooms plus one living room, so a 2+1 is a three-room flat. "studyo" / 1+0 is a studio. It is a LABEL, not a number — do not parse it as an integer. Empty on land and commercial rows, where the portal publishes no room count.
area_m2Gross floor area (brüt) in square metres, as an integer. The detail record also returns net_area_m2, read from the portal's own "119 m² / 100 m²" display line; net is always the smaller of the two. Turkish listings are advertised on the gross figure, so compare gross with gross.
price.amountThe asking price as an integer in the currency of price.currency, which is TRY on Turkish listings. For a rental it is the monthly rent; for a daily rental it is the nightly rate — the same field, so read trade_type before you compare numbers.
price.price_per_m2Only filled where the portal itself computed it — measured on about one row in ten. It is null, never zero, on the rest. Divide price.amount by area_m2 yourself if you need it on every row.
seller.type"corporate" for an estate office, "personal" for the owner advertising directly (sahibinden), "contractor" for the developer. Measured in Istanbul for sale: 24 562 corporate against 480 personal. seller.name is the office name and is empty on personal rows, because the portal does not publish a private individual's name.
locationFour nested levels: city (il, province), district (ilçe), locality (semt) and town (mahalle, neighbourhood), each with the exact slug the search endpoint takes, plus latitude and longitude on every row. The slug is hierarchical — "istanbul-kadikoy" for a district, "istanbul-silivri-selimpasa-mahallesi" for a neighbourhood.
total vs max_pagestotal is the portal's own count for the query and reflects real stock. max_pages is how deep you may read: fifty pages of thirty, so 1 500 rows per query, and it shrinks when the query is narrower. Both are returned, and page_clamped tells you when a page you asked for was above the ceiling.

Turkish place names carry dotted and dotless i (İstanbul, Kadıköy, Iğdır), and in most programming languages a plain lower-case does not fold İ to i. You can pass either the slug or the Turkish name — the folding is done for you — but if you build slugs yourself, fold the Turkish letters explicitly first.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/emlakjet/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "trade_type": "sale",
    "property_type": "residential",
    "location": "istanbul",
    "price_min": 2000000,
    "price_max": 6000000,
    "rooms": [
      "2+1",
      "3+1"
    ]
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "emlakjet",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 932.2,
    "record_count": 30,
    "bytes": 137115,
    "cache_hit": false,
    "market": "TR",
    "currency": "TRY",
    "locale": "tr-TR",
    "stop_reason": "page",
    "filters_applied": 3,
    "charged_credits": 1,
    "version": "1.0.0",
    "request_id": "5477a98a51e64cde",
    "fetched_at": "2026-10-06T14:47:17.837Z"
  },
  "data": {
    "results": [
      {
        "listing_id": 19945815,
        "url": "https://www.emlakjet.com/ilan/ege-gayrimenkul-den-kumburgaz-merkezde-21-daire-19945815",
        "title": "Ege Gayrimenkul Den Kumburgaz Merkezde 2+1 Daire",
        "trade_type": "Satılık",
        "category": "Konut",
        "estate_type": "Daire",
        "price": {
          "amount": 4300000,
          "currency": "TRY",
          "amount_try": 4300000,
          "price_per_m2": null,
          "previous_amount": null,
          "first_amount": 4300000,
          "discount_rate_pct": 0,
          "difference_rate_pct": 0,
          "is_opportunity": false
        },
        "rooms": "2+1",
        "area_m2": 119,
        "floor": "2",
        "location": {
          "summary": "Silivri - Selimpaşa Mahallesi",
          "city": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "district": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "town": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "locality": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "latitude": 41.05457076089114,
          "longitude": 28.36143862524923
        },
        "seller": {
          "id": 110414,
          "name": "EGE GAYRİMENKUL",
          "type": "corporate",
          "logo_url": "https://imaj.emlakjet.com/logo/110414/E6B9FAB0271A640AE294D1D011E35768.png",
          "agent_name": "Bahadır Çalışkaner",
          "phone": "[redacted-phone]"
        },
        "badges": [
          "promotion",
          "new"
        ],
        "has_video": false,
        "has_virtual_tour": false,
        "image_count": 5,
        "images": [
          "https://imaj.emlakjet.com/listing/19945815/B412EBD2A04AEFCA3AC197D5E249D53119945815.jpg",
          "https://imaj.emlakjet.com/listing/19945815/65074D2E9B1CFC4931D42AB3BF227ED319945815.jpg",
          "https://imaj.emlakjet.com/listing/19945815/00FE45290891802B87AA8EEF0427227419945815.jpg"
        ],
        "created_at": "2026-10-06T12:29:24Z",
        "first_published_at": "2026-10-06T12:34:53Z",
        "updated_at": "2026-10-06T12:34:50Z"
      },
      {
        "listing_id": 19932163,
        "url": "https://www.emlakjet.com/ilan/beylikduzu-nde-merkezi-konumda-on-cephe-masrafsiz-21-daire-19932163",
        "title": "Beylikdüzü'nde Merkezi Konumda Ön Cephe Masrafsız 2+1 Daire",
        "trade_type": "Satılık",
        "category": "Konut",
        "estate_type": "Daire",
        "price": {
          "amount": 3325000,
          "currency": "TRY",
          "amount_try": 3325000,
          "price_per_m2": null,
          "previous_amount": null,
          "first_amount": 3325000,
          "discount_rate_pct": 0,
          "difference_rate_pct": 0,
          "is_opportunity": false
        },
        "rooms": "2+1",
        "area_m2": 105,
        "floor": "Yüksek giriş",
        "location": {
          "summary": "Beylikdüzü - Yakuplu Mahallesi",
          "city": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "district": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "town": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "locality": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "latitude": 40.988268169467034,
          "longitude": 28.673318764708114
        },
        "seller": {
          "id": 1759055,
          "name": "EKREM DURMUŞ YAPI GAYRİMENKUL",
          "type": "corporate",
          "logo_url": "https://imaj.emlakjet.com/logo/1759055/6FABBC6ED2F618B51672C1D493A6C50A.jpg",
          "agent_name": "Ekrem  Durmuş",
          "phone": "[redacted-phone]"
        },
        "badges": [
          "promotion"
        ],
        "has_video": false,
        "has_virtual_tour": false,
        "image_count": 5,
        "images": [
          "https://imaj.emlakjet.com/listing/19932163/08C0DF54CD548F607E9DDD7B053EC63D19902682.jpg",
          "https://imaj.emlakjet.com/listing/19932163/64B2A0CB16F5C3988FCD9C1CD52F366C19902682.jpg",
          "https://imaj.emlakjet.com/listing/19932163/C762C0CDF99AD198DDDC3ECF3E61AA9519902682.jpg"
        ],
        "created_at": "2026-10-02T16:08:04Z",
        "first_published_at": "2026-10-02T16:08:43Z",
        "updated_at": "2026-10-04T10:50:24Z"
      },
      {
        "listing_id": 19932084,
        "url": "https://www.emlakjet.com/ilan/ed-yapi-dan-efsane-daire-arakat-emsalinde-21-balkonlu-giris-kat-19932084",
        "title": "Ed Yapı'dan Efsane Daire Arakat Emsalinde 2+1 Balkonlu Giriş Kat",
        "trade_type": "Satılık",
        "category": "Konut",
        "estate_type": "Daire",
        "price": {
          "amount": 2999999,
          "currency": "TRY",
          "amount_try": 2999999,
          "price_per_m2": null,
          "previous_amount": null,
          "first_amount": 2999999,
          "discount_rate_pct": 0,
          "difference_rate_pct": 0,
          "is_opportunity": false
        },
        "rooms": "2+1",
        "area_m2": 115,
        "floor": "Düz Giriş (Zemin)",
        "location": {
          "summary": "Esenyurt - Mehterçeşme Mahallesi",
          "city": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "district": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "town": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "locality": {
            "id": "[trimmed-depth]",
            "name": "[trimmed-depth]",
            "slug": "[trimmed-depth]"
          },
          "latitude": 41.019884808588294,
          "longitude": 28.666825424904708
        },
        "seller": {
          "id": 1759055,
          "name": "EKREM DURMUŞ YAPI GAYRİMENKUL",
          "type": "corporate",
          "logo_url": "https://imaj.emlakjet.com/logo/1759055/6FABBC6ED2F618B51672C1D493A6C50A.jpg",
          "agent_name": "Ekrem  Durmuş",
          "phone": "[redacted-phone]"
        },
        "badges": [
          "promotion"
        ],
        "has_video": false,
        "has_virtual_tour": false,
        "image_count": 5,
        "images": [
          "https://imaj.emlakjet.com/listing/19932084/64C7D7914D8AAAB11743ADB2D677EA1E19817113.jpg",
          "https://imaj.emlakjet.com/listing/19932084/BE84A32E09942BB68090B86104C07D3119817113.jpg",
          "https://imaj.emlakjet.com/listing/19932084/20CEE0E3D6537434253D8E9FD80F47E319817113.jpg"
        ],
        "created_at": "2026-10-02T15:54:55Z",
        "first_published_at": "2026-10-02T15:55:34Z",
        "updated_at": "2026-10-02T17:30:32Z"
      }
    ],
    "total": 8136,
    "total_display": "8.136",
    "count": 30,
    "page": 1,
    "page_size": 30,
    "max_pages": 50,
    "page_clamped": false,
    "has_more": true,
    "promoted_count": 13,
    "min_price_display": "2.000.000",
    "query": {
      "category_slug": "satilik-konut",
      "location_slug": "istanbul",
      "seller_segment": null,
      "filters": [
        "min-fiyat=2000000",
        "max-fiyat=6000000",
        "oda-sayisi=2-1,3-1"
      ],
      "page": 1,
      "search_url": "https://www.emlakjet.com/satilik-konut/istanbul?filtreler=max-fiyat=6000000&min-fiyat=2000000&oda-sayisi=2-1,3-1"
    },
    "warnings": []
  }
}
Actions

What the Emlakjet API does

ActionDescriptionConcrete use caseKey params
searchSearch emlakjet.com property listings anywhere in Turkey. Pick the deal type (sale, rent, daily rent, transfer), the property type and a location — a province, district or neighbourhood — then narrow with price, gross m², room layout, bathrooms, heating, how recently it was posted and who is advertising. Every filter here was measured against the source's own unfiltered count. Each result carries the asking price as a number, the room layout, area in m², the floor, the full province/district/neighbourhood breakdown with latitude and longitude, the posting and update timestamps, badges, every photo and the estate office. `total` is emlakjet's own count for the query; emlakjet serves at most 50 pages of 30 for any one query, so narrow the query to reach deeper stock.Real-estate investors call search to search emlakjet.com property listings anywhere in Turkey.trade_type, property_type, location, page, sort, ...
detailThe full record for one emlakjet listing, by its listing number or URL. Adds everything the search card does not carry: the free-text description with the markup stripped, the complete photo set, the price history with the date of each change, gross AND net m² read from the source's own display string, building age, floor and building height, heating, parking, deed status, credit eligibility, whether it is inside a gated complex, furnishing, lift, fibre, deed verification, and the estate office with its membership length.Brokerage tools call detail to get the full record for one emlakjet listing, by its listing number or URL.listing_id, include_pii
similarThe listings emlakjet itself considers comparable to a given one — the cheap comparables surface for a valuation or a 'more like this' feed. Returns the same core fields as a search row (price, rooms, area, location, estate office) for each comparable.Property dashboards call similar to get the listings emlakjet itself considers comparable to a given one.listing_id, include_pii
locationsThe location tree emlakjet searches by: all 81 Turkish provinces, the districts of one province, or the neighbourhoods (mahalle) and sub-localities of one district — each with the exact slug the `search` action expects and the numeric id emlakjet uses internally. Call it with no parameters for the provinces, with `city` for its districts, with `city` + `district` for its neighbourhoods.Lead-generation teams call locations to get the location tree emlakjet searches by.city, district
agenciesThe emlakjet estate-office and consultant directory — who is actually selling property in a given province, how much stock each one holds now and in the last three months, how long they have been on the platform, their experience in years and their median sale price. Pick `kind` to switch between offices (emlak ofisleri) and individual consultants (danışmanlar).Real-estate investors call agencies to get the emlakjet estate-office and consultant directory.kind, location, page, include_pii
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/emlakjet/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"trade_type":"sale","property_type":"residential","location":"istanbul","price_min":2000000,"price_max":6000000,"rooms":["2+1","3+1"]}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.emlakjet.search with {"trade_type":"sale","property_type":"residential","location":"istanbul","price_min":2000000,"price_max":6000000,"rooms":["2+1","3+1"]}.
Use cases

Who uses this API and why

  • Track asking prices per m² by Istanbul, Ankara or Izmir district, using the numeric price and gross m² on every row
  • Build a comparables set for a valuation: search a neighbourhood with a price and m² band, then pull the detail record's price history for each candidate
  • Watch new supply daily with the last-24-hours filter and alert on listings that undercut a district's going rate
  • Measure who holds the stock in a province from the estate-office directory — current listings, last-three-month listings, years on the platform and median sale price
  • Separate owner-advertised stock from agency stock in one call, because the seller type is a filter and is also returned on every row
FAQ

Questions developers ask before integrating

Can I search Emlakjet by keyword, like "sea view" or "havuzlu"?

No, and we would rather say so than ship a parameter that does nothing. The portal's own free-text key is ignored on the surface this API reads: the same query with a real word and with nonsense both returned the identical unfiltered count and the identical first thirty listings. So this API publishes no keyword parameter. Selection is by location plus structured filters — price band, gross m², room layout, bathrooms, heating, posting window, seller type — and you can match on free text yourself against the detail endpoint's description, which is returned with the markup stripped.

How many listings can I actually read for one query?

Up to 1 500: fifty pages of thirty, which is the portal's own ceiling and is returned to you as max_pages. Asking for a page beyond it does not fail and does not repeat the last page — the portal quietly serves page one again — so this API clamps the page, reports the real page it read and sets page_clamped, which means a paging loop terminates instead of re-reading page one forever. To cover a whole province, split the query: by district from the locations endpoint, or by price band. total keeps telling you the real size of the market behind the query even when it is larger than 1 500.

What does "2+1" mean, and can I filter by it?

It is the Turkish way of counting rooms: bedrooms plus living rooms. A 2+1 has two bedrooms and one living room, so three rooms in total; a 3+1 has four. "studyo" is a studio, written 1+0. You can filter by one or several layouts in a single call and they are OR-ed together — measured in Istanbul for sale, 2+1 alone leaves 11 686 of 25 149, and 2+1 together with 3+1 leaves 17 950. The same notation comes back on every row in the rooms field, as a label rather than a number.

Does the price filter work in lira, and is the currency fixed?

Yes to both. Prices are integers in Turkish lira and price.currency is TRY on Turkish listings; price.amount_try is the same figure, which matters only for the rare listing a seller priced in another currency. The price band bites on the portal's own count: against an unfiltered 25 149 for Istanbul for sale, a 5 000 000 lira floor leaves 17 201, a 2 000 000 ceiling leaves 1 090, and a 2-to-4-million band leaves 4 376. Sorting cheapest-first really reorders — the first four prices measured were 125 000, 310 000, 350 000 and 350 000.

Can I tell owner listings apart from agency listings?

Yes, in both directions. Seller type is a filter and it is also returned on every row, so you can either ask only for owner-advertised stock or read the mix. Measured in Istanbul for sale in one run: 24 562 from estate offices, 480 directly from owners, 25 149 in total. On agency rows you get the office name, and the estate-office directory endpoint then tells you how much stock that office holds, how long it has been on the platform and its median sale price.

Are contact phone numbers returned?

Not by default. The portal publishes the office switchboard on listing rows and, on the detail page, the consultant's mobile, their name and a licence document number. All of that is withheld unless you explicitly ask for it, and the estate office's NAME — a business identity, and the part you normally need — is always returned without it.

What does the detail endpoint add over a search row?

The free-text description with the HTML stripped, the complete photo set, the price history with the date of each change, net m² alongside gross, bathroom count, building age, how many floors the building has, heating system, parking, usage status, deed status, credit eligibility, whether it is inside a gated complex, lift, furnishing, whether swap is accepted, fibre and the portal's deed verification flag, plus the estate office with how many years it has been a member. Measured across twelve listings in five provinces, twenty-seven of those thirty-two fields were filled on all twelve; the ones that were not — deed status, lift, parking, credit eligibility — are fields the advertiser left blank, and they come back null rather than guessed.

How do I find the right location slug?

Call the locations endpoint. With no parameters it returns all 81 provinces with their slugs; with a province it returns that province's districts; with a province and a district it returns that district's neighbourhoods and sub-localities. Every row carries the slug the search endpoint expects and the numeric id the portal uses internally. You can also pass a plain Turkish name to search — "İzmir", "Kadıköy" — and it is folded to the slug for you.

What is the Emlakjet API?

Emlakjet API is a ReefAPI endpoint group for turkish property for sale and to rent, with the estate office behind each listing. It returns live JSON through POST requests under /emlakjet/v1.

Is the Emlakjet API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Emlakjet calls use the same shared credit balance as every other ReefAPI engine.

Do I need an Emlakjet login or account?

No login to Emlakjet is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Emlakjet data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Emlakjet API use?

Emlakjet actions currently cost 1-2 credits per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.

Can I call Emlakjet from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call emlakjet actions with the same key, credit pool and JSON envelope used by normal REST requests.

docs / emlakjet

Emlakjet

Turkish property for sale and to rent, with the estate office behind each listing.

base /emlakjet/v15 endpoints
post/emlakjet/v1/detail1 credit

The full record for one emlakjet listing, by its listing number or URL. Adds everything the search card does not carry: the free-text description with the markup stripped, the complete photo set, the price history with the date of each change, gross AND net m² read from the source's own display string, building age, floor and building height, heating, parking, deed status, credit eligibility, whether it is inside a gated complex, furnishing, lift, fibre, deed verification, and the estate office with its membership length.

ParameterAllowed / rangeDescription
listing_idrequired—An emlakjet listing number (the 'İlan Numarası' on the page, e.g. 19945815) or the full listing URL / /ilan/<slug>-<id> path — the `url` or `listing_id` of a search result.
include_pii = falseoptional—Include the contact details emlakjet publishes on the page: the office phone number, the named consultant, their WhatsApp mobile and the licence document number. Off by default — the agency NAME is always returned without it.
Try in playground →
post/emlakjet/v1/similar1 credit

The listings emlakjet itself considers comparable to a given one — the cheap comparables surface for a valuation or a 'more like this' feed. Returns the same core fields as a search row (price, rooms, area, location, estate office) for each comparable.

ParameterAllowed / rangeDescription
listing_idrequired—An emlakjet listing number (the 'İlan Numarası' on the page, e.g. 19945815) or the full listing URL / /ilan/<slug>-<id> path — the `url` or `listing_id` of a search result.
include_pii = falseoptional—Include the contact details emlakjet publishes on the page: the office phone number, the named consultant, their WhatsApp mobile and the licence document number. Off by default — the agency NAME is always returned without it.
Try in playground →
post/emlakjet/v1/locations1 credit

The location tree emlakjet searches by: all 81 Turkish provinces, the districts of one province, or the neighbourhoods (mahalle) and sub-localities of one district — each with the exact slug the `search` action expects and the numeric id emlakjet uses internally. Call it with no parameters for the provinces, with `city` for its districts, with `city` + `district` for its neighbourhoods.

ParameterAllowed / rangeDescription
cityoptional—A province slug, Turkish name or numeric id ('istanbul', 'İzmir', 34). With this set the action returns that province's districts.
districtoptional—A district slug, name or numeric id ('istanbul-kadikoy', 1622). Needs `city` unless a numeric district id is given. Returns that district's neighbourhoods.
Try in playground →
post/emlakjet/v1/agencies1 credit

The emlakjet estate-office and consultant directory — who is actually selling property in a given province, how much stock each one holds now and in the last three months, how long they have been on the platform, their experience in years and their median sale price. Pick `kind` to switch between offices (emlak ofisleri) and individual consultants (danışmanlar).

ParameterAllowed / rangeDescription
kind = officesoptionaloffices · agentsWhether to list estate offices or individual consultants.
locationoptional—Restrict to one province — a slug or the Turkish name. Measured: Istanbul holds 1 948 of the 10 756 estate offices.
page = 1optional1–50Directory page, 20 rows per page, at most 50 pages.
include_pii = falseoptional—Include the contact details emlakjet publishes on the page: the office phone number, the named consultant, their WhatsApp mobile and the licence document number. Off by default — the agency NAME is always returned without it.
Try in playground →
Built for volume
5M+ requests a day

Measured at 60 requests a second across the fleet, with no central bottleneck. Volume pricing is on request, and per-key limits are raised for high-volume accounts.

Missing a source?
We build it

Tell us a site we do not cover yet and it becomes an engine. A customer asked for bestprice.gr on a Sunday and it was in the catalog the next day.

Support
2 minute median reply

Median time from a question in the live chat to the first answer, measured across every answered conversation. Setup help included, no support tier to buy.

One key, one balance
Every API included

No per-site plans and no separate subscriptions. One key and one credit pool across the whole catalog, so adding a source costs nothing up front.

Planning something large? Tell us the volume and the sources and we will come back with what it costs and what we would have to build.

Comparing scraping APIs?ReefAPI vs Bright Data