Resale pricing and inventory research
Use Mercari endpoints to turn resale pricing and inventory research into repeatable API requests with documented inputs and JSON responses.
Turn public Mercari pages into structured resale-marketplace data — keyword listing search, full item detail with photos and pricing, the curated home feed, search autocomplete, and the complete category/brand/size taxonomy, all as normalized JSON. Credential-free.
Search Mercari listings and get item detail, the home feed, autocomplete, and the full taxonomy as structured JSON.
Endpoint families
5
Documented params
8
Examples
5
Live catalog snapshot
Active endpoints
5
Methods
GET
Required params
8
Schema refs
5
{
"platform": "Mercari",
"endpoint": "mercari-search",
"method": "GET",
"path": "/mercari/search",
"auth": "apiKey"
}Use cases
Search Mercari listings and get item detail, the home feed, autocomplete, and the full taxonomy as structured JSON.
Use Mercari endpoints to turn resale pricing and inventory research into repeatable API requests with documented inputs and JSON responses.
Use Mercari endpoints to turn listing and category monitoring into repeatable API requests with documented inputs and JSON responses.
Use Mercari endpoints to turn marketplace demand tracking into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Mercari endpoint catalog — 5 endpoints, 8 documented request parameters, and 5 published response schemas — the same catalog Docs and Playground run against.
5 documented Mercari endpoints, grouped into 5 request families — Autocomplete, Home and Item, plus 2 more.
8 request parameters are documented across those Mercari endpoints, 8 of them required — the full input contract is public before you write any integration code.
5 of the 5 Mercari endpoints ship a recorded example response, and 5 carry a documented response schema — you can code against the real JSON before the first request.
Mercari endpoints document their error responses (400, 404, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
5 hosted MCP tools back the Mercari endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/mercari/autocomplete
/mercari/home
/mercari/item/{id}
/mercari/master
/mercari/search
Endpoint catalog
/mercari/searchSearches Mercari's live resale marketplace by free-text keyword, returning normalized listing summaries (title, price, thumbnail, condition, seller) plus the total matching count. Credential-free public data sourced from Mercari's own mobile-app API using an anonymous, login-free session.
Response notes
- `total_results` reflects Mercari's full matching-result count for the query, not just `len(items)` (this endpoint returns the first page). - `original_price_cents`, `num_likes`, and `condition_code` are omitted from an item when Mercari's response doesn't include them for that listing. - `condition_code` and `num_likes` are best-effort field labels, recovered by decoding raw upstream responses rather than from a published schema — treat them as directionally useful, not authoritative. - A search with no matching listings returns `200` with `"items": []`. - A missing `query` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "nike jacket", "total_results": 21523, "items": [ { "id": "m31455228584", "url": "https://www.mercari.com/us/item/m31455228584", "title": "Nike varsity jacket. New with tags!", "thumbnail_url": "https://u-mercari-images.mercdn.net/photos/m31455228584_1.jpg?1784911712", "price_cents": 4873, "original_price_cents": 5400, "num_likes": 1931, "seller_id": "794269920", "created_at_unix": 1774057908, "updated_at_unix": 1784911712 } ] } } ```
MCP tool mercari_search
/mercari/item/{id}Returns a normalized Mercari item-detail page: description, all photos, price, condition, category, hashtags, the shipping origin state, and a "similar items" carousel of related listings. Credential-free public data sourced from Mercari's own mobile-app API using an anonymous, login-free session.
Response notes
- `title` is the item's description text up to its first line break — Mercari's mobile API does not expose a separate, shorter title field at this response's top level; `description` is the full text. - `condition_code` and `category_code` are best-effort field labels, recovered by decoding raw upstream responses rather than from a published schema — treat them as directionally useful, not authoritative. - `similar_items` is a list of related listings in the same normalized shape as `/mercari/search`'s `items` array (title, price, thumbnail, condition, seller). It is omitted (not an error) when Mercari's response doesn't include a similar-items carousel for that listing, and it never includes the requested item itself. - An unknown or delisted item id returns `404`. - A missing `id` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "id": "m38581776856", "url": "https://www.mercari.com/us/item/m38581776856", "title": "Women’s NIKE WNBA Nike Mesh Jacket Size NEW MSRP 120", "description": "Women’s NIKE WNBA Nike Mesh Jacket Size NEW MSRP 120", "photos": [ "https://u-mercari-images.mercdn.net/photos/m38581776856_1.jpg?1777492193", "https://u-mercari-images.mercdn.net/photos/m38581776856_2.jpg?1777492193" ], "price_cents": 4578, "condition_code": 1, "category_code": 6, "shipping_from_state": "New Jersey", "similar_items": [ { "id": "m34982910331", "url": "https://www.mercari.com/us/item/m34982910331", "title": "Lululemon Every Moment Pant *26\" Black Size 6", "thumbnail_url": "https://u-mercari-images.mercdn.net/photos/m34982910331_1.jpg?1783333561", "price_cents": 4000, "num_likes": 1967, "seller_id": "790985424", "created_at_unix": 1783333561 } ] } } ```
MCP tool mercari_item
/mercari/homeReturns Mercari's own curated home-feed recommendations: normalized listing summaries (title, price, thumbnail, condition, seller). Credential-free public data sourced from Mercari's own mobile-app API using an anonymous, login-free session.
Response notes
- `original_price_cents`, `num_likes`, and `condition_code` are omitted from an item when Mercari's response doesn't include them for that listing. - `condition_code` and `num_likes` are best-effort field labels, recovered by decoding raw upstream responses rather than from a published schema — treat them as directionally useful, not authoritative. - Mercari's upstream response carries two parallel item carousels; this endpoint surfaces only the larger, primary one. Example response: ```json { "code": 200, "msg": "OK", "data": { "items": [ { "id": "m31162625332", "url": "https://www.mercari.com/us/item/m31162625332", "title": "Lululemon Align tank", "thumbnail_url": "https://u-mercari-images.mercdn.net/photos/m31162625332_1.jpg?1783611695", "price_cents": 4000, "condition_code": 1, "num_likes": 1972, "seller_id": "319514857", "created_at_unix": 1783611695 } ] } } ```
MCP tool mercari_home
/mercari/autocompleteReturns Mercari's own search-suggestion list for a partial keyword, in the upstream's own relevance order. An empty suggestion list is a normal outcome for obscure or gibberish input. Credential-free public data sourced from Mercari's own mobile-app API using an anonymous, login-free session.
Response notes
- `suggestions` is an empty array (not an error) when Mercari has nothing to suggest for sufficiently obscure or gibberish input — a true "nothing matched" outcome. - A missing `query` returns `400` before any upstream request is made. Example response: ```json { "code": 200, "msg": "OK", "data": { "query": "nike", "suggestions": [ "nikes shoes women", "nikes shoes men", "nikes", "nikes shoes", "Nike pro biker shorts", "Nike biker shorts", "nikes air max", "Nike bike shorts", "nikeskims", "nikes women" ] } } ```
MCP tool mercari_autocomplete
/mercari/masterReturns Mercari's full reference taxonomy in one call: every category (with parent linkage), every recognized brand, and every clothing/shoe/apparel size. Large (tens of thousands of brand entries) and effectively static -- cache this response rather than polling it. Credential-free public data sourced from Mercari's own mobile-app API using an anonymous, login-free session.
Response notes
- This is a large response — tens of thousands of brand entries. It is effectively static day to day; the endpoint is served with a 24-hour edge cache, so repeated calls do not re-fetch from Mercari each time. - `categories` is a flat list with `parent_id` linkage rather than a nested tree, matching the shape Mercari's own data uses. `parent_id` is omitted (zero) for a top-level category (e.g. "Women", "Men", "Home"); `icon_url` is only populated for top-level categories. - `sizes` is one flat list spanning all size-bearing categories — it is not scoped per-category. `short_name` and `code` are the two parts a size's `name` is composed from when both are present (e.g. name `"XS (0-2)"` = short_name `"XS"` + code `"(0-2)"`); either may be absent when Mercari's own data doesn't split them out. Example response (truncated — the real response has ~3,000 categories, ~28,000 brands, and ~380 sizes): ```json { "code": 200, "msg": "OK", "data": { "categories": [ { "id": 1, "name": "Women", "icon_url": "https://u-mercari-images.mercdn.net/assets/img/home_categories/1.png" }, { "id": 11, "name": "Dresses", "parent_id": 1 } ], "brands": [ { "id": 1, "name": "104+ Octane Boost" }, { "id": 4, "name": "3.1 Phillip Lim" } ], "sizes": [ { "id": 1, "name": "XXS (00)", "short_name": "XXS", "code": "(00)" }, { "id": 2, "name": "XS (0-2)", "short_name": "XS", "code": "(0-2)" } ] } } ```
MCP tool mercari_master
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
How to scrape Mercari
Crawlora's Mercari endpoints return listing search, item detail, the home feed, autocomplete, and taxonomy as normalized JSON with one API key — no login or account required.
Send a keyword to /mercari/search for normalized listing cards — id, url, title, thumbnail, seller id, like count and pricing. A single call returns a large page (100 items on a broad keyword), so most workloads need one request per query rather than a paging loop.
price_cents and original_price_cents are integer cents, not decimal currency — 2499 means $24.99. Divide before displaying or comparing, and use the pair together to detect a markdown.
Pass an item id from a search result to /mercari/item/{id} for full detail and photos.
/mercari/autocomplete turns a partial query into Mercari's own suggested search phrases, which is the cheapest way to find the wording Mercari's index actually matches.
/mercari/master returns the complete category, brand and size taxonomy in one call, and /mercari/home returns the curated home feed. Neither takes parameters, so fetch the taxonomy once and cache it rather than re-requesting per query.
FAQ
Send a keyword to Crawlora's /mercari/search endpoint and get normalized listing cards — title, price, photos, condition — as structured JSON.
No Mercari account or login is required from the caller — only your Crawlora API key.
They are integer cents, not dollars. price_cents of 2499 is $24.99, and original_price_cents carries the pre-markdown figure in the same unit — comparing the two is how you detect a price drop. Divide by 100 before displaying or aggregating.
A broad keyword returns a large single page — 100 normalized listing cards on a live check — rather than a small page you have to walk. For most monitoring workloads that means one request per query, with /mercari/autocomplete first if you need to find the phrasing Mercari's own index matches.
Yes — /mercari/master returns Mercari's complete category, brand, and size taxonomy as structured JSON.