Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the Wethenew API page →
E-commerce & Marketplaces

Wethenew API & Scraper

The Wethenew API turns wethenew.com, the Paris sneaker and streetwear resale marketplace, into JSON in four actions.

4 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 finds products by model (dunk low), colourway or style code (DD1391-100) and narrows them by brand, model line, streetwear category, 48-hour express delivery, stock and price, 40 rows a page. collection lists one of the site's collections (a brand such as nike, a line such as air-jordan-4, or a theme such as livraison-48h) with the same filters and five sort orders. Every row has the product id, handle, style code, brand, model, the EU sizes you can buy and the from-price, which is the cheapest size you can buy, with that size and whether it is the marketplace or the express offer. product returns one product in full: every EU size with its US size and up to two offers, the marketplace price and Wethenew's own 48-hour express price with its stock, each with its variant id, barcode and before-discount price where there is one. Choose the market with country: Wethenew prices the United Arab Emirates in AED, Poland in PLN, Saudi Arabia in SAR and its other markets in EUR, and every price in the answer says which. One ReefAPI key, the standard { ok, data, meta, error } envelope, no Wethenew account.

Reference

One shoe, four currencies — the Air Jordan 4 'Vivid Sulfur' from-price by market

The cheapest size you could buy of the Air Jordan 4 'Vivid Sulfur' (AQ9129-101) on 2026-10-15, as the API returned it for each market. Pass country to choose the market.

marketcurrencyfrom-price
France (FR)EUR175
Germany (DE)EUR175
United Arab Emirates (AE)AED898
Poland (PL)PLN781
Saudi Arabia (SA)SAR1008
United States (US)EUR175

