# Dolap Turkey Second-Hand Fashion Marketplace

> Search Dolap, Trendyol's second-hand fashion marketplace in Turkey: clothing, shoes, bags, accessories, kids and more, listed by private sellers. Free text plus the site's own filters (category, brand, size, colour, condition, price range, seller) and its three sort orders. Nothing is required: no parameters browses the whole live catalogue.
> ReefAPI engine `dolap` · 4 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/dolap/v1/<action>` with a JSON body.
- **Auth:** header `x-api-key: <YOUR_REEFAPI_KEY>` — create one free (1,000 credits, no card): https://reefapi.com/signup
- **Response (every call):** `{ ok: boolean, data: ..., meta: { record_count, credits, ... }, error: { code, message } }` — branch on `ok`. Failed calls are free except verified SHEIN NOT_FOUND on product/detail and price (4 credits).
- **One key + one shared credit pool** across every ReefAPI API. Per-call credits are listed on each endpoint below.
- **Use it from an AI agent (MCP):** connect `https://api.reefapi.com/mcp` (remote streamable-http). Send the key as `Authorization: Bearer <key>`, or put it in the URL (`?key=<key>`) when the client has no header field, as ChatGPT does.

## Endpoints

### POST https://api.reefapi.com/dolap/v1/search — 2 credits
Search Dolap, Trendyol's second-hand fashion marketplace in Turkey: clothing, shoes, bags, accessories, kids and more, listed by private sellers. Free text plus the site's own filters (category, brand, size, colour, condition, price range, seller) and its three sort orders. Nothing is required: no parameters browses the whole live catalogue.

