# KICKS CREW API — sneakers and streetwear from kickscrew.com: search and brand / series collections with the from-price of every product, and one product with EVERY SIZE's own price, stock count and 24-hour instant-ship price, style code, colorway, release date and barcode. Prices in the currency of the market you choose (50 markets: USD, EUR, GBP, JPY, HKD, AUD, CAD, KRW …). No login, no key.

> Search kickscrew's catalogue by model, nickname or style code, with filters for gender, brand, in-stock size, colour, product type, release year, base price and instant ship. Each row has the from-price (cheapest in-stock size) in the chosen market's currency.
> ReefAPI engine `kickscrew` · 4 endpoints · clean JSON, no scraping or browsers to manage.

## How to call
- **Endpoint:** `POST https://api.reefapi.com/kickscrew/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/kickscrew/v1/search — 2 credits
Search kickscrew's catalogue by model, nickname or style code, with filters for gender, brand, in-stock size, colour, product type, release year, base price and instant ship. Each row has the from-price (cheapest in-stock size) in the chosen market's currency.

**Parameters:**
- `query` (string, optional) — What to search for: a model (dunk low, gel-kayano 14), a nickname (panda, triple white) or a style code (CW2288-111). The source's search is semantic, so close matches follow the exact ones. Leave empty to browse the whole catalogue with filters.
- `country` (enum, optional, default "US") — The market whose prices you want: kickscrew prices every market in its own currency (US → USD, DE → EUR, JP → JPY, HK → HKD, GB → GBP …). Every price in the answer is for this market and says its currency. [one of: AE, AT, AU, BE, BH, BN, BR, CA, CH, CO, CZ, DE, DK, EG, ES, FI, FR, GB, GH, GR, HK, HU, ID, IE, IN, IQ, IS, IT, JO, JP, KR, KW, MO, MY, NG, NL, NO, OM, PH, PL, PT, QA, SA, SE, SG, TH, TR, TW, US, ZA]
- `gender` (enum, optional) — Only products for this gender group. [one of: MENS, WOMENS, KIDS, UNISEX, BABY, OTHERS]
- `brand` (string, optional) — Only this brand, as the site writes it (Nike, adidas, Jordan, New Balance, ASICS, PUMA, Onitsuka Tiger, UGG …; case does not matter). A rows' `brand` is the exact spelling.
- `size` (string, optional) — Only products with this size IN STOCK, in the site's US sizing: 10, 8.5, youth 5.5Y, kids 10C, or a letter size (S, M, L, XL) for apparel. Combine with `gender` for a men's or women's size.
- `color` (string, optional) — Only this main colour (black, white, grey, blue, red, green, pink, beige, brown, multi-color …).
- `product_type` (enum, optional) — Only this product type. [one of: Sneakers, Shoes, Slippers, Sandals, T-Shirts, Jackets, Hoodies, Pants, Shorts, Jerseys, Sweaters, Tops, Shirts, Polo Shirts, Vests, Coats, Bags, Caps, Accessories, Socks, Watches, Collectibles, Trading Cards, Leggings, Skirts, Dresses, Glasses]
- `release_year` (integer, optional) — Only products released in this year.
- `instant_ship_only` (boolean, optional, default false) — Only products with at least one size that ships within 24 hours.
- `in_stock_only` (boolean, optional, default true) — true (default, as the site) = only products with at least one size in stock; false also lists sold-out products.
- `min_price_usd` (number, optional) — Only products whose cheapest in-stock size has a BASE price of at least this many US dollars. The base price is the site's index price before the market's rate (the US market pays about 1.17 × base) — each row shows both as price_from and price_from_usd_base.
- `max_price_usd` (number, optional) — Only products whose cheapest in-stock size has a BASE price of at most this many US dollars (see min_price_usd).
- `sort` (enum, optional, default "featured") — Result order. [one of: featured, latest_drop, price_asc, price_desc]
- `limit` (integer, optional, default 24) — Rows per page, 1-48 (the site's own maximum).
- `page` (integer, optional, default 1) — Page number from 1. page × limit cannot pass 10,000 (the source's own ceiling).

**Returns:** rows[]: product_id, handle (give it to `product`), url, title, brand, sku (style code), alt_skus, nickname, colorway[], color, gender, product_type, product_sub_type, series, series_handle, sub_series, sub_series_handle, release_date, is_new_release, in_stock, sizes_in_stock[] (US sizing), price_from (the cheapest in-stock size, in the market's currency), price_from_size, price_to, price_to_size, on_sale (false on every product on 2026-10-15), currency, country, price_from_usd_base, price_to_usd_base, has_instant_ship, instant_ship_price_from, instant_ship_price_from_usd_base, image, images[]. meta: total_reported (the source's own count; a moving candidate count for text searches and stops at 10000 when browsing — total_is_exact is always false), page, limit, has_more, sort, filters_applied, currency, country, market_rate, warnings.

**Example request body:**
```json
{
  "query": "dunk low",
  "country": "US"
}
```

### POST https://api.reefapi.com/kickscrew/v1/collection — 2 credits
One brand, series or sub-series collection (nike, air-jordan, nike-dunk, nike-dunk-low …) with the same filters, sort and row shape as `search`.

**Parameters:**
- `collection` (string, required) — A brand or series handle: a brand (nike, adidas, air-jordan, new-balance, asics, onitsuka-tiger, ugg), a series (nike-dunk) or a sub-series (nike-dunk-low). Every row's `series_handle` and `sub_series_handle` can be given here as is.
- `country` (enum, optional, default "US") — The market whose prices you want: kickscrew prices every market in its own currency (US → USD, DE → EUR, JP → JPY, HK → HKD, GB → GBP …). Every price in the answer is for this market and says its currency. [one of: AE, AT, AU, BE, BH, BN, BR, CA, CH, CO, CZ, DE, DK, EG, ES, FI, FR, GB, GH, GR, HK, HU, ID, IE, IN, IQ, IS, IT, JO, JP, KR, KW, MO, MY, NG, NL, NO, OM, PH, PL, PT, QA, SA, SE, SG, TH, TR, TW, US, ZA]
- `gender` (enum, optional) — Only products for this gender group. [one of: MENS, WOMENS, KIDS, UNISEX, BABY, OTHERS]
- `brand` (string, optional) — Only this brand, as the site writes it (Nike, adidas, Jordan, New Balance, ASICS, PUMA, Onitsuka Tiger, UGG …; case does not matter). A rows' `brand` is the exact spelling.
- `size` (string, optional) — Only products with this size IN STOCK, in the site's US sizing: 10, 8.5, youth 5.5Y, kids 10C, or a letter size (S, M, L, XL) for apparel. Combine with `gender` for a men's or women's size.
- `color` (string, optional) — Only this main colour (black, white, grey, blue, red, green, pink, beige, brown, multi-color …).
- `product_type` (enum, optional) — Only this product type. [one of: Sneakers, Shoes, Slippers, Sandals, T-Shirts, Jackets, Hoodies, Pants, Shorts, Jerseys, Sweaters, Tops, Shirts, Polo Shirts, Vests, Coats, Bags, Caps, Accessories, Socks, Watches, Collectibles, Trading Cards, Leggings, Skirts, Dresses, Glasses]
- `release_year` (integer, optional) — Only products released in this year.
- `instant_ship_only` (boolean, optional, default false) — Only products with at least one size that ships within 24 hours.
- `in_stock_only` (boolean, optional, default true) — true (default, as the site) = only products with at least one size in stock; false also lists sold-out products.
- `min_price_usd` (number, optional) — Only products whose cheapest in-stock size has a BASE price of at least this many US dollars. The base price is the site's index price before the market's rate (the US market pays about 1.17 × base) — each row shows both as price_from and price_from_usd_base.
- `max_price_usd` (number, optional) — Only products whose cheapest in-stock size has a BASE price of at most this many US dollars (see min_price_usd).
- `sort` (enum, optional, default "featured") — Result order. [one of: featured, latest_drop, price_asc, price_desc]
- `limit` (integer, optional, default 24) — Rows per page, 1-48 (the site's own maximum).
- `page` (integer, optional, default 1) — Page number from 1. page × limit cannot pass 10,000 (the source's own ceiling).

**Returns:** rows[]: product_id, handle (give it to `product`), url, title, brand, sku (style code), alt_skus, nickname, colorway[], color, gender, product_type, product_sub_type, series, series_handle, sub_series, sub_series_handle, release_date, is_new_release, in_stock, sizes_in_stock[] (US sizing), price_from (the cheapest in-stock size, in the market's currency), price_from_size, price_to, price_to_size, on_sale (false on every product on 2026-10-15), currency, country, price_from_usd_base, price_to_usd_base, has_instant_ship, instant_ship_price_from, instant_ship_price_from_usd_base, image, images[]. meta: total_reported (the source's own count; a moving candidate count for text searches and stops at 10000 when browsing — total_is_exact is always false), page, limit, has_more, sort, filters_applied, currency, country, market_rate, warnings.

**Example request body:**
```json
{
  "collection": "nike-dunk-low"
}
```

### POST https://api.reefapi.com/kickscrew/v1/product — 3 credits
One product in full: every size with its own price, stock count, availability, instant-ship price and barcode, in the chosen market's currency; style code and alternative codes, colorway, release date, series, materials, rating, images. Give `handle` (from a search row) or `sku` (a style code).

**Parameters:**
- `handle` (string, optional) — The product's `handle` from a search or collection row, as is — or its kickscrew.com/products/... URL. Give `handle` or `sku`.
- `sku` (string, optional) — A style code (CW2288-111, 1203A537-110). Looked up in the search index; the product whose style code (or listed alternative code) matches exactly is returned. Give `handle` or `sku`.
- `country` (enum, optional, default "US") — The market whose prices you want: kickscrew prices every market in its own currency (US → USD, DE → EUR, JP → JPY, HK → HKD, GB → GBP …). Every price in the answer is for this market and says its currency. [one of: AE, AT, AU, BE, BH, BN, BR, CA, CH, CO, CZ, DE, DK, EG, ES, FI, FR, GB, GH, GR, HK, HU, ID, IE, IN, IQ, IS, IT, JO, JP, KR, KW, MO, MY, NG, NL, NO, OM, PH, PL, PT, QA, SA, SE, SG, TH, TR, TW, US, ZA]

**Returns:** product{product_id, handle, url, title, brand, sku, alt_skus[], nickname, colorway, color, product_type, genders[], series, series_handle, sub_series, sub_series_handle, release_date, description, available, country, currency, lowest_price_in_stock, lowest_price_in_stock_size, highest_price_in_stock, price_min_all_sizes, price_max_all_sizes (these two include sold-out sizes), sizes_total, sizes_available, sizes[]{variant_id, variant_sku, size, size_us_men, size_us_women, size_uk, size_eu, size_jp …, gender, available, quantity_available, price, currency, standard_price_usd_base, instant_ship, instant_ship_price (only where instant_ship is true), instant_ship_price_usd_base (the source's base figure, also present on sizes not flagged), barcode}, rating, rating_count, size_report, country_of_origin, materials{}, collections[], images[], updated_at}. meta: market_rate, local_price_check{checked, matched}.

**Example request body:**
```json
{
  "handle": "nike-air-force-1-07-white-cw2288-111"
}
```

### POST https://api.reefapi.com/kickscrew/v1/suggest — 1 credit
The site's own search suggestions for the start of a query (jordan → jordan 4, jordan 5 awake …).

**Parameters:**
- `query` (string, required) — The start of a search (two letters or more).
- `limit` (integer, optional, default 10) — How many suggestions, 1-20.

**Returns:** rows[]: suggestion

**Example request body:**
```json
{
  "query": "jordan"
}
```

## 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=kickscrew
- Human docs page: https://reefapi.com/docs/kickscrew
- Overview page: https://reefapi.com/kickscrew-api
- Every ReefAPI API in one file (for your AI): https://reefapi.com/llms-full.txt
