Mercari & Yahoo Japan Demand — Sold vs Still Listed
Pricing
from $20.00 / 1,000 sell-through summaries
Mercari & Yahoo Japan Demand — Sold vs Still Listed
Find out whether an item actually sells in Japan, not just its price. Returns the share of Mercari listings sold vs still listed (sell-through), days to sell, sold vs asking price, sold share by price band and Yahoo! sales per day. $0.02 per keyword, no charge unless demand is measured. Unofficial.
Pricing
from $20.00 / 1,000 sell-through summaries
Rating
0.0
(0)
Developer
h ichi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
17 days ago
Last modified
Categories
Share
What it does: Measures demand for one keyword: how many listed items actually sold on Mercari, sales per day on Yahoo! Auctions, competing supply on PayPay Flea Market.
You enter: keywords, e.g. 象印 圧力IH炊飯器 (Japanese matches far more; narrow keywords give sharper numbers)
You get: Mercari: % sold vs still listed (site's own counts), roughly the days to sell, sold vs asking median, sold share by price band. Yahoo!: sales per day, days since last sale, sold median, bids. PayPay: live listings. Prices from 100 sampled listings per side.
Price: $0.02 per keyword, however many sites. +$0.002 per listing if you also want the list. Charged only when at least one site measured demand.
Example: enter 象印 圧力IH炊飯器 → 55.1% of Mercari listings sold · sells in about 6 days · sold median ¥14,250 vs asking ¥8,350 · 5.52 sales per day on Yahoo! Auctions
Unofficial — not affiliated with Mercari, Yahoo! Auctions or PayPay Flea Market. Reads public pages only.
The one thing to read first: demandBasis
The three markets do not publish the same kind of evidence, so their headline numbers are not interchangeable:
stock_ratio(Mercari) — a share of the current listing stock. Unit: a fraction.sold_flow(Yahoo! Auctions) — sales per day. Unit: 1/day.supply_only(PayPay) — no demand measurement at all.
A share and a rate-per-day cannot be averaged, so no field ever blends them. Every key in demand names the market it came from.
Yahoo! Auctions cannot tell you what share of listed items sold, and this Actor does not pretend it can. Yahoo's closed-auction index (closedsearch, 落札相場) serves auctions that sold — measured 2026-08-07 over 200 auctions across four unrelated keywords, the minimum bid count served was 1. Ended-without-a-bid auctions are simply not indexed, so any "share sold" figure for Yahoo is 1.0 by construction. sellThroughRate is therefore null there, with the reason attached, and soldPerDay is used instead.
What you get
demand.mercariSellThroughRate 0.5515 sold / (sold + on sale), from Mercari's own hit countsdemand.mercariRateBound "exact" exact | lower_bound | upper_bound | unknowndemand.mercariMedianDaysToSell 6 how fast the sold half moveddemand.mercariMedianListingAgeDays 6 how long the unsold half has been sittingdemand.mercariSoldMedianJpy 14250 the price that actually sellsdemand.mercariOnSaleMedianJpy 8350 what live sellers are askingdemand.mercariAskPremiumPct -41.4 ask vs realizeddemand.yahooSoldPerDay 5.52 completed auctions per daydemand.yahooDaysSinceLastSale 0.76 staleness: nothing sold for N days = no demanddemand.yahooSoldAuctionsIndexed 1102 how many completed sales Yahoo has on filedemand.paypayLiveListings 589 supply you would compete with on a second platform
Plus, per market, the full distributions (min / p25 / median / p75 / max / average) for sold prices, asking prices, days to sell, listing age, bid counts and likes — and the price-band table below.
How much of each price band sold
Does the cheap end clear faster, or is it clogged with parts nobody wants? Measured for 象印 圧力IH炊飯器 on 2026-08-07:
| Band | Sold (sampled) | On sale (sampled) | Share sold |
|---|---|---|---|
| ≤ ¥6,000 | 23 | 32 | 46.9% |
| ¥6,000–¥11,000 | 18 | 30 | 42.5% |
| ¥11,000–¥19,000 | 31 | 22 | 63.4% |
| > ¥19,000 | 28 | 16 | 68.3% |
Here the expensive bands clear better. Below ¥6,000 the keyword catches spare parts (内ブタ, 内鍋, 雑穀フィルター), damaged units ("内釜剥がれあり") and older non-pressure models — not the machine most buyers came for. That is also why askPremiumPct came out negative: the sold pool and the on-sale pool hold different products. The band table is the fix for that composition effect, and it is why this Actor has no price filter (see Notes & limits).
Pricing — $0.02 per keyword
| Event | Price | When |
|---|---|---|
| Keyword analyzed | $0.02 | Per keyword, whatever the number of markets |
| Individual listing | $0.002 | Only if you enable Include individual listings |
A default run (1 keyword, 3 markets, summary only) costs $0.02 and took 8.8 seconds measured. You pay per keyword; there is no monthly fee.
A keyword is only charged when at least one market actually measured demand — a share of listings sold, a sales-per-day figure, or a sold-vs-listed price gap. A run that could only count live listings measured supply, not demand, and is free.
A keyword nobody is selling is an answer, not a failure. Measured 2026-08-18: a made-up product name is answered normally by Mercari, Yahoo! Auctions and PayPay Flea Market — 0 listings on every side, which Mercari reports as rateBound: "no_listings". That record ends the run normally and costs $0.00. A failed run means the sites could not be read at all.
Input
| Field | Example | Notes |
|---|---|---|
keywords | ["象印 圧力IH炊飯器"] | Japanese matches far more listings. Narrow keywords give sharper rates. $0.02 each |
markets | ["mercari","yahoo_auction","paypay_flea"] | All three by default. The price per keyword does not change |
maxItemsPerMarket | 100 | 30–300 sampled per side. Does not affect the headline rate or the listing counts |
includeIndividualItems | false | Enable to also get every sampled listing, +$0.002 each |
convertToUsd | true | Adds USD stats at the current rate (one FX lookup per run) |
Output example (type: "sell_through_summary", abridged)
Measured on 2026-08-07 (real run)
{"type": "sell_through_summary","keyword": "象印 圧力IH炊飯器","demand": {"mercariSellThroughRate": 0.5515, "mercariSellThroughPct": 55.1,"mercariRateBound": "exact","mercariSoldListings": 2274, "mercariOnSaleListings": 1849,"mercariMedianDaysToSell": 6, "mercariMedianListingAgeDays": 6,"mercariSoldMedianJpy": 14250, "mercariOnSaleMedianJpy": 8350,"mercariAskPremiumPct": -41.4,"yahooSoldPerDay": 5.52, "yahooSoldAuctionsIndexed": 1102,"yahooDaysSinceLastSale": 0.76, "yahooSoldMedianJpy": 6708,"yahooMedianBids": 6,"paypayLiveListings": 589, "paypayAskMedianJpy": 12675,"note": "mercariSellThroughRate is a share of listing stock and yahooSoldPerDay is a flow per day — different units, never average them."},"markets": {"mercari": {"demandBasis": "stock_ratio","soldListings": 2274, "onSaleListings": 1849,"sellThroughRate": 0.5515, "rateBound": "exact","countsCapped": {"sold": false, "onSale": false},"soldPriceJpy": {"min": 2900, "p25": 7375, "median": 14250, "p75": 20500, "max": 67999, "average": 16757},"onSalePriceJpy": {"min": 500, "p25": 5500, "median": 8350, "p75": 14999, "max": 97900, "average": 11774},"priceGap": {"soldMedianJpy": 14250, "onSaleMedianJpy": 8350, "askPremiumJpy": -5900, "askPremiumPct": -41.4,"sellingBandJpy": {"p25": 7375, "median": 14250, "p75": 20500},"unsoldSide": "open_ask"},"speed": {"medianDaysToSell": 6, "soldWithinDays": 7, "soldWithinDaysPct": 57.0,"daysToSell": {"p25": 3, "median": 6, "p75": 14, "max": 262},"medianListingAgeDays": 6, "olderThan30DaysPct": 17.0},"priceBands": [{"label": "≤ ¥6,000", "soldSampled": 23, "onSaleSampled": 32, "sellThroughPct": 46.9, "basis": "sampled_scaled"},{"label": "> ¥19,000", "soldSampled": 28, "onSaleSampled": 16, "sellThroughPct": 68.3, "basis": "sampled_scaled"}]},"yahoo_auction": {"demandBasis": "sold_flow","sellThroughRate": null,"sellThroughRateNote": "Yahoo! Auctions' closedsearch index contains auctions that sold …","soldAuctionsIndexed": 1102, "sampledAuctions": 100,"soldPerDay": 5.52, "sampleWindowDays": 17.94,"newestSoldAt": "2026-08-06T21:55:21+09:00", "daysSinceLastSale": 0.76,"soldPriceJpy": {"p25": 3675, "median": 6708, "p75": 18150, "max": 93000},"bidCount": {"p25": 1, "median": 6, "p75": 15, "max": 50},"instantBuy": {"auctionsWithInstantBuyPrice": 15, "closedAtInstantBuyPct": 26.7,"medianPriceToInstantBuyPct": 79.7}},"paypay_flea": {"demandBasis": "supply_only", "sellThroughRate": null,"liveListings": 589, "askPriceJpy": {"median": 12675}, "listingsWithLikesPct": 82.0}},"marketsWithDemandSignal": ["mercari", "yahoo_auction"],"definitions": { "sellThroughRate": "…", "soldPerDay": "…", "askPremiumPct": "…" },"checkedAt": "2026-08-07T07:03:40+00:00"}
With includeIndividualItems: true you additionally get one record per sampled listing, tagged with market and side (sold / listed).
Use cases
- Sourcing decisions — 70% of listings sold with a 6-day median is a product you can buy; 20% sold with 200-day-old listings is dead stock whatever the price says
- Pricing to actually sell —
priceGap.sellingBandJpyis the p25–p75 of what changed hands, andpriceBandsshows where the rate falls off - Deciding where to list — Mercari's rate and Yahoo's
soldPerDaydescribe two different sales mechanics;paypayLiveListingsis the competition on a third - Inventory triage — schedule the Actor over your SKU list and watch
sellThroughRateanddaysSinceLastSalemove - Demand research — how does the share of listings that sell vary by price band and category across the Japanese resale market
Notes & limits — how the statistics are defined
These are sample-based statistics, not a census. Read this before quoting a number.
sellThroughRateis a stock ratio, not a conversion rate. It issold-out listings / (sold-out + on-sale listings)from Mercari's own hit counts for the keyword — a snapshot of everything listed right now, not "N% of listings sell within X days". It is not comparable with Yahoo'ssoldPerDay.- Mercari caps its hit count at 15,000, so a rate built from a capped count is a bound and
rateBoundsays which:lower_bound(sold side capped),upper_bound(on-sale side capped), orunknown— in which case the rate isnull, because two capped counts force exactly 0.5 by construction. Measured:nintendo switchreturns 15000/15000 and gets no rate;ライカ M6returns 396/297 and gets an exact 57.1%. soldPerDayis measured over the sampled window, so always readsampleWindowDaysbeside it. On a huge keyword 30 samples can span 0.03 days and the extrapolated rate is instantaneous, not a daily average. RaisemaxItemsPerMarketto widen the window.- Price, speed and bid statistics come from a sample of up to
maxItemsPerMarketlistings per side, taken in each site's default result order. The listing counts and the headline rate do not. - The price-band table is an estimate. Each band weights its sampled sold and on-sale counts back up by that side's total listing count, because the two sides are sampled at different rates.
soldSampled/onSaleSampledare published so a band resting on three listings is visible as such. Mercari's own hit count could not be used here: measured 2026-08-07, adding a price ceiling makes it repeatably non-monotone (the sold side answered 1,604 for≤¥3,000but 1,101 for≤¥6,000), so a ladder of ceilings cannot be differenced into band counts. - This Actor deliberately has no price filter. A client-side price window would filter the sample but not the site's hit counts, silently breaking the rate it is supposed to support. The price-band table answers the same question without corrupting anything.
- Mercari's
daysToSellisupdated - created, which also moves on price edits, so it skews low — a liquidity signal, not an exact time-to-sale. The age of a live listing usescreatedand the wall clock instead, so an edit cannot make a stale listing look fresh. - A negative
askPremiumPctusually means product mix, not a bargain: the on-sale pool holds accessories and parts that the sold pool does not. UsepriceBands. - Yahoo's
instantBuyexcludes fixed-price listings, whereprice == buyNowPriceby definition and a "take rate" would be meaningless. - A market that fails does not fail the run: it comes back as
available: falsewith anerror, and the other markets still report. Only a keyword where no market measured demand fails the run. - Read-only, no login, no browser. Requests are throttled to one per 1.5 s, and Yahoo! Auctions and PayPay Flea Market are queried sequentially because they share one backend.
- No personal data is collected — sellers are excluded from every record.
日本語ガイド
キーワード1件につき、日本の中古市場の「売れ行き(消化率)」を1レコードで返す Actor です。「いくらか」ではなく「そもそも売れているのか」に答えます。
- メルカリ:
sellThroughRate= 売り切れ件数 /(売り切れ+販売中)。メルカリ自身の検索ヒット件数から算出します。加えて売れるまでの日数、売れ残りの掲載日数、価格帯別の消化率を返します。 - ヤフオク: 落札率は返しません。ヤフオクの「落札相場」は落札済みのみを収録しており(2026-08-07 実測: 4キーワード200件すべて入札1件以上)、そこから消化率を出すと必ず 1.0 になるためです。代わりに1日あたりの落札件数・最終落札からの経過日数・落札価格分布・入札数・即決価格の到達率を返します。
- PayPayフリマ: 売却済みを公開していないため供給(出品件数と提示価格)のみです。
- 数値の性質が市場ごとに違います(
demandBasis)。メルカリは「在庫に対する割合」、ヤフオクは「1日あたりの件数」で単位が異なるため、平均してはいけません。全フィールドが市場名を含む形で分かれています。 - メルカリのヒット件数は 15,000 で頭打ちになります。両側が頭打ちだと比率が必ず 0.5 になるので、その場合は
rateBound: "unknown"として数値を出しません(実測:nintendo switchは 15000/15000 で非公開、ライカ M6は 396/297 で 57.1%)。 - 料金: キーワード1件 $0.02(市場を何個選んでも同額)、個別明細は $0.002/件(既定 OFF なので既定実行は $0.02 固定)。どの市場も需要を測れなかったキーワードには課金しません。キーワード単位の従量課金です。
- 注意: 価格・日数・入札数の統計は各サイトの既定並び順から最大
maxItemsPerMarket件の標本です(全数ではありません)。消化率と件数のみサイトのヒット件数由来です。価格帯別の消化率は標本を母数で重み付けした推定値です(メルカリのヒット件数は価格上限を付けると単調でなくなることを実測したため、件数の差分では計算できません)。ブラウザ不使用・ログイン不要・1.5秒に1リクエスト、ヤフオクと PayPayフリマは同一基盤のため逐次取得しています。個人情報は取得しません。
If something goes wrong
- Wrong number or a failed run? Open a ticket on the Issues tab. I read every one and reply within 2 business days (Japan time).
- You never get a fake "empty" result. If the site can't be read, the run fails and says so.
- No results = no charge. You only pay for results you actually get.
- Checked every week. An automatic test runs this tool weekly; if the site changes, I fix it.
- Public pages only. No login, no personal data, and it goes easy on the site.
More tools by the same author
- Japan Used Camera & Lens — Dealer Price vs Sold Price
- Japan Figure & Gunpla — New Price vs Used Sold Price
- Used iPhone & Android Prices Japan — Dealer vs Sold
- Yahoo, Mercari & PayPay Japan — Same Item, 3 Prices
- Pokemon Card Japan Sold Prices — Raw vs Graded per Card
- Mercari Japan Sold Prices — What Items Really Sell For
- Yahoo! Auctions Japan Sold Prices — Median, Range, Bids
- Mercari Japan Listings — One Row per Item, $0.0015 Each
All tools (Japan marketplaces, real estate, jobs, racing, prediction markets): https://apify.com/jpmarketdata
Disclaimer
Unofficial, independent tool — not affiliated with, endorsed by, or sponsored by Mercari, Yahoo! Auctions or PayPay Flea Market. Product names and logos belong to their owners and only say where the data comes from. Data is read from public pages, for market research; check before you act on it.