Wethenew lists 233 markets; three of them have their own currency and the rest are priced in EUR.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/wethenew/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "query": "dunk low",
    "country": "FR"
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "wethenew",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 919.5,
    "record_count": 40,
    "bytes": 175263,
    "cache_hit": false,
    "has_more": true,
    "next_cursor": "eyJjIjoiZXlKd1lXZGxJam95TENKc1lYTjBYMmxrSWpvMk56STRNVEF6T1RVeU5Ea3pMQ0p5WlhabGNuTmxJanAwY25WbExDSnZabVp6WlhRaU9qTTVmUT09IiwicCI6WyI3MjkxMTY0NTI0NjUzIiwiNDg3MjE1NjY0MzQzNyIsIjY1NTc5NzIyMDE1ODEiLCI2NjM4MzA5MjQ1MDM3IiwiNDg5MDg3MDM0OTkzMyIsIjcwNTIxMjU2Njc0MzciLCI2NjkzMjA5NTA1OTAxIiwiNjk1ODk0MjMyMjc5NyIsIjY5NDcyNDk2MTkwNTMiLCI2NzMxNzc5MDQ3NTMzIiwiNjY4NTAzMTQ2NTA2OSIsIjcxMDU0NDU4NTUzNDEiLCI2NjQ5MDYxMDE1NjYxIiwiNjYxMTk3MTgwMTE5NyIsIjY2NTA2ODM3NTI1NTciLCI3NDQ5MzAyMjA0NTI1IiwiNzIyMzYwNTEzMzQyMSIsIjY2NDEwMzY5NTE2NjEiLCI2NTcwNTE2NTc4NDEzIiwiNzAxNTYxMzk1NjIwNSIsIjY5MDQ3ODQ4NDY5NTciLCI2NjUwNjg4MTEwNzAxIiwi",
    "duplicates_dropped": 0,
    "limit": 40,
    "sort": "relevance",
    "filters_applied": {
      "in_stock_only": true
    },
    "facets": {
      "brand": [
        {
          "value": "Air Jordan",
          "count": 327
        },
        {
          "value": "Nike",
          "count": 1000
        },
        {
          "value": "Adidas",
          "count": 39
        }
      ],
      "model": [
        {
          "value": "Air Jordan 4",
          "count": 1
        },
        {
          "value": "Air Force 1",
          "count": 316
        },
        {
          "value": "Air Jordan 1 Low",
          "count": 270
        }
      ],
      "category": [
        {
          "value": "T-Shirt",
          "count": 1
        },
        {
          "value": "Pantalon",
          "count": 2
        },
        {
          "value": "Lacets",
          "count": 2
        }
      ],
      "availability": [
        {
          "value": "In stock",
          "count": 1000
        },
        {
          "value": "Out of stock",
          "count": 1000
        }
      ],
      "express_delivery": [
        {
          "value": "Yes",
          "count": 61
        },
        {
          "value": "No",
          "count": 1000
        }
      ]
    },
    "country": "FR",
    "currency": "EUR",
    "language": "EN",
    "price_basis": "price_from = the cheapest buyable size (marketplace or 48-hour express) under the site's own availability rule; price_min_all_sizes includes sold-out sizes",
    "total": 1000,
    "total_capped": true,
    "total_is_exact": false,
    "upstream_requests": 1,
    "token_source": "[redacted-secret]",
    "warnings": [
      "the source's count stops at 1000; the real number is higher"
    ],
    "charged_credits": 2,
    "version": "1.0.0",
    "request_id": "385c932864f3430f",
    "queue_ms": 1.6,
    "fetched_at": "2026-10-15T17:03:00.597Z"
  },
  "data": {
    "rows": [
      {
        "product_id": "7291164524653",
        "handle": "nike-dunk-low-next-nature-olive-aura",
        "url": "https://wethenew.com/en/products/nike-dunk-low-next-nature-olive-aura",
        "title": "Dunk Low Next Nature Olive Aura",
        "brand": "Nike",
        "model": "Nike Dunk",
        "product_type": "Sneakers",
        "style_code": "HF5384-300",
        "in_stock": true,
        "price_from": 125,
        "price_from_size": "39",
        "price_from_offer": "marketplace",
        "express_price_from": null,
        "express_price_from_size": null,
        "price_min_all_sizes": 52.5,
        "sizes_in_stock": [
          "35.5",
          "36",
          "36.5"
        ],
        "express_sizes_in_stock": [],
        "currency": "EUR",
        "country": "FR",
        "image": "https://cdn.shopify.com/s/files/1/2358/2817/files/nike-dunk-low-next-nature-olive-aura1.webp?v=1712655367",
        "created_at": "2024-04-09T08:35:44Z"
      },
      {
        "product_id": "4872156643437",
        "handle": "nike-dunk-low-black-white",
        "url": "https://wethenew.com/en/products/nike-dunk-low-black-white",
        "title": "Dunk Low Black White",
        "brand": "Nike",
        "model": "Nike Dunk",
        "product_type": "Sneakers",
        "style_code": "DD1391-100",
        "in_stock": true,
        "price_from": 70,
        "price_from_size": "38.5",
        "price_from_offer": "marketplace",
        "express_price_from": 120,
        "express_price_from_size": "44.5",
        "price_min_all_sizes": 46,
        "sizes_in_stock": [
          "35.5",
          "36",
          "36.5"
        ],
        "express_sizes_in_stock": [
          "44.5",
          "46"
        ],
        "currency": "EUR",
        "country": "FR",
        "image": "https://cdn.shopify.com/s/files/1/2358/2817/files/Dunk_Low_Black_White_2069.webp?v=1754475147",
        "created_at": "2020-12-31T12:00:12Z"
      },
      {
        "product_id": "6557972201581",
        "handle": "nike-dunk-low-spartan-green",
        "url": "https://wethenew.com/en/products/nike-dunk-low-spartan-green",
        "title": "Dunk Low Spartan Green",
        "brand": "Nike",
        "model": "Nike Dunk",
        "product_type": "Sneakers",
        "style_code": "DD1391-101",
        "in_stock": true,
        "price_from": 105,
        "price_from_size": "40.5",
        "price_from_offer": "marketplace",
        "express_price_from": null,
        "express_price_from_size": null,
        "price_min_all_sizes": 105,
        "sizes_in_stock": [
          "35.5",
          "36",
          "36.5"
        ],
        "express_sizes_in_stock": [],
        "currency": "EUR",
        "country": "FR",
        "image": "https://cdn.shopify.com/s/files/1/2358/2817/products/dunk-low-spartan-green-305008.png?v=1638813958",
        "created_at": "2021-04-06T16:43:16Z"
      }
    ]
  }
}
Actions

