Mercari API

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).

POST/v1/run/mercari.search
Requests
-
30d

Pricing

Mercari Search API pricing

Providers
Chameleon- served- uptime- p50$0.85/1k reqflat
You pay
$8.50
$0.85/1k req, only for what you use. No monthly plan.
Your first 117 requests are free with the $0.10 starting balance.

Try it

Get Mercari search in one request

conditionarray
Only listings in any of these condition grades (e.g. ["new", "like_new"]). worn is Japan only.
Open in
Get a free key
Sample response
Free runs return only the first 3 results. Fund a key to get the full response.
{
  "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).

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

each itemdata.items[]

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.

datadata
  • nextCursorstring

    Opaque cursor for the next page, or null at the end. Pass it back as cursor with the same query and filters.

top level
  • 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.

You get back. Named, typed fields in the same shape whichever source answers.

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.

It costs from $0.85 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

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). The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required, which covers 117 Mercari Search calls at $0.00085 each.

Send a POST request to https://api.getanyapi.com/v1/run/mercari.search with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.