Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the 2nd STREET API page →
docs / 2ndstreet

2nd STREET

2nd STREET

base /2ndstreet/v18 endpoints
post/2ndstreet/v1/product3 credits

One piece in full. JAPAN publishes, and this returns separately: the printed tax-inclusive price, the pre-markdown price (通常価格) with the discount percentage the page prints, and the shipping charge — either the flat ¥770 (tax included, its own label) or the marker that the piece carries 個別送料, an individual delivery charge, in which case `shipping_jpy` is null rather than guessed. The condition comes back three ways with no translation invented: `condition` is the source's own text (中古B), `condition_grade` is the source's OWN filter code (B), and `condition_note` is the sentence the page prints about that grade. Attributes (colour, pattern, material, model number, size) are parsed out of the page's own 商品の詳細 table, which is category-shaped — a laptop prints OS/CPU/memory where a jacket prints 柄 and 素材・生地 — so the whole table is also returned verbatim as `specs`, plus the tailor's measurements in cm as `measurements_cm` (a figure printed as `/` means not measured and is omitted, not 0). 🔴 THE TWO STOCK SURFACES ARE KEPT APART: `available_online` is whether the page offers a cart, `store_transfer` is whether it offers 店舗取り寄せ to another branch, and `shop` is the branch that physically holds it, with its address, opening hours, buy-back hours and parking. A SOLD piece does not go OutOfStock — its id starts serving the shop's landing page with HTTP 200, and that is returned as NOT_FOUND here rather than as a success carrying somebody else's merchandise. UNITED STATES: price in dollars and in cents (the store publishes the same number both ways — 24990 and "249.90" — and they are never mixed), availability, the branch name from the product's own tags, and the Size/Color/Material/Condition table the store writes into the description.

