# 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, with the total result count; 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).

Source: https://www.sandbase.ai/apis/mercari/sold-listings
API reference: https://www.sandbase.ai/apis/mercari/sold-listings#api

## Facts

- Provider: Mercari
- Type: Data API
- Endpoint: `POST https://api.sandbase.ai/v1/api/mercari/sold-listings`
- Price: From $0.0012 per call
- Capabilities: api, mercari, ecommerce, product data
- Billing: pay per use from one SandBase balance; no provider account or subscription needed

## Call it

`POST https://api.sandbase.ai/v1/api/mercari/sold-listings` with `Authorization: Bearer $SANDBASE_API_KEY` and the parameters as a JSON body.

| Parameter | Type | Required | Allowed values |
| --- | --- | --- | --- |
| `query` | string | yes |  |
| `sort` | string | no | relevance, newest, price_asc, price_desc, most_liked, recently_sold |
| `cursor` | string | no |  |
| `brandId` | string | no |  |
| `country` | string | no | us, jp |
| `maxPrice` | integer | no |  |
| `minPrice` | integer | no |  |
| `condition` | array | no |  |
| `categoryId` | string | no |  |
| `requireFields` | array | no |  |

## FAQ

### How do I use the Mercari Sold Listings API?

Send a POST request to https://api.sandbase.ai/v1/api/mercari/sold-listings with your SandBase API key in the Authorization header (Bearer) and the parameters as a JSON body. You can also try it in the Playground on this page without writing code.

### How much does the Mercari Sold Listings API cost?

From $0.0012 per call, billed from your SandBase balance. You are only charged for calls you make; there is no subscription.

### What parameters does the Mercari Sold Listings API accept?

Required: query (string). Optional: sort (one of relevance, newest, price_asc, price_desc, most_liked, recently_sold), cursor (string), brandId (string), country (one of us, jp), maxPrice (integer) and minPrice (integer) and 3 more. The Parameters table and the Playground on this page list every field.

### What does the Mercari Sold Listings API return?

A JSON response returned in the same HTTP request (synchronous).

### Do I need a Mercari developer account or API key?

No. Mercari Sold Listings runs through SandBase, so one SandBase API key covers this endpoint and every other API and model in the catalog. You do not need to apply for Mercari API access separately.

## README

### 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, with the total result count; 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).

#### Request

```bash
curl -X POST "https://api.sandbase.ai/v1/run" \
  -H "Authorization: Bearer $SANDBASE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"model": "mercari/sold-listings", "query": "nike air jordan 1"}'
```

The result is returned in `outputs[0].data`. Lookups that find nothing fail with a not-found error.

#### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `query` | string | Yes | Search keyword (e.g. nike air jordan 1). Japanese terms return far more in Japan, though Latin brand and model names work. |
| `brandId` | string | No | 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. |
| `categoryId` | string | No | 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. |
| `condition` | array | No | Only listings in any of these condition grades (e.g. ["new", "like_new"]). worn is Japan only. |
| `country` | string | No | Mercari marketplace: us (mercari.com, USD) or jp (jp.mercari.com, JPY). One of: `us`, `jp`. Default `"us"`. |
| `cursor` | string | No | Pagination cursor: pass the previous response's nextCursor with the same query and filters; omit for the first page. |
| `maxPrice` | integer | No | Highest sold price to include, in whole units of the country's currency (e.g. 300). |
| `minPrice` | integer | No | Lowest sold price to include, in whole units of the country's currency (US dollars or yen) (e.g. 50). |
| `requireFields` | array | No | Optional; omit it and routing is unchanged, with the cheapest source serving. Name the output fields this request must be able to return, for example `categories`, and it is served only by a source that returns every one |
| `sort` | string | No | 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). One of: `relevance`, `newest`, `price_asc`, `price_desc |

#### Pricing

Billed at the actual cost of each call, about $0.0012 per request. A call can cost more when the first data source fails and another one answers. Failed calls and lookups that find nothing are not charged.
