Search Turkey's second-hand classifieds, then read any listing and its seller in full
letgo is Turkey's general second-hand classifieds app, and this API reads it as JSON.
6 active endpoints, on 1 and 2 credit tiers.
- POST/letgo/v1/search
- POST/letgo/v1/item
- POST/letgo/v1/seller
- POST/letgo/v1/seller_listings
- POST/letgo/v1/categories
- POST/letgo/v1/locations
What letgo endpoints does ReefAPI ship?
6 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
letgo API
5 of 6 endpoints, ready to run
Second-hand sofas between 1,000 and 5,000 TL, cheapest first
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the letgo API works
letgo is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 438 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
From a category and a city to priced listings with their sellers
Pick the ids, page the listings, read the ones that matter in full, then follow their sellers.
The car section of letgo's tree: 27 categories with ids, paths and page URLs.
Ankara's districts with the live number of listings in each.
Listings with TL price, district, photo, promoted flag and the seller's id, name and rating; next_cursor for the following page.
The full listing: description, year, kilometres, damage record, panel states, every photo, dates and the seller.
Everything that seller is offering, newest first.
A dated, district-level feed of second-hand listings in Turkish lira with the full specs behind each one and the sellers who posted them.
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"}'{
"ok": true,
"data": { … },
"meta": {
"api": "letgo",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}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.
| Field | What it holds |
|---|---|
| price_try and price_display | price_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_promoted | True 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 rows | On 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 attributes | Every 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. |
| condition | The 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, district | Province and district as letgo prints them. letgo does not publish the exact map point of a listing, so we return none. |
| seller | Name, 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_dropped | letgo 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. |
| total | letgo'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.
letgo coverage, measured
Every number below was read from live letgo responses on 2026-10-07, in two consecutive runs of 58 calls each.
Turkey only, prices in Turkish lira, 81 provinces. 846 categories in 15 sections: cars, phones, electronics, home, motorbikes, clothing, beauty, kids, hobby, office, sports, other vehicles, DIY and garden, pets, antiques. 398,283 cars and 473,488 clothing listings live.
koltuk 140,919 → 1,000-5,000 TL 29,068 (28 of 28 rows in band); iphone 82,381 → Ankara 8,031, last 24 hours 5,799, seller rating 4.5+ 9,935, free shipping 4,407; bisiklet İzmir 6,999 → Bayraklı 805; Araba 398,283 → cars only 61,099.
On 126 search rows across sofas, phones, cars, clothing and bicycles: id, title, price, province, district, category, photo and seller 126/126. On 14 full listings: description, attributes, photos, dates and seller 14/14; condition 12/14 (cars carry none).
The price matched the listing page's own published price on 8 of 8 items across six categories, and the printed price string on 126 of 126 rows.
Search to item round-trips on the same id, price, seller and province 8 of 8 times in both runs.
Phone numbers are for logged-in members and are not returned; no exact map point; no view counter (letgo shows 0); promoted listings lead every sort; pages hold 24 to 29 listings; removed listings return NOT_FOUND.
What people build with letgo
The jobs this data is most often used for.
endpoints
credits per call
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.
What letgo data costs
The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 438 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
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"}'import requests
r = requests.post(
"https://api.reefapi.com/letgo/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "koltuk",
"min_price": 1000,
"max_price": 5000,
"sort": "price_asc"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up letgo.
Get a free key →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.
99 Classifieds & Second-hand APIs on the same key
One key, one credit pool, one response envelope. If you are pulling letgo, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 437 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-10-07.