Mercari Search API
Search active Mercari US or Japan listings for sale by keyword with optional price-range, condition, category, brand, and sort filters, page by page (price, original price, condition, brand, category, seller id, image).
Pricing
Mercari Search API pricing
Try it
Get Mercari search in one request
{
"data": {
"items": [
{
"brand": "Acme Inc",
"brandId": "Acme Inc",
"category": "general",
"categoryId": "general",
"condition": "example",
"createdUtc": 12.5,
"currency": "USD",
"image": "https://example.com/image.jpg",
"itemId": "a1b2c3d4",
"originalPrice": 19.99,
"price": 19.99,
"sellerId": "a1b2c3d4",
"size": "example",
"status": "active",
"title": "Example title",
"updatedUtc": 12.5,
"url": "https://example.com/page"
}
],
"nextCursor": "example"
},
"found": true,
"reason": "not_found"
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-11-11 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- querystring
nike air jordan 1
Search keyword (e.g. nike air jordan 1). Japanese terms return far more in Japan, though Latin brand and model names work.
- brandIdstring
Mercari brand id, or several separated by commas; the US and Japan use separate ids (e.g. 319 for Apple in the US). Every US row carries its brandId.
- categoryIdstring
Mercari category id, or several separated by commas; the US and Japan use separate ids and a parent id includes its children (e.g. 778 for US cell phones and smartphones). Every row carries its categoryId.
- conditionarray
Only listings in any of these condition grades (e.g. ["new", "like_new"]). worn is Japan only.
- countryenum
Mercari marketplace: us (mercari.com, USD) or jp (jp.mercari.com, JPY).
- cursorstring
Pagination cursor: pass the previous response's nextCursor with the same query and filters; omit for the first page.
- maxPriceinteger
Highest price to include, in whole units of the country's currency (e.g. 300).
- minPriceinteger
Lowest price to include, in whole units of the country's currency (US dollars or yen) (e.g. 50).
- sortenum
Result order; omitted means Mercari's default (relevance). most_liked is Japan only (e.g. price_desc).
Response
JSON, one example value per field.
Active listing records: up to 100 a page in the US and 120 in Japan. Populated whenever the provider has data for the entity.
- brandstring
Brand name the seller tagged; null when untagged (Japan search rows carry no brand: use mercari.product).
- brandIdstring
Mercari brand id, usable as the brandId filter in the same country.
- categorystring
Leaf category name (US); null on Japan search rows.
- categoryIdstring
Mercari leaf category id, usable as the categoryId filter in the same country.
- conditionstring
Item condition grade: new, like_new, good, fair, poor, or worn (Japan only).
- createdUtcnumber
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the item was listed. Japan only: null on US search rows (use mercari.product).
- currencystring
ISO currency code of the price: USD for the US, JPY for Japan. Populated whenever the provider has data for the entity.
- imagestring
Primary listing image URL. Populated whenever the provider has data for the entity.
- itemIdstring
Mercari item id (m followed by 11 digits, or a 22-character Mercari Shops product id in Japan). Populated whenever the provider has data for the entity.
- originalPricenumber
First asking price of the listing in USD; differs from price when the seller lowered it or accepted an offer. US only: null in Japan.
- pricenumber
Current asking price in the listing currency; it does not include buyer fees, and whether shipping is included depends on the listing's shipping terms. On a sold row (status sold_out or trading) it is the final sale price after any accepted offer. Populated whenever the provider has data for the entity.
- sellerIdstring
Mercari seller id.
- sizestring
Size label the seller chose (e.g. 8.5 (39)), when the category has sizes.
- statusstring
Listing state: on_sale (active), trading (sold, handover in progress) or sold_out (sold). Populated whenever the provider has data for the entity.
- titlestring
Listing title. Populated whenever the provider has data for the entity.
- updatedUtcnumber
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the listing last changed. Japan only: null on US search rows.
- urlstring
Canonical listing URL. Populated whenever the provider has data for the entity.
- nextCursorstring
Opaque cursor for the next page, or null at the end. Pass it back as cursor with the same query and filters.
- foundboolean
True when the search returned at least one listing.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the Mercari Search API
The AnyAPI Mercari Search API returns Mercari search data as normalized JSON from one POST call to /v1/run/mercari.search. Search active Mercari US or Japan listings for sale by keyword with optional price-range, condition, category, brand, and sort filters, page by page (price, original price, condition, brand, category, seller id, image). AnyAPI returns one normalized schema whichever source serves it. It costs from $0.85 per 1,000 requests, in US dollars with no subscription and no monthly minimum.