Mercari Japan Item Search
Pricing
from $1.40 / 1,000 item scrapeds
Mercari Japan Item Search
Search Mercari Japan and get one flat row per item: id, name, price in JPY, condition, sold flag, shipping payer, seller id, thumbnail, item URL and timestamps.
Pricing
from $1.40 / 1,000 item scrapeds
Rating
0.0
(0)
Developer
Superslow Sloth
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
21 hours ago
Last modified
Categories
Share
Search Mercari Japan and get one flat row per item. Keywords work in Japanese or English, and every filter the site's own sidebar offers is here: category, brand, condition, price band, sale status and sort order.
What one row contains
| Field | Notes |
|---|---|
item_id, url | Member listings live under /item/, Mercari Shops listings under /shops/product/. The URL is built from the item type, so both are correct. |
name | The listing title, as the seller wrote it. |
price_jpy | Integer yen. Mercari Japan quotes nothing but JPY, so there is no currency column to join on by mistake. |
item_condition_id, item_condition | Mercari's grade 1-6 and its Japanese label. |
status, sold | sold is true only for ITEM_STATUS_SOLD_OUT. An item mid-transaction is ITEM_STATUS_TRADING and has not sold yet. |
shipping_payer, shipping_payer_id | seller (送料込み) or buyer (着払い). Null on shop listings, which report payer id 0 - the question does not apply to them. |
seller_id | The numeric member seller id. Null on Mercari Shops listings, which report seller id 0 - there is no member seller behind them. |
seller_rating | Always null. See below. |
shop_name | Set for Mercari Shops listings, null for member listings. |
thumbnail_url | First thumbnail; full-size photos are on the item page. |
category_id, brand_id, brand_name | Mercari's own ids, reusable as input to a later run. |
created_at, updated_at | Unix seconds, plus created_at_iso / updated_at_iso in UTC. |
Why seller_rating is null and not zero
Mercari's search endpoint returns a seller id and nothing else about the
seller. Ratings live behind a separate per-seller call that would cost one
extra request for every row returned. Rather than triple the price of a run or
invent a number, this actor reports the absence honestly: null means "Mercari
did not say". A 0.0 would read as a seller with terrible feedback, which is a
different claim entirely.
Sold prices
Set Sale status to Sold out to research what things actually sell for rather than what sellers are asking. Mercari keeps sold listings searchable, and the rows carry the price the item sold at.
How it fetches
Mercari's web client talks to api.mercari.jp/v2/entities:search, signing each
call with a DPoP proof (RFC 9449) - a short ES256 JWT carrying a public key the
client generated itself. No account and no registration are involved, so this
actor generates an ephemeral key per run and signs its own requests. Measured
2026-08-25: that returns HTTP 200 and real rows cold, which is why this ships
against the JSON API rather than scraping the search page's embedded state.
Residential proxy is the default. No proxy country is pinned - narrowing the
exit pool causes more refusals than it prevents - and Mercari answered
non-Japanese exit addresses in testing. If you do start seeing refusals, pin
JP in the proxy configuration.
Billing
Pay per event: a small fee when a run starts (charged only after your input parses, so a run that fails on bad input costs nothing) and one event per item row written.