# Mercari Japan Scraper – Listings & Prices API (`unnoted/mercari-japan-search`) Actor

Search Mercari Japan listings by keyword: title, price in yen, on-sale or sold status, condition, shipping, brand, category, photo and listing dates. Filter by status, price range and condition, sort by newest or price. Export JSON, CSV or Excel. No login needed. Unofficial.

- **URL**: https://apify.com/unnoted/mercari-japan-search.md
- **Developed by:** [Unnoted](https://apify.com/unnoted) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does Mercari Japan Scraper – Listings & Prices API do?

Mercari Japan Scraper collects the listings Mercari Japan shows for your search terms: title, price in yen, on-sale or sold status, condition, who pays shipping, brand, category, photo and listing dates, with filters for status, price range and condition, as clean rows you can export or call by API.

Unofficial, not affiliated with Mercari Japan.

**Main features:** search by keyword, up to 100,000 listings per run, no login needed, export to JSON, CSV or Excel, and full API and scheduling support on Apify.

### What data can you get from Mercari Japan?

Each listing is one row with these fields:

| Field | Description |
|---|---|
| `itemId` | Mercari item id (m… for personal listings, a longer id for Mercari Shops products) (always filled) |
| `url` | Link to the listing on Mercari Japan (always filled) |
| `title` | Listing title, as written by the seller (usually Japanese) (always filled) |
| `price` | Price in yen |
| `currency` | Always JPY |
| `status` | onSale, trading (sold, in transaction) or soldOut |
| `condition` | Condition grade in English (e.g. Like new) |
| `itemConditionId` | Mercari condition id, 1 (New, unused) to 6 (Poor condition) |
| `shippingPaidBy` | Who pays shipping: seller (included in the price) or buyer; empty for Mercari Shops |
| `shippingPayerId` | Mercari shipping payer id (2 = seller, 1 = buyer) |
| `categoryId` | Mercari category id |
| `brand` | Brand, where the seller set one (e.g. COACH) |
| `thumbnailUrl` | Small photo of the listing |
| `imageUrl` | First photo of the listing, full size |
| `createdAt` | When the listing was posted (ISO 8601) |
| `updatedAt` | When the listing was last updated (ISO 8601) |
| `itemType` | mercari (a personal listing) or shops (a Mercari Shops business) |
| `shopName` | Store name, for Mercari Shops businesses only |
| `searchQuery` | The search term that found it |
| `position` | Position in the results (1 = first result) |
| `scrapedAt` | When the listing was collected (ISO 8601) |

### How to scrape Mercari Japan with Mercari Japan Scraper – Listings & Prices API

1. Open Mercari Japan Scraper – Listings & Prices API on Apify and go to the **Input** tab.
2. In **Search terms**, enter `nintendo switch`.
3. In **Max listings**, enter `20`.
4. Click **Start** and wait for the run to finish. A small run like this one takes under a minute.
5. Open the **Output** tab to see the results, or download them as JSON, CSV, Excel or HTML.

### Input

See the **Input** tab for every option. The fields:

| Field | Name | What it does | Default |
|---|---|---|---|
| `searchQueries` | Search terms | What to search for on Mercari Japan, one per line, in Japanese or English as you would type it in the search box (e.g. nintendo switch, ポケモンカード, ルイヴィトン 財布). Each search gives up to about 12,000 listings. |  |
| `status` | Status | Which listings to return: all, only those still on sale, or only sold ones (sold prices are what items actually went for). Options: `all` (All listings), `onSale` (On sale), `soldOut` (Sold (incl. in transaction)). | `"all"` |
| `sort` | Sort by | Order of the results, as on Mercari Japan. Options: `relevance` (Best match), `newest` (Newest first), `priceAsc` (Price: low to high), `priceDesc` (Price: high to low). | `"relevance"` |
| `priceMin` | Min price (JPY) | Only listings at or above this price, in yen. Leave empty for no minimum. |  |
| `priceMax` | Max price (JPY) | Only listings at or below this price, in yen. Leave empty for no maximum. |  |
| `itemCondition` | Condition | Only listings in this condition or better (Mercari's six grades, from "New, unused" to "Poor condition"). Options: `any` (Any), `new` (New, unused), `likeNew` (Like new or better), `good` (No noticeable scratches or better), `fair` (Slight scratches or better), `poor` (Noticeable scratches or better). | `"any"` |
| `maxItems` | Max listings | Maximum number of listings in total, across all searches. You pay only for listings saved. | `100` |

Example input:

```json
{
  "searchQueries": [
    "nintendo switch"
  ],
  "maxItems": 20
}
```

### Output

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. One real result:

```json
{
  "itemId": "m33854758441",
  "url": "https://jp.mercari.com/item/m33854758441",
  "title": "Nintendo Switch スプラトゥーン3 ソフト",
  "price": 3100,
  "currency": "JPY",
  "status": "onSale",
  "condition": "Like new",
  "itemConditionId": 2,
  "shippingPaidBy": "seller",
  "shippingPayerId": 2,
  "categoryId": "702",
  "brand": null,
  "thumbnailUrl": "https://static.mercdn.net/thumb/item/webp/m33854758441_1.jpg?1791479313",
  "imageUrl": "https://static.mercdn.net/item/detail/webp/photos/m33854758441_1.jpg?1791479313",
  "createdAt": "2026-10-08T17:08:33.000Z",
  "updatedAt": "2026-10-08T18:21:18.000Z",
  "itemType": "mercari",
  "shopName": null,
  "searchQuery": "nintendo switch",
  "position": 1,
  "scrapedAt": "2026-10-08T20:02:21.082Z"
}
```

### How much does it cost to scrape Mercari Japan?

Mercari Japan Scraper – Listings & Prices API uses pay-per-event pricing: **$3.00 per 1,000 listings** (Listing). You pay only for listings saved to the dataset; platform usage is included in the price. Each run also has Apify's standard start fee of a fraction of a cent.

| Listings | Price |
|---|---|
| 100 | $0.30 |
| 1,000 | $3.00 |
| 10,000 | $30.00 |

Set **Max items** (and the run's maximum cost in the run options) to cap what a run can spend. The run stops when either limit is reached.

### Use cases

- **Resale pricing:** see what an item actually sells for in Japan from sold listings, by condition.
- **Sourcing and arbitrage:** find underpriced listings of cards, games, fashion or electronics to buy and resell abroad.
- **Price tracking:** run a search daily, sorted by newest, and catch new listings and price changes.
- **Market research:** compare supply and prices of a brand or product line across conditions.
- **Proxy-buying services:** feed your catalogue with fresh Mercari Japan listings and their photos.

### Tips

- Search in Japanese for the most results (e.g. ポケモンカード rather than pokemon card); English brand and product names work too.
- Set **Status** to Sold for price research: sold listings show what buyers actually paid.
- Sort by **Newest first** and run on a schedule to catch new listings as they appear.
- Each search returns up to about 12,000 listings. For more, split it with narrower terms or price ranges.
- Listings found by more than one search are saved once, so overlapping searches don't cost twice.

### FAQ

#### Is it legal to scrape Mercari Japan?

Mercari Japan Scraper – Listings & Prices API collects only data that Mercari Japan shows publicly to every visitor, and it leaves out personal data such as private profiles and contact details. Our Actors are ethical and do not extract private user data. Results could still contain personal data in titles or descriptions written by uploaders. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers. You are responsible for how you use the data.

#### Can I use it through an API?

Yes. Every Apify Actor has an API: start runs, pass input and read results over HTTP, or use the JavaScript and Python clients. See the **API** tab on the Actor page for ready-made examples.

#### Can I schedule runs and connect other apps?

Yes. Use Apify **Schedules** to run Mercari Japan Scraper – Listings & Prices API every hour, day or week, and integrations (Make, Zapier, Google Sheets, webhooks and more) to send the results where you need them.

#### Why did I get fewer results than expected?

The run stops at **Max items** or at the run's maximum cost, whichever comes first. Mercari Japan may also return fewer results for rare search terms. Duplicates across search terms are saved once. Check the run's `RUN_SUMMARY` record in the key-value store for the inputs that returned nothing.

#### What if it stops working?

Sites change. We run a daily check of our own and fix breakages quickly. If something looks wrong, open an issue in the **Issues** tab with the run link and we'll look at it.

#### Does it include Mercari Shops?

Yes. Listings from Mercari Shops businesses come with itemType "shops" and the store's name in shopName; personal listings have itemType "mercari".

#### Are prices in yen?

Yes, every price is in Japanese yen (JPY), as listed. Shipping is included when shippingPaidBy is "seller".

#### Can I get the full description or every photo?

Not in this Actor: it collects what the search results show, which is the title and the first photo. Open the listing URL for the rest.

#### What do the condition values mean?

Mercari's six grades: 1 New, unused; 2 Like new; 3 No noticeable scratches or stains; 4 Slight scratches or stains; 5 Noticeable scratches or stains; 6 Poor condition.

### Not included

No personal data: seller and buyer ids, names, profiles and comments are not collected. shopName is filled only for Mercari Shops businesses.

### More Actors from us

- [AliExpress Search Scraper – Products & Prices](https://apify.com/unnoted/aliexpress-product-search)
- [BBB Scraper – Business Ratings & Accreditation](https://apify.com/unnoted/bbb-business-search)
- [Bilibili Scraper – Video Search & Stats API](https://apify.com/unnoted/bilibili-video-scraper)
- [Bumeran Jobs Scraper – LATAM Job Listings](https://apify.com/unnoted/bumeran-job-listings)
- [Foundit Jobs Scraper – India Job Listings API](https://apify.com/unnoted/foundit-job-listings)
- [Google Jobs Scraper – Job Listings API](https://apify.com/unnoted/google-jobs-listings)
- [Google Play Reviews Scraper – App Reviews API](https://apify.com/unnoted/google-play-reviews-scraper)
- [Google Trends Scraper – Interest & Related Queries](https://apify.com/unnoted/google-trends-data)
- [Idealo Scraper – Price Comparison Data](https://apify.com/unnoted/idealo-price-search)
- [Kleinanzeigen Scraper – Listings & Prices](https://apify.com/unnoted/kleinanzeigen-listings-scraper)
- [Resident Advisor Scraper – RA Event Listings](https://apify.com/unnoted/resident-advisor-events)
- [Sainsbury's Scraper – UK Grocery Prices](https://apify.com/unnoted/sainsburys-grocery-search)
- [Tokopedia Scraper – Product Search & Prices](https://apify.com/unnoted/tokopedia-product-search)
- [Workday Jobs Scraper – Any Careers Site](https://apify.com/unnoted/workday-jobs-scraper)
- [Yandex Maps Scraper – Places & Business Data](https://apify.com/unnoted/yandex-maps-places)

***

メルカリ 検索 スクレイピング、価格、売り切れ、相場、出品データ

# Actor input Schema

## `searchQueries` (type: `array`):

What to search for on Mercari Japan, one per line, in Japanese or English as you would type it in the search box (e.g. nintendo switch, ポケモンカード, ルイヴィトン 財布). Each search gives up to about 12,000 listings.

## `status` (type: `string`):

Which listings to return: all, only those still on sale, or only sold ones (sold prices are what items actually went for).

## `sort` (type: `string`):

Order of the results, as on Mercari Japan.

## `priceMin` (type: `integer`):

Only listings at or above this price, in yen. Leave empty for no minimum.

## `priceMax` (type: `integer`):

Only listings at or below this price, in yen. Leave empty for no maximum.

## `itemCondition` (type: `string`):

Only listings in this condition or better (Mercari's six grades, from "New, unused" to "Poor condition").

## `maxItems` (type: `integer`):

Maximum number of listings in total, across all searches. You pay only for listings saved.

## Actor input object example

```json
{
  "searchQueries": [
    "nintendo switch"
  ],
  "status": "all",
  "sort": "relevance",
  "itemCondition": "any",
  "maxItems": 20
}
```

# Actor output Schema

## `results` (type: `string`):

One item per listing.

## `runSummary` (type: `string`):

Items saved, inputs done, and how complete each field was.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "nintendo switch"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("unnoted/mercari-japan-search").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["nintendo switch"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("unnoted/mercari-japan-search").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "nintendo switch"
  ],
  "maxItems": 20
}' |
apify call unnoted/mercari-japan-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,unnoted/mercari-japan-search"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/uHqSN80mhjOZ3PHOq/builds/eUM0Ufz5xlVNla8NM/openapi.json