**Parameters:**
- `query` (string, optional) — Free text as a Turkish shopper types it (brand, item, colour…): `zara elbise`, `nike air force`, `vintage deri ceket`. Results are ranked by relevance, so the total is a broad match count, not an exact-phrase count.
- `category_id` (integer, optional) — One Dolap category id, at any level (root 60005 = Giyim, leaf 62712 = Kısa Elbise). Ids come from the `filters` action or from a row's category.path.
- `brand_ids` (array, optional) — One or more Dolap brand ids (Nike 243, Zara 360, Adidas 5…), from `filters` or a row's brand.id.
- `size_ids` (array, optional) — One or more size ids. Sizes are per section: clothing `M / 38`, shoes `36`, kids `5-6 Yaş`; read them from `filters` for your query.
- `colour_ids` (array, optional) — One or more colour ids (Siyah 1, Beyaz 3, Gri 6, Mavi 4…), from `filters`.
- `condition` (array, optional) — Item condition, one or more of the site's three: NEW_WITH_TAGS (Yeni & Etiketli), LIKE_NEW (Yeni, no tags), GENTLY_WORN (Az Kullanılmış). [one of: NEW_WITH_TAGS, LIKE_NEW, GENTLY_WORN]
- `min_price` (number, optional) — Lowest listed price in Turkish lira.
- `max_price` (number, optional) — Highest listed price in Turkish lira.
- `seller_id` (integer, optional) — Only this seller's listings (the numeric seller.id of any row).
- `sort` (enum, optional, default "relevance") — Result order: relevance (the site's 'Önerilen'), price_asc, price_desc. [one of: relevance, price_asc, price_desc]
- `page` (integer, optional, default 1) — 1-based page. Dolap serves only the first 5,000 rows of any result, so the last page is 5000 / limit (250 at the default 20).
- `limit` (integer, optional, default 20) — Rows per page, 2-40.
- `include_pii` (boolean, optional, default false) — Accepted for gateway compatibility; seller fields are returned as published.

**Returns:** {query, total, reachable_total, page, limit, last_page, has_more, sort, filters_applied, products[]}. Each product: {id, url, title, description, brand{id,name}, category{id,name,path[]}, size{id,name}, colours[], condition, condition_label, listed_price_try, price_raw, currency, status, is_sold, allow_offers, shipment_term, free_shipping, shipment_size, like_count, image, images[], images_count, created_at, updated_at, is_boosted, is_super_seller, seller_id, seller{id, nickname, profile_url, avatar, rating_average, rating_count, last_active, is_merchant, vacation_mode, status}}. Rows carry the LISTED price; a seller discount appears only in `product`.

**Example request body:**
```json
{
  "query": "zara elbise",
  "condition": [
    "NEW_WITH_TAGS"
  ],
  "limit": 20
}
```

### POST https://api.reefapi.com/dolap/v1/product — 1 credit
One Dolap listing in full: listed price and the discounted price the page prints, every image, size, colours, condition, category path, structured attributes (gender, material…), delivery estimate, shipping terms and the seller — nickname, profile link, rating, rating count, badges, last active.

**Parameters:**
- `id` (integer, optional) — Dolap product id, exactly the `id` of a search row.
- `url` (string, optional) — Or the product URL (https://dolap.com/urun/<slug>-<id>).
- `include_pii` (boolean, optional, default false) — Accepted for gateway compatibility; seller fields are returned as published.

**Returns:** Search row fields plus {discounted_price_try, discount_label, final_price_try, price_text, discounted_price_text, price_badge, price_mismatch, attributes[{name, values[]}], delivery_estimate, shipment_text, has_video, is_flash_sale, sellable, updated_ago, social_proof[], seller{…, badges[], rating_breakdown[], active}}. Either `id` or `url` is required.

**Example request body:**
```json
{
  "url": "https://dolap.com/urun/nike-siyah-spor-eldiveni-rewear34-487726454"
}
```

### POST https://api.reefapi.com/dolap/v1/seller_listings — 2 credits
Every live listing of one Dolap seller (their 'closet'), paged and sortable, optionally narrowed by free text. The seller id is on every search row.

**Parameters:**
- `seller_id` (integer, required) — The seller's numeric id: `seller_id` (or seller.id) of any search row or product.
- `query` (string, optional) — Optional free text inside this seller's listings.
- `sort` (enum, optional, default "relevance") — Result order: relevance (the site's 'Önerilen'), price_asc, price_desc. [one of: relevance, price_asc, price_desc]
- `page` (integer, optional, default 1) — 1-based page. Dolap serves only the first 5,000 rows of any result, so the last page is 5000 / limit (250 at the default 20).
- `limit` (integer, optional, default 20) — Rows per page, 2-40.
- `include_pii` (boolean, optional, default false) — Accepted for gateway compatibility; seller fields are returned as published.

**Returns:** {seller_id, seller, total, page, limit, last_page, has_more, sort, products[]}

**Example request body:**
```json
{
  "seller_id": 17772006
}
```

### POST https://api.reefapi.com/dolap/v1/filters — 3 credits
The filter values Dolap offers for a query, with live counts: brands, sizes (per size group), colours, conditions, the category tree and price bands. Use it to find the ids `search` filters on.

**Parameters:**
- `query` (string, optional) — Free text as a Turkish shopper types it (brand, item, colour…): `zara elbise`, `nike air force`, `vintage deri ceket`. Results are ranked by relevance, so the total is a broad match count, not an exact-phrase count.
- `category_id` (integer, optional) — One Dolap category id, at any level (root 60005 = Giyim, leaf 62712 = Kısa Elbise). Ids come from the `filters` action or from a row's category.path.
- `brand_ids` (array, optional) — One or more Dolap brand ids (Nike 243, Zara 360, Adidas 5…), from `filters` or a row's brand.id.
- `size_ids` (array, optional) — One or more size ids. Sizes are per section: clothing `M / 38`, shoes `36`, kids `5-6 Yaş`; read them from `filters` for your query.
- `colour_ids` (array, optional) — One or more colour ids (Siyah 1, Beyaz 3, Gri 6, Mavi 4…), from `filters`.
- `condition` (array, optional) — Item condition, one or more of the site's three: NEW_WITH_TAGS (Yeni & Etiketli), LIKE_NEW (Yeni, no tags), GENTLY_WORN (Az Kullanılmış). [one of: NEW_WITH_TAGS, LIKE_NEW, GENTLY_WORN]
- `min_price` (number, optional) — Lowest listed price in Turkish lira.
- `max_price` (number, optional) — Highest listed price in Turkish lira.
- `brand_limit` (integer, optional, default 100) — How many brands to return, largest first (the facet lists up to several thousand).
- `include_pii` (boolean, optional, default false) — Accepted for gateway compatibility; seller fields are returned as published.

**Returns:** {query, total, brand_count, brands[{id,name,count}], sizes[{id,name,group,count}], colours[{id,name,hex,count}], conditions[{code,name,description,count}], categories[{id,name,count,subcategories[]}], price_bands[], attributes[]}

**Example request body:**
```json
{
  "query": "zara elbise",
  "brand_limit": 20
}
```

## At scale
- **Volume:** 5M+ requests a day, measured at 60 requests a second across the fleet with no
  central bottleneck. Per-key limits are raised for high-volume accounts; volume pricing on request.
- **Missing a source:** tell us a site we do not cover and it becomes an engine. A customer asked
  for bestprice.gr on 21 Sep 2026 and it was in the catalog on 22 Sep.
- **Support:** 2 minute median time from a question in the live chat to the first answer. Setup
  help included, no support tier to buy.
- **One key, one credit pool** across every API. No per-site plans, no separate subscriptions.

## More
- Try it live, no code: https://reefapi.com/playground?engine=dolap
- Human docs page: https://reefapi.com/docs/dolap
- Overview page: https://reefapi.com/dolap-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