What the Wethenew API does

ActionDescriptionConcrete use caseKey params
searchSearch Wethenew's catalogue by model, colourway or style code, with brand, model, category, express-delivery, stock and price filters. Each row has the cheapest buyable size and the in-stock EU sizes, in the chosen market's currency.Pricing teams call search to search Wethenew's catalogue by model, colourway or style code, with brand, model, category, e….query, brand, model, category, express_only, ...
collectionOne collection (a brand, a model line or a theme such as livraison-48h) with the same filters and row shape as `search`, and five sort orders.Marketplace operators call collection to get one collection (a brand, a model line or a theme such as livraison-48h) with the same filters….collection, brand, model, category, express_only, ...
productOne product in full: every EU size with its US size, the marketplace offer and the 48-hour express offer (each with price, buyable flag, variant id, barcode; express with its stock count), the cheapest buyable size, style code, brand, model, description, collections and images. Give `handle` (from a row) or `style_code`.Catalog enrichment teams call product to get one product in full.handle, style_code, country, language
suggestThe site's own search-as-you-type: matching products (handle, title, brand), collections (handle, title) and query completions.Retail analysts call suggest to get the site's own search-as-you-type.query, limit, country, language
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/wethenew/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"dunk low","country":"FR"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.wethenew.search with {"query":"dunk low","country":"FR"}.
Use cases

Who uses this API and why

  • Compare a size's price across resale sites: product by style code gives Wethenew's price for every EU size next to StockX or GOAT.
  • Find what ships in 48 hours: search with express_only, then read the express offer and stock per size.
  • Price a shoe for the Gulf or Poland: call product with country AE, SA or PL and get the local price per size.
  • Track a model line: collection air-jordan-4 sorted newest every day and watch the from-price and sizes in stock.
  • Spot discounted express sizes: the express offer carries compare_at_price when Wethenew cuts its own price.
FAQ

Questions developers ask before integrating

Why does a size have two prices?

Wethenew sells each size two ways: from its marketplace sellers, and from its own stock with delivery in 48 hours. product returns both as marketplace and express, each with its own price and whether you can buy it; express also gives the stock count, which was 0 or 1 on every express size measured. On the Air Jordan 4 'Vivid Sulfur' the EU 38 size was 175 EUR on the marketplace and 112 EUR express (sold out) on 2026-10-15.

What is the from-price on a search row?

price_from is the price of the cheapest size you can buy, from either offer; price_from_size names the EU size and price_from_offer says marketplace or express. Sold-out sizes keep a price on Wethenew, sometimes far below what you can buy, so they are left out of it; price_min_all_sizes gives the lowest price over every size, sold-out ones included. On 14 of 14 products the from-price on the search row equalled the product's own.

How is 'available' decided?

The way the site decides it: a size offer is buyable when Wethenew does not mark it unavailable, its price is not zero and, for the 48-hour express offer, stock is above zero. The store's raw flag is also returned as shopify_available_for_sale, because the two can differ; meta.flag_conflicts counts the sizes where they do.

Which currency are the prices in?

The currency of the market you pass as country (FR by default): AED for AE, PLN for PL, SAR for SA and EUR for the other 230 markets. Every row and every offer carries its currency, and the answer does not depend on where the call comes from.

Can I look a product up by style code?

Yes. product takes style_code (for example AQ9129-101) as well as handle, and returns the product whose sizes carry exactly that code. On the 14 products measured the style code on the search row matched the product's on 14 of 14.

How many results does a search return?

40 rows a page; pass meta.next_cursor to get the next page. meta.total is the source's own count, which stops at 1000 (total_capped says so). Rows the source repeats across a page boundary are dropped and counted in meta.duplicates_dropped (1 to 2 per page measured).

Are the prices current?

Yes. They come from the store itself, the price you would pay at checkout. All 348 size prices of 14 products matched the store's own product feed fetched separately on 2026-10-15.

What is not included?

Sales history, bids and the prices Wethenew pays sellers: the seller side of Wethenew needs a seller account. Item condition is not published per product; Wethenew lists new items.

What is the Wethenew API?