ParameterAllowed / rangeDescription
market = jpoptionaljp · usWhich storefront to ask. `jp` is 2nd STREET Japan (www.2ndstreet.jp, 1,609,435 items across 971 shops, prices in whole yen, tax included) and is the default; `us` is the US web store (ec.2ndstreetusa.com, prices in USD with cents).
goods_idrequired—Japan: the 13-digit goods id, or the whole product URL (https://www.2ndstreet.jp/goods/detail/goodsId/2319227341949/shopsId/30251 → 2319227341949). The shop id in the URL is NOT needed — the page resolves from the goods id alone. United States: the Shopify handle, which on this store IS the same 13-digit id (e.g. 2341550599643). A non-numeric Japanese id is refused here, because the source answers one with HTTP 200 and its landing page.
Try in playground →
post/2ndstreet/v1/categories3 credits

The shop's own category tree with its own item counts. JAPAN: 16 top-level departments over three levels, every node carrying the count the chain publishes for it — メンズウェア 680,072 · シューズ 256,471 · レディースウェア 199,572 · 服飾雑貨他 178,470 · バッグ 139,302 · 家電・ビジュアル・オーディオ 40,736 · スポーツ 32,666 · ホビー 27,098 · キッチン用品 20,184 · 楽器 6,828 · カメラ 6,413 · インテリア小物 6,730 · キッズ 6,244 · パソコン 5,975 · DIY用品 1,676 · 家具 1,071, and a catalogue total of 1,609,533 (2026-10-08). Names are Japanese because that is what the source publishes; no translation is invented. The same call also returns the 47 prefectures, the 11 sales areas and the 23-colour palette the search filters use. UNITED STATES: the store's collections with their handles — pass one back as `search(collection=…)`. 🔴 Their own `products_count` is republished as the source prints it and is NOT a measurement: the biggest collection claims 2,357,882 products on a store whose search surface caps at 1,000 and whose whole product list was walked to 15,000, so the figure is a Shopify smart-collection count, not a catalogue size.

ParameterAllowed / rangeDescription
market = jpoptionaljp · usWhich storefront to ask. `jp` is 2nd STREET Japan (www.2ndstreet.jp, 1,609,435 items across 971 shops, prices in whole yen, tax included) and is the default; `us` is the US web store (ec.2ndstreetusa.com, prices in USD with cents).
categoryoptional—Return only this node and its children instead of the whole tree. JAPAN ONLY.
depth = 3optional1–3How many levels of children to include: 1 = departments only, 3 = the whole tree (the source has three). JAPAN ONLY.
page = 1optional1–401-based page of 250 collections. UNITED STATES ONLY.
Try in playground →
post/2ndstreet/v1/brands3 credits

2nd STREET Japan's whole brand dictionary — 14,980 brands, each with BOTH spellings the chain itself publishes (`brand` in Latin script, `brand_kana` in Japanese katakana; 14,980 of 14,980 rows carry both, measured) plus the id the `search(brand=…)` filter takes and the live item count. Biggest measured: NIKE/ナイキ 101,313 · THE NORTH FACE/ザノースフェイス 54,088 · LOUIS VUITTON/ルイヴィトン 35,509 · adidas/アディダス 26,169 · Levi's/リーバイス 24,333 · Supreme/シュプリーム 23,718. 4,180 brands currently show a count of 0 — they are in the dictionary with nothing in stock, which is an answer, so `min_count` is offered rather than silently dropping them. With `keyword` this is also the chain's own brand look-up: it matches the katakana reading, so ナイキ returns NIKE, NIKE ACG and NIKE SB with their counts. 🔴 The id 999999 (その他ブランド, 119,435 items) is a real, usable filter value that this dictionary does not list. JAPAN ONLY — the US store publishes no brand index.

ParameterAllowed / rangeDescription
market = jpoptionaljp · usWhich storefront to ask. `jp` is 2nd STREET Japan (www.2ndstreet.jp, 1,609,435 items across 971 shops, prices in whole yen, tax included) and is the default; `us` is the US web store (ec.2ndstreetusa.com, prices in USD with cents).
keywordoptional—Look a brand up by its Japanese reading or its Latin name. Measured: ナイキ → NIKE 101,313, NIKE ACG 1,269, NIKE SB 454.
min_count = 0optional0–Drop brands with fewer than this many items in stock. 4,180 of 14,980 brands are currently at 0.
limit = 200optional1–2000How many brands to return, 1-2000.
offset = 0optional0–How many brands to skip, for walking the whole 14,980.
Try in playground →
post/2ndstreet/v1/facets2 credits

What the chain's own search index says about a query BEFORE you page through it: the total, and the breakdown by brand, category, colour, condition grade and size, each with its own count. This is the same figure the result page prints (103,034 vs 103,036 on the grid, a live-index difference of 2) and it is the cheap way to size a query, measure a filter or build a facet UI without pulling 60-row pages. Takes exactly the same filters as `search`, so it also answers 'how much would this filter bite'. The colour buckets come back with the shop's own Japanese colour names attached, the condition buckets with the source's own 中古A/中古B/… labels, and the size buckets carry the label the index itself publishes (`XXS`, `L`, `28cm`); brand and category buckets are ids, resolvable with `brands` and `categories`. JAPAN ONLY.

ParameterAllowed / rangeDescription
market = jpoptionaljp · usWhich storefront to ask. `jp` is 2nd STREET Japan (www.2ndstreet.jp, 1,609,435 items across 971 shops, prices in whole yen, tax included) and is the default; `us` is the US web store (ec.2ndstreetusa.com, prices in USD with cents).
keywordoptional—Same as `search`.
categoryoptional—Same as `search`.
brandoptional—Same as `search`.
shopoptional—Same as `search`.
prefectureoptional—Same as `search`.
sizeoptional—Same as `search`.
coloroptional—Same as `search`.
conditionoptional—Same as `search`.
flagoptional—Same as `search`.
price_minoptional0–Same as `search`, whole yen.
price_maxoptional0–Same as `search`, whole yen.
Try in playground →
post/2ndstreet/v1/stores3 credits

2nd STREET Japan's shop network. With no argument this returns the chain's own shop list — 985 entries with their ids and house names, against a headline figure of 971 shops that the chain publishes itself (the list carries a few non-trading placeholders, so both numbers are returned rather than one being quietly preferred) — together with the 47 prefectures, the 11 sales areas, the cities of each prefecture, and how many duty-free shops each prefecture has. With `prefecture` it returns that prefecture's shops only, from the chain's own per-prefecture endpoint: Tokyo (13) answers with 70 shops. Feed a `shop_id` straight back into `search(shop=…)` — it bites (30251 → 2,296 items) — or into `store` for that branch's full record. JAPAN ONLY: the US site's shop finder sits behind a JavaScript interstitial and publishes no catalogue.

ParameterAllowed / rangeDescription
market = jpoptionaljp · usWhich storefront to ask. `jp` is 2nd STREET Japan (www.2ndstreet.jp, 1,609,435 items across 971 shops, prices in whole yen, tax included) and is the default; `us` is the US web store (ec.2ndstreetusa.com, prices in USD with cents).
prefectureoptional—A 2-digit prefecture code (01 Hokkaido … 13 Tokyo … 47 Okinawa). Omit for the whole network.
nameoptional—Keep only shops whose name contains this text (matched on the Japanese name the chain publishes).
Try in playground →
post/2ndstreet/v1/store3 credits

One 2nd STREET branch in full, as its own page prints it: house name and shop name, shop type (トータルリユース, 買取専門店 …), whether it is a duty-free shop, its description, street address, telephone number, opening hours, buy-back reception hours, visiting buy-back hours where it offers them, parking spaces, the latitude and longitude from the map the page embeds, its area and prefecture, its photographs, and the two lists of goods it handles — what it SELLS and what it BUYS BACK, which are not the same list. Pair the `shop_id` with `search(shop=…)` to see what that branch has on sale right now. JAPAN ONLY.

ParameterAllowed / rangeDescription
market = jpoptionaljp · usWhich storefront to ask. `jp` is 2nd STREET Japan (www.2ndstreet.jp, 1,609,435 items across 971 shops, prices in whole yen, tax included) and is the default; `us` is the US web store (ec.2ndstreetusa.com, prices in USD with cents).
shop_idrequired—The 5-digit shop id from `stores`, from any search row, or the whole shop URL (https://www.2ndstreet.jp/shop/details?shopsId=30251 → 30251).
Try in playground →
post/2ndstreet/v1/suggest1 credit

The US store's own type-ahead: the products, the collections and the alternative search phrases it would offer a shopper mid-keystroke, each product already carrying its price, availability, image and the Size/Color/Material/Condition table the store writes into its description. Capped by the store at 10 results per kind (20 was asked for and 10 came back). UNITED STATES ONLY — the Japanese site has no suggest endpoint (its /searchapi/suggest answers 200 with an empty body); for Japan, `brands(keyword=…)` is the equivalent look-up and it matches the katakana reading.

ParameterAllowed / rangeDescription
market = jpoptionaljp · usWhich storefront to ask. `jp` is 2nd STREET Japan (www.2ndstreet.jp, 1,609,435 items across 971 shops, prices in whole yen, tax included) and is the default; `us` is the US web store (ec.2ndstreetusa.com, prices in USD with cents).
keywordrequired—What the shopper has typed so far.
limit = 6optional1–10How many of each kind to ask for, 1-10. The store refuses more.
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.