Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the letgo API page →
Classifieds & Second-hand

letgo API & Scraper

letgo is Turkey's general second-hand classifieds app, and this API reads it as JSON.

6 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` takes free text in Turkish plus letgo's own filters: category, province, district, a price range in Turkish lira, posting date (24 hours to 15 days), minimum seller rating and free shipping, sorted by relevance, newest or price, with a cursor for the next page. `item` returns one listing in full: title, description, price, condition, every structured field the seller filled (for a car: make, model, year, kilometres, fuel, gearbox, plate, damage record and the state of each body panel), category path, province and district, all photos, posting and expiry dates and the seller. `seller` returns a member's profile with verification and counters, `seller_listings` pages through everything one seller offers, and `categories` and `locations` give the ids the filters take. On 2026-10-07 letgo listed 398,283 cars and 82,381 results for iphone alone.

Reference

What a letgo field actually contains

Fields that read differently from how they look. Every row was measured against live letgo responses on 2026-10-07.

FieldWhat it holds
price_try and price_displayprice_try is the number, price_display the exact string letgo prints ("1.325.000 TL", dot = thousands). They agreed on 126 of 126 search rows, and price_try matched the listing page's own published price on 8 of 8 items across six categories.
is_promotedTrue for paid "vitamin" listings. letgo places them first on every sort order, so on a price sort they appear before the cheapest organic listing. The organic rows after them were strictly in price order in every run.
title on car and motorbike rowsOn vehicle results the card heading is make and model ("Fiat DOBLO") and subtitle is year and kilometres ("2012 - 209.000 KM"), exactly as letgo prints the card. The seller's own title is in item.
parameters and attributesEvery structured field of the listing: key, the Turkish label, the value and the display form letgo prints (km 411000 is shown as "411.000"). attributes is the same as a flat key → value map. Cars carry about 30 of them, phones brand, model, memory and colour, clothing size and colour.
conditionThe seller's "Durum" choice (Yeni Gibi, Az Kullanılmış…) with condition_display, the short label letgo shows next to it ("2. El"). Cars have no condition field: null on vehicles.
city, districtProvince and district as letgo prints them. letgo does not publish the exact map point of a listing, so we return none.
sellerName, about text, member since, verification status, rating, review count and avatar, as on the listing page. has_phone says the seller registered a phone; the number itself is shown only to logged-in members and is not returned.
next_cursor, has_more, duplicates_droppedletgo pages with a cursor. Its consecutive pages can repeat one listing at the boundary; we drop the repeat and count it in duplicates_dropped. has_more turns false on the last page.
totalletgo's own count for the request. Under relevance sort it can change on later pages; on price or date sorts it stays put.

Without a city, letgo's relevance order puts listings near İstanbul first. Pass city_id, or sort by newest or price, for a nationwide view.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/letgo/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "koltuk",
    "min_price": 1000,
    "max_price": 5000,
    "sort": "price_asc"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "letgo",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 944.8,
    "record_count": 24,
    "bytes": 49194,
    "cache_hit": false,
    "upstream_requests": 1,
    "warnings": [
      "promoted (paid) listings are placed first and are not in price order; is_promoted marks them"
    ],
    "charged_credits": 2,
    "version": "1.0.0",
    "request_id": "43a01b2bf33f4440",
    "queue_ms": 1.4,
    "fetched_at": "2026-10-07T15:52:09.472Z"
  },
  "data": {
    "query": "koltuk",
    "total": 29029,
    "rows_on_page": 24,
    "duplicates_dropped": 0,
    "has_more": true,
    "next_cursor": "eyJzYSI6ImZyZWVfMTAwMCwxNzM0Nzc5NDc0fGZlZF8xNTAwLDE3MzQyODEzODUiLCJwIjpbIjE3MzI3NjcwOTUiLCIxNjgwMTU0ODUwIiwiMTczNDUzNzIzOCIsIjE3MzQ3NzQ3NDgiLCI5OTEzMjk2MDAiLCIxNzMyODA3MjQxIiwiOTg2ODMxMDUwIiwiOTg2MDU5MTQ1IiwiMTczNDc2Mjc5NCIsIjk4MjM3ODI1OCIsIjE3Mjk4OTYzNTUiLCI5ODAzMDE4MjMiLCI5NzMyNzk5MjUiLCIxNzM0NzczMDQ0IiwiOTY5ODY4ODY4IiwiMTczNDYwNzEyMyIsIjk0OTM2NjExNSIsIjkzOTEyMDAxMCIsIjE3MzQzOTE4MjYiLCI4Nzk2NjYyOTciLCI4NjE4NTU3ODIiLCIxNzM0MjgxMzg1IiwiNzg0OTk5MTA5IiwiMTczNDc3OTQ3NCJdLCJxIjoiZTA1Y2JlYmIxNyJ9",
    "sort": "price_asc",
    "filters_applied": {
      "min_price": 1000,
      "max_price": 5000
    },
    "listings": [
      {
        "id": "1732767095",
        "url": "https://www.letgo.com/item/koltuk-ve-masa-iid-1732767095",
        "title": "koltuk ve masa",
        "subtitle": null,
        "price_try": 1000,
        "price_display": "1.000 TL",
        "currency": "TRY",
        "is_promoted": true,
        "promotions": [
          "vitamin-highlight",
          "vitamin-massive"
        ],
        "city": "Manisa",
        "district": "Yunusemre",
        "category_id": 15137,
        "image": "https://imvm.letgo.com/v1/files/b800538d32f14-OLXAUTOTR/image;s=1024x1024",
        "has_video": false,
        "max_installment_count": 6,
        "seller_id": 508522445,
        "seller_name": "letgo Kullanıcısı",
        "seller_rating": 0,
        "is_successful_seller": false
      },
      {
        "id": "1680154850",
        "url": "https://www.letgo.com/item/cafe-koltuk-sandalye-iid-1680154850",
        "title": "Cafe Koltuk Sandalye",
        "subtitle": null,
        "price_try": 1200,
        "price_display": "1.200 TL",
        "currency": "TRY",
        "is_promoted": true,
        "promotions": [
          "vitamin-highlight",
          "vitamin-massive"
        ],
        "city": "İzmir",
        "district": "Karaburun",
        "category_id": 15150,
        "image": "https://imvm.letgo.com/v1/files/e0c89d637dc14-OLXAUTOTR/image;s=1024x1024",
        "has_video": false,
        "max_installment_count": 6,
        "seller_id": 164711420,
        "seller_name": "snn clnk",
        "seller_rating": 0,
        "is_successful_seller": false
      },
      {
        "id": "1734537238",
        "url": "https://www.letgo.com/item/l-koltuk-iid-1734537238",
        "title": "L Koltuk",
        "subtitle": null,
        "price_try": 1250,
        "price_display": "1.250 TL",
        "currency": "TRY",
        "is_promoted": true,
        "promotions": [
          "vitamin-highlight",
          "vitamin-massive",
          "vitamin-peak"
        ],
        "city": "İstanbul",
        "district": "Ümraniye",
        "category_id": 15137,
        "image": "https://imvm.letgo.com/v1/files/80ee3a5413594-OLXAUTOTR/image;s=1024x1024",
        "has_video": false,
        "max_installment_count": 6,
        "seller_id": 519009686,
        "seller_name": "letgo Kullanıcısı",
        "seller_rating": 0,
        "is_successful_seller": false
      }
    ]
  }
}
Actions

What the letgo API does

ActionDescriptionConcrete use caseKey params
searchSearch letgo, Turkey's general second-hand classifieds app: phones, electronics, furniture and home, cars and motorbikes, clothing, kids, hobby, pets. Free text plus the site's own filters (category, province, district, price range, posting date, seller rating, free shipping) and its four sort orders, with cursor paging. Nothing is required: no parameters browses the newest-ranked live listings.Price-intelligence teams call search to search letgo, Turkey's general second-hand classifieds app.query, category_id, city_id, district_id, min_price, ...
itemOne letgo listing in full: title, description, price, condition, every structured attribute the seller filled (for cars: make, model, year, km, fuel, gearbox, body, colour, plate, damage record and the paint/replacement state of each panel), category path, province and district, all photos and videos, posting and expiry dates, offer and payment options, and the seller — name, member since, verification, rating, review count.Classifieds aggregators call item to get one letgo listing in full.id, url, include_pii
sellerA letgo seller's public profile: name, about text, member since, business or private, verification status and what they verified with (phone, e-mail, Facebook…), avatar, and the profile counters — listings published, followers, following, items bought.Resale and arbitrage tools call seller to get a letgo seller's public profile.seller_id, seller_id, include_pii
seller_listingsEvery live listing of one letgo seller, newest first or by price, with cursor paging. The seller id is on every search row and listing.Lead-generation teams call seller_listings to get every live listing of one letgo seller, newest first or by price, with cursor paging.seller_id, seller_id, sort, cursor, include_pii
categoriesletgo's full category tree (15 top-level sections, 846 categories), flattened with ids, parent ids, the readable path and the category page URL. Use the ids as `category_id` in search.Price-intelligence teams call categories to get letgo's full category tree (15 top-level sections, 846 categories), flattened with ids, paren….parent_id, include_pii
locationsThe place ids search filters on: without a city, Turkey's 81 provinces; with a city_id (or name), that province's districts with the live number of listings in each.Classifieds aggregators call locations to get the place ids search filters on.city_id, include_pii
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/letgo/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"koltuk","min_price":1000,"max_price":5000,"sort":"price_asc"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.letgo.search with {"query":"koltuk","min_price":1000,"max_price":5000,"sort":"price_asc"}.
Use cases

Who uses this API and why

  • Track second-hand prices in Turkey for phones, cars or furniture by province, with the date each listing went up.
  • Build a used-car dataset with year, kilometres, damage record and panel-by-panel paint state for every listing in a category.
  • Alert on new listings under a price in one district, using posted_within=24h and newest-first sort.
  • Find active sellers worth contacting: profile, verification, rating and their full list of live listings.
  • Compare letgo asking prices with new retail prices or with other Turkish marketplaces for the same model.
FAQ

Questions developers ask before integrating

Do I need a letgo account?

No. Everything is read logged out, and you call reefapi.com from anywhere.

How do I search one city or district?

Pass city_id as the province id or its name (İzmir, Ankara). locations lists all 81 provinces, and locations with a city_id lists its districts with live listing counts. For bisiklet, İzmir narrowed 84,404 listings to 6,999 and its Bayraklı district to 805.

Which filters can I combine?

query, category_id, city_id, district_id, min_price and max_price, posted_within (24h, 3d, 7d, 15d), min_seller_rating (3, 3.5, 4, 4.5) and free_shipping. Each one was checked against the unfiltered count in the same minute: iphone 82,381 → 8,031 in Ankara, 5,799 posted in the last 24 hours, 9,935 from sellers rated 4.5 or more, 4,407 with free shipping.

Can I get a car's mileage, year and damage record?

Yes. item returns every field the seller filled: make, model, version, year, kilometres, fuel, gearbox, body type, colour, plate type, plate, the last six characters of the chassis number, the damage and insurance record, lien status, and the original, painted or replaced state of each body panel.

How do I page through all results?

Every page returns next_cursor; pass it back with the same filters. Pages hold 24 to 29 listings. A search for gramofon in Ankara returned all 84 listings over four pages with no repeats.

Can I get everything one seller is selling?

Yes. Every row carries seller_id. seller_listings pages through that seller's live listings (newest first or by price), and seller returns the profile with listings published, followers and following.

What does letgo not publish?

Phone numbers (members only), the exact map point of a listing, and a view counter (letgo returns 0 for every listing). Removed or sold listings return NOT_FOUND.

What is the letgo API?

letgo API is a ReefAPI endpoint group for turkey's second-hand classifieds: phones, cars, furniture and more with tl price, district, full specs and the seller. It returns live JSON through POST requests under /letgo/v1.

Is the letgo API free to try?

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

Do I need a letgo login or account?

No login to letgo 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 letgo 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 letgo API use?

letgo 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 letgo from an AI assistant or MCP client?

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

Is the letgo API a letgo scraper?

It is the managed alternative to a DIY letgo scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same turkey's second-hand classifieds: phones, cars, furniture and more with tl price, district, full specs and the seller back as clean JSON.

docs / letgo

letgo

Turkey's second-hand classifieds: phones, cars, furniture and more with TL price, district, full specs and the seller.

base /letgo/v16 endpoints
post/letgo/v1/item1 credit

One letgo listing in full: title, description, price, condition, every structured attribute the seller filled (for cars: make, model, year, km, fuel, gearbox, body, colour, plate, damage record and the paint/replacement state of each panel), category path, province and district, all photos and videos, posting and expiry dates, offer and payment options, and the seller — name, member since, verification, rating, review count.

ParameterAllowed / rangeDescription
idoptional—letgo listing id, exactly the `id` of a search row.
urloptional—Or the listing URL (https://www.letgo.com/item/<slug>-iid-<id>).
include_pii = falseoptional—Accepted for gateway compatibility; seller fields are returned as published.
Try in playground →
post/letgo/v1/seller2 credits

A letgo seller's public profile: name, about text, member since, business or private, verification status and what they verified with (phone, e-mail, Facebook…), avatar, and the profile counters — listings published, followers, following, items bought.

ParameterAllowed / rangeDescription
seller_idrequired—The seller's numeric id: `seller_id` of any search row or listing.
include_pii = falseoptional—Accepted for gateway compatibility; seller fields are returned as published.
Try in playground →
post/letgo/v1/seller_listings2 credits

Every live listing of one letgo seller, newest first or by price, with cursor paging. The seller id is on every search row and listing.

ParameterAllowed / rangeDescription
seller_idrequired—The seller's numeric id: `seller_id` of any search row or listing.
sort = newestoptionalnewest · price_asc · price_descOrder: newest (default), price_asc, price_desc.
cursoroptional—Paging token: pass `next_cursor` from the previous page unchanged, with the same filters. Omit for the first page.
include_pii = falseoptional—Accepted for gateway compatibility; seller fields are returned as published.
Try in playground →
post/letgo/v1/categories2 credits

letgo's full category tree (15 top-level sections, 846 categories), flattened with ids, parent ids, the readable path and the category page URL. Use the ids as `category_id` in search.

ParameterAllowed / rangeDescription
parent_idoptional—Only this category and everything under it (e.g. 15705 Araba).
include_pii = falseoptional—Accepted for gateway compatibility; seller fields are returned as published.
Try in playground →
post/letgo/v1/locations1 credit

The place ids search filters on: without a city, Turkey's 81 provinces; with a city_id (or name), that province's districts with the live number of listings in each.

ParameterAllowed / rangeDescription
city_idoptional—Omit to list the 81 provinces. Give a province id or name to list its districts with live listing counts.
include_pii = falseoptional—Accepted for gateway compatibility; seller fields are returned as published.
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.