Wethenew API is a ReefAPI endpoint group for wethenew sneaker and streetwear prices as json: every eu size with its marketplace price and its 48-hour express price and stock, style code and barcode, in eur, aed, pln or sar. It returns live JSON through POST requests under /wethenew/v1.

Is the Wethenew API free to try?

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

Do I need a Wethenew login or account?

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

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

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

docs / wethenew

Wethenew

Wethenew sneaker and streetwear prices as JSON: every EU size with its marketplace price and its 48-hour express price and stock, style code and barcode, in EUR, AED, PLN or SAR.

base /wethenew/v14 endpoints
post/wethenew/v1/collection2 credits

One collection (a brand, a model line or a theme such as livraison-48h) with the same filters and row shape as `search`, and five sort orders.

ParameterAllowed / rangeDescription
collectionrequired—A collection handle as in the site's URLs /collections/<handle>: brands (nike, adidas, new-balance), lines (air-jordan-1, nike-dunk-low, adidas-samba), themes (all-sneakers, livraison-48h, les-best-sellers) — or the full URL.
brandoptional—Only this brand as the site lists it (Nike, Air Jordan, Adidas, New Balance, ASICS, Salomon …). Case is matched for you against the source's own list; meta.facets.brand shows the values with counts.
modeloptional—Only this model line as the site lists it (Air Jordan 4, Dunk Low, Samba, Gel-Kayano 14, NB 2002R …); meta.facets.model shows the values with counts.
categoryoptional—Streetwear category (Hoodie, T-Shirt, Crewneck, Short …); meta.facets.category shows the values. Sneakers carry no category.
express_only = falseoptional—Only products Wethenew holds in its own stock with 48-hour delivery.
in_stock_only = trueoptional—true (default, as the site) = only products with a buyable size; false also lists sold-out products.
min_priceoptional0–Only products with at least one size priced at or above this amount in the market's currency. The source matches ANY size's price (sold-out sizes included), so a row's price_from can sit outside the range.
max_priceoptional0–Only products with at least one size priced at or below this amount (same basis as min_price).
sort = defaultoptionaldefault · best_selling · newest · price_asc · price_descResult order.
country = FRoptional—The market whose prices you want, two letters (233 markets). AE prices in AED, PL in PLN, SA in SAR, every other market in EUR. Every price in the answer says its currency; the exit network never changes it.
language = ENoptionalEN · FR · DE · ES · IT · NL · PL · ARLanguage of descriptions and collection titles (product names are not translated by the source).
limit = 40optional1–40Rows per page, 1-40 (the site's own page size is 40).
cursoroptional—Next page: pass meta.next_cursor from the previous answer, with the same query, filters and sort.
Try in playground →
post/wethenew/v1/product2 credits

One product in full: every EU size with its US size, the marketplace offer and the 48-hour express offer (each with price, buyable flag, variant id, barcode; express with its stock count), the cheapest buyable size, style code, brand, model, description, collections and images. Give `handle` (from a row) or `style_code`.

ParameterAllowed / rangeDescription
handleoptional—The product's `handle` from a search or collection row, as is — or its wethenew.com/products/... URL. Give `handle` or `style_code`.
style_codeoptional—A manufacturer style code (AQ9129-101, DD1391-100). The product whose sizes carry exactly this code is returned. Give `handle` or `style_code`.
country = FRoptional—The market whose prices you want, two letters (233 markets). AE prices in AED, PL in PLN, SA in SAR, every other market in EUR. Every price in the answer says its currency; the exit network never changes it.
language = ENoptionalEN · FR · DE · ES · IT · NL · PL · ARLanguage of descriptions and collection titles (product names are not translated by the source).
Try in playground →
post/wethenew/v1/suggest1 credit

The site's own search-as-you-type: matching products (handle, title, brand), collections (handle, title) and query completions.

ParameterAllowed / rangeDescription
queryrequired—The start of a search (two letters or more).
limit = 10optional1–10How many products and collections, 1-10 each.
country = FRoptional—The market whose prices you want, two letters (233 markets). AE prices in AED, PL in PLN, SA in SAR, every other market in EUR. Every price in the answer says its currency; the exit network never changes it.
language = ENoptionalEN · FR · DE · ES · IT · NL · PL · ARLanguage of descriptions and collection titles (product names are not translated by the source).
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.