Gardrops API & Scraper
Gardrops is a second-hand marketplace in Turkey where private sellers list women's, men's and kids' clothing, shoes, bags, home goods and electronics, and this API reads it as JSON.
🤖 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 Turkish free text plus Gardrops' own filters: category, brand, size, colour, five condition grades, a price range in Turkish lira, the seller's city, premium and celebrity closets, sorted by relevance, newest, oldest or price; 72 listings a page. `product` returns one listing in full: title, description, price, every image, brand, the category path, size, colour, condition, shipping, badges, bundle discounts and the seller with rating. `seller`, `seller_listings` and `seller_reviews` give a seller's profile (listing, sold and bought counts, followers, rating), their whole closet and the reviews buyers wrote. `filters`, `categories` and `suggest` return the ids and codes the filters take. On 2026-10-07 Gardrops carried 16,616,815 live listings.
What a Gardrops field actually contains
Fields that read differently from how they look. Every row was measured against live Gardrops responses on 2026-10-07.
| Field | What it holds |
|---|---|
| id and seller_id | Gardrops identifies a listing by two numbers: its own id and its seller's id. Every search and closet row carries both, and product takes both under the same names. The product URL ends in -p-<id>-<seller_id>, so a URL works too. |
| category (code) | A category is written the way Gardrops writes it in its own URLs: rc1 = Kadın, cg1 = Kadın › Giyim, c2 = Elbise, c2-sc203 = Uzun Elbise. A bare number is ambiguous on Gardrops (1 is Kadın, Giyim and a third category), so search accepts only codes; categories lists all 795 of them. |
| size | The size label as the listing prints it: "38", "m", "4 Yaş". The same label can mean different things: clothing 38 and shoe 38 are different sizes, so filter with size_ids from filters (clothing 38 is 21, shoe 38 is 176). Bags, home and electronics carry no size. |
| listed_price_try, price_raw | The price in Turkish lira. Gardrops publishes one price per listing. Closet rows print it as text ("400 ₺", Turkish thousands dot); listed_price_try is always the number and price_raw keeps what the source sent. |
| condition | One of five codes: NEW_WITH_TAGS (Yeni & Etiketli), LIKE_NEW (Yeni, no tag), VERY_GOOD (Çok iyi durumda), GOOD (İyi durumda), FAIR (Makul ürün). condition_label is the Turkish label the listing shows. |
| seller.nickname in search rows | The nickname as Gardrops' search holds it. After a seller renames, search can show the old name for a while (1 of 24 listings we checked); product, seller and seller_listings show the current one. seller_id never changes. |
| total | Gardrops' own count. For free text it is a relevance count: Gardrops pads a query with related listings, so a word nobody uses still returns about 2,000 items. Use keyword for a strict word match, which returns 0 when nothing matches. |
| interpreted_as | How Gardrops read your query: the categories and brands it found in the text. "zara elbise" was read as brand Zara plus eight dress categories, and 72 of 72 first-page results were Zara. |
| free_shipping | Whether the listing shows free shipping (Kargo: Bedava). It was true on every listing we read on 2026-10-07, including 10 TL items. |
Gardrops serves the first 50 pages of 72 listings (3,600 rows) of any result; search tells you the last page. Sold listings leave Gardrops entirely, so search, closets and product only ever show items still for sale.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/gardrops/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "zara elbise",
"condition": [
"NEW_WITH_TAGS"
],
"sort": "newest"
}
}{
"ok": true,
"meta": {
"api": "gardrops",
"endpoint": "search",
"mode": "live",
"latency_ms": 1258.4,
"record_count": 72,
"bytes": 38193,
"cache_hit": false,
"upstream_requests": 1,
"warnings": [
"36,355 matches but Gardrops serves only the first 3,600 rows; narrow with filters to reach the rest"
],
"charged_credits": 2,
"version": "1.0.0",
"request_id": "35fbabd2e5be4359",
"queue_ms": 5.1,
"fetched_at": "2026-10-07T15:52:08.573Z"
},
"data": {
"query": "zara elbise",
"total": 36355,
"total_display": "500+",
"page": 1,
"page_size": 72,
"last_page": 50,
"has_more": true,
"sort": "newest",
"filters_applied": {
"conditions": [
2
]
},
"interpreted_as": [
{
"type": "CATEGORY",
"name": "Kategori",
"values": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
},
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
}
]
},
{
"type": "BRAND",
"name": "Marka",
"values": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
}
]
},
{
"type": "CONDITION",
"name": "Durum",
"values": [
{
"id": "[trimmed-depth]",
"name": "[trimmed-depth]"
}
]
}
],
"products": [
{
"id": 42376042,
"seller_id": 6727730,
"url": "https://www.gardrops.com/ikili-takim-6f5fdc914690f2a0-p-42376042-6727730",
"slug": "ikili-takim-6f5fdc914690f2a0",
"brand_name": "Zara",
"size": "l",
"listed_price_try": 400,
"price_raw": 400,
"currency": "TRY",
"image": "https://images.gardrops.com/uploads/6727730/user_items/42376042-s1-UU4APtBZSNCpr9EpHHMx2w.jpg",
"like_count": 5,
"free_shipping": true,
"is_premium": false,
"is_new_listing": true,
"is_sold": false,
"premium_coupon_try": null,
"seller": {
"id": 6727730,
"nickname": "Grd19761976",
"profile_url": "https://www.gardrops.com/Grd19761976",
"avatar": "https://images.gardrops.com/uploads/6727730/avatar_photo/6727730-avatar-mid.jpg?v=28000"
}
},
{
"id": 71694301,
"seller_id": 15411018,
"url": "https://www.gardrops.com/acik-mavi-minimalist-gomlek-elbise-4d9afe8f59dfdf12-p-71694301-15411018",
"slug": "acik-mavi-minimalist-gomlek-elbise-4d9afe8f59dfdf12",
"brand_name": "Zara",
"size": "m",
"listed_price_try": 850,
"price_raw": 850,
"currency": "TRY",
"image": "https://images.gardrops.com/uploads/15411018/user_items/71694301-s1-6EP8V_qeTDKqcauGnp5fTQ.jpg",
"like_count": 2,
"free_shipping": true,
"is_premium": false,
"is_new_listing": true,
"is_sold": false,
"premium_coupon_try": null,
"seller": {
"id": 15411018,
"nickname": "serifemahi",
"profile_url": "https://www.gardrops.com/serifemahi",
"avatar": "https://images.gardrops.com/uploads/15411018/avatar_photo/15411018-avatar-mid.jpg?v=28000"
}
},
{
"id": 58284778,
"seller_id": 5826865,
"url": "https://www.gardrops.com/sifon-puantiyeli-uzun-elbise-440bd180baeac4fc-p-58284778-5826865",
"slug": "sifon-puantiyeli-uzun-elbise-440bd180baeac4fc",
"brand_name": "Zara",
"size": "36",
"listed_price_try": 2500,
"price_raw": 2500,
"currency": "TRY",
"image": "https://images.gardrops.com/uploads/5826865/user_items/58284778-s1-xKeeOiYUSJm_-UiwkRQR7w.jpg",
"like_count": 4,
"free_shipping": true,
"is_premium": false,
"is_new_listing": true,
"is_sold": false,
"premium_coupon_try": null,
"seller": {
"id": 5826865,
"nickname": "starwitch",
"profile_url": "https://www.gardrops.com/starwitch",
"avatar": "https://images.gardrops.com/uploads/5826865/avatar_photo/5826865-avatar-mid.jpg?v=28000"
}
}
]
}
}What the Gardrops API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search Gardrops, Turkey's second-hand fashion marketplace: women, men, kids, home and electronics, listed by private sellers. Free text plus the site's own filters (category, brand, size, colour, condition, price, seller city, premium, celebrity closets) and its five sort orders. Nothing is required: no parameters browses the live catalogue. | Pricing teams call search to search Gardrops, Turkey's second-hand fashion marketplace. | query, keyword, category, brand_ids, size_ids, ... |
| product | One Gardrops listing in full: title, description, price, every image, brand, category path, size, colour, condition, shipping, badges, bundle coupons, buy / offer availability and the seller (nickname, profile link, rating, rating count). Needs the product id AND its seller id, both on every search row. | Marketplace operators call product to get one Gardrops listing in full. | id, seller_id, url, include_pii |
| seller | A Gardrops seller's public profile: nickname, bio, membership age, last seen, listing / sold / bought counts, rating and review count, followers, verification badges, vacation mode and city when the seller shows it. | Catalog enrichment teams call seller to get a Gardrops seller's public profile. | seller_id, include_pii |
| seller_listings | Every live listing in one seller's closet, 18 per page, newest first. Rows have the same shape and ids as `search` rows. | Retail analysts call seller_listings to get every live listing in one seller's closet, 18 per page, newest first. | seller_id, page, include_pii |
| seller_reviews | The reviews buyers left for a seller, 18 per page, newest first: star rating, text, how long ago, and the reviewer's nickname and profile link. | Pricing teams call seller_reviews to get the reviews buyers left for a seller, 18 per page, newest first. | seller_id, page, include_pii |
| filters | The filter values Gardrops offers for a query: brands, sizes per size table, colours, conditions, sub-categories with live counts, price bands and seller cities. Use it to find the ids `search` filters on. | Marketplace operators call filters to get the filter values Gardrops offers for a query. | query, keyword, category, brand_ids, size_ids, ... |
| categories | The whole Gardrops category tree (Kadın, Erkek, Çocuk, Ev, Elektronik down to leaf categories), each node with the `code` that `search` takes as `category`. | Catalog enrichment teams call categories to get the whole Gardrops category tree (Kadın, Erkek, Çocuk, Ev, Elektronik down to leaf categories…. | include_pii |
| suggest | Gardrops' own search suggestions for a few letters, each with the ready-made `search` parameters it stands for (brand, category, text). | Retail analysts call suggest to get gardrops' own search suggestions for a few letters, each with the ready-made `search` paramet…. | query, include_pii |
Call search from your stack
curl -X POST https://api.reefapi.com/gardrops/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"zara elbise","condition":["NEW_WITH_TAGS"],"sort":"newest"}'import requests
r = requests.post(
"https://api.reefapi.com/gardrops/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "zara elbise",
"condition": [
"NEW_WITH_TAGS"
],
"sort": "newest"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/gardrops/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "zara elbise",
"condition": [
"NEW_WITH_TAGS"
],
"sort": "newest"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.gardrops.search with {"query":"zara elbise","condition":["NEW_WITH_TAGS"],"sort":"newest"}.Who uses this API and why
- Price second-hand fashion in Turkey: search a brand and category, sort by price and track TL prices of one item type over time.
- Compare resale supply between Gardrops and Dolap for the same brand, size and condition: both APIs use the same field names for id, seller_id, price and condition.
- Rank resellers for a consignment or wholesale business by sold count, rating and review text.
- Alert on new-with-tags listings of one brand and size under a price you set, sorted newest first.
- Measure demand for a brand per city with the seller-city filter and live counts.
Questions developers ask before integrating
Do I need a Gardrops account?
No. Everything is read logged out, and you call reefapi.com from anywhere.
How do I get from a search row to the full listing?
Pass the row's id and seller_id to product, or its url. In our two test runs 23 of 24 search rows matched their full listing on id, seller, price and brand; the one difference was a seller who had just changed nickname.
How do I search only one category, for example long dresses?
Use category=c2-sc203. Codes come from the categories action or a product's category.code. To look for a word inside a category use keyword, not query: Gardrops reads its own categories out of query and they take priority. keyword=zara inside long dresses narrowed 629,985 listings to 4,674.
Can I filter by brand, size, colour, condition and price?
Yes, and each filter was checked against the unfiltered count: "elbise" 1,089,907 listings → Zara 112,193, new with tags 152,304, black 235,410, size M 190,592, 500 to 1,000 TL 330,608, sellers in Ankara 17,261.
Can I read a seller's profile and reviews?
Yes. seller returns nickname, bio, membership age, last seen, listing, sold and bought counts, followers, average rating and review count, plus verification badges. seller_reviews returns the reviews themselves, 18 a page: stars, text, how long ago and the reviewer. seller_listings pages through everything the seller is offering.
How deep can I page?
50 pages of 72 listings, 3,600 rows, for any search. Gardrops refuses page 51, so the API tells you last_page up front. Narrow with filters to reach more.
Do you return sold items or contact details?
No to both, because Gardrops does not show them. A sold or withdrawn listing returns NOT_FOUND with Gardrops' own reason. Seller profiles show a phone-verified badge, never a phone number or e-mail, and a city only when the seller chose to show it.
Is there a premium or celebrity filter?
Yes: premium_only keeps Gardrops Premium listings (ceket: 113,853 → 4,713) and celebrity_only keeps celebrity closets (ceket: 352).
What is the Gardrops API?
Gardrops API is a ReefAPI endpoint group for turkey's second-hand fashion marketplace: listings with brand, size, condition, tl price, the seller's profile and buyer reviews. It returns live JSON through POST requests under /gardrops/v1.
Is the Gardrops API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Gardrops calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Gardrops login or account?
No login to Gardrops 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 Gardrops 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 Gardrops API use?
Gardrops 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 Gardrops from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call gardrops actions with the same key, credit pool and JSON envelope used by normal REST requests.