Mercari API

Mercari Sold listings API

Search Mercari US or Japan sold listings by keyword with optional price-range, condition, category, brand, and sort filters, page by page; ideal for resale pricing research. The sold price is the final price after any accepted offer; it does not include buyer fees, and whether shipping is included depends on the listing's shipping terms. Rows carry no sale date: call mercari.product for soldUtc (US only).

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

Pricing

Mercari Sold listings 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 sold listings 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 sold price to include, in whole units of the country's currency (e.g. 300).

  • minPriceinteger

    Lowest sold 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 (most recently sold first for a US sold search). most_liked is Japan only; recently_sold is US 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[]

Sold 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

    Price in the listing currency. On a sold row (status sold_out or trading) this is the final sale price after any accepted offer; it does not include buyer fees, and whether shipping is included depends on the listing's shipping terms. 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 Sold listings API

The AnyAPI Mercari Sold listings API returns Mercari sold listings data as normalized JSON from one POST call to /v1/run/mercari.sold_listings. Search Mercari US or Japan sold listings by keyword with optional price-range, condition, category, brand, and sort filters, page by page; ideal for resale pricing research. The sold price is the final price after any accepted offer; it does not include buyer fees, and whether shipping is included depends on the listing's shipping terms. Rows carry no sale date: call mercari.product for soldUtc (US only). 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 Mercari US or Japan sold listings by keyword with optional price-range, condition, category, brand, and sort filters, page by page; ideal for resale pricing research. The sold price is the final price after any accepted offer; it does not include buyer fees, and whether shipping is included depends on the listing's shipping terms. Rows carry no sale date: call mercari.product for soldUtc (US only). 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 Sold listings calls at $0.00085 each.

Send a POST request to https://api.getanyapi.com/v1/run/mercari.sold_listings 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.