Used iPhone & Android Prices Japan — Dealer vs Sold avatar

Used iPhone & Android Prices Japan — Dealer vs Sold

Pricing

from $20.00 / 1,000 handset valuations

Go to Apify Store
Used iPhone & Android Prices Japan — Dealer vs Sold

Used iPhone & Android Prices Japan — Dealer vs Sold

Type a phone model and get a Japanese dealer's price next to what it sold for on Yahoo! Auctions and Mercari. Returns dealer price by condition, sold median, the gap, and the discount for network-restricted (赤ロム) or weak-battery units. $0.02 per model when two sites answer. Unofficial.

Pricing

from $20.00 / 1,000 handset valuations

Rating

0.0

(0)

Developer

h ichi

h ichi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

Share

What it does: Prices one phone model at a Japanese used-phone dealer (Iosys) and as sold on Yahoo! Auctions and Mercari, and returns the gap plus two Japan-only discounts.

You enter: phone models, e.g. iPhone 14 Pro 256GB (iPhone, Android, iPad; add storage size); optional sources

You get: dealer price by condition (e.g. Used B / C), carrier and storage; sold median on Yahoo! Auctions and Mercari; dealer-vs-sold gap before fees; the discount for a network restriction (赤ロム) and for a battery under 80%, where stated — up to 100 listings per site.

Price: $0.02 per model — every model in a run is charged, however many sites. +$0.002 per listing if you also want the list. Charged only when at least two sites return data.

Example: enter iPhone 14 Pro 256GB → dealer asks ¥92,800 · sold for ¥72,460 (Yahoo! Auctions ¥74,920, Mercari ¥70,000) · dealer asks 28.1% more than sold · weak battery −16.2% at the dealer

Unofficial — not affiliated with Iosys, Yahoo! Auctions, Mercari or PayPay Flea Market. Reads public pages only.

The two discounts, and why you can trust the number

  • ネットワーク利用制限 (赤ロム) — a handset the carrier has barred, or can still bar because the original buyer stopped paying the instalments. cleared, instalments running, risk, × already barred. A barred handset cannot use a mobile network, and the market prices that.
  • バッテリー80%未満 — below 80 % of the original maximum capacity, the point at which Apple and the Japanese trade call a battery worn.

Both are returned as a percentage off the clear price, and every figure says how it was computed:

  • like_for_like — flagged against clear inside the same source / grade / carrier / capacity cell, so the number is not confounded by the stock mix. It only becomes the headline once at least 4 listings stand behind it: an unconfounded ratio computed from two prices is worse than a confounded one computed from twenty.
  • pooled_unadjusted — all flagged against all clear. Reported always, labelled clearly, never dressed up as a coefficient.
  • Listings whose seller did not state the flag are excluded from both sides and counted in unstatedListings. A silent listing title is not a clean handset, and folding silence into the clean bucket is the one move that would turn this product into a fabricated number. (赤ロム保証 — "we refund you if it is ever barred" — is likewise read as the opposite of 赤ロム, not as the flag.)

Why the price-basis tags matter more than the medians

A dealer ask, a winning bid and a live asking price are three different quantities. So every source block carries priceBasis (dealer_ask / sold / asking) with a plain-English priceBasisLabel, and every entry of valuation.pairs is tagged dealer_ask_vs_sold, sold_vs_sold, asking_vs_asking, and so on, with a boolean sameBasis. In a mixed pair the buy side is always from, so diffPct reads as a margin rather than a coincidence. dealer_ask_vs_sold is the only pair that is a margin; the rest is context.

Pricing — $0.02 per model

EventPriceWhen
Model analyzed across sources$0.02Per model, whatever the number of sources
Individual listing$0.002Only if you enable Include individual listings

A default run (1 model, 3 sources, summary only) costs $0.02 and takes about 5 seconds (measured). You pay per model; there is no monthly fee and no minimum.

A model is only charged when at least two of the selected sources actually returned data (or the single one, if you selected only one). A cross-source valuation with one source in it is not a valuation, so it is free.

A model none of the sites has ever listed is an answer, not a failure. Measured 2026-08-18: a made-up model name is answered normally by Iosys, Yahoo! Auctions, Mercari and PayPay Flea Market — each with 0 listings. That record ships with totalListingsFound: 0 on every source, the run ends normally, and it costs $0.00. A failed run means the sites could not be read at all.

Input

FieldExampleNotes
models["iPhone 14 Pro 256GB"]Model, ideally with the capacity. Works for iPhone, Android and iPad. Full-width text and spacing are normalized. Each model costs $0.02
sources["iosys","yahoo_auction","mercari"]Multi-select. Add paypay_flea for a second asking reference. The price per model does not change
mercariStatus"sold_out"sold_out (sold prices, default) / on_sale (asking) / both (returned as two separate blocks)
modelNameFiltertrueKeeps only listings whose title contains every word of your model keyword
maxItemsPerSource10030–300 listings sampled per source (and per Mercari status)
priceMinJpy / priceMaxJpy40000Optional price window, applied identically to every source
includeIndividualListingsfalseEnable to also get every matched listing, +$0.002 each
convertToUsdtrueAdds USD stats at the current rate (one FX lookup per run)

Output example (type: "phone_resale_valuation", abridged)

Measured on 2026-08-07 (real run): iPhone 14 Pro 256GB, sources iosys + yahoo_auction + mercari.

{
"type": "phone_resale_valuation",
"model": "iPhone 14 Pro 256GB",
"normalizedModel": "iPhone14 Pro 256GB",
"sources": {
"iosys": {
"priceBasis": "dealer_ask",
"priceBasisLabel": "Dealer ask — tax-included shelf price a Japanese used-phone retailer wants today",
"totalListingsFound": 28, "sampledListings": 28, "matchedListings": 18, "pricedListings": 18,
"priceJpy": {"min": 77800, "p25": 89050, "median": 92800, "p75": 92800, "max": 109800, "average": 94300},
"byGrade": [
{"grade": "中古Bランク", "gradeEn": "Used B", "listings": 16, "sharePct": 88.9, "medianJpy": 92800, "units": 19},
{"grade": "中古Cランク", "gradeEn": "Used C", "listings": 2, "sharePct": 11.1, "medianJpy": 84800, "units": 3}
],
"gradePremium": [{"betterGrade": "中古Bランク", "worseGrade": "中古Cランク", "medianRatio": 1.094, "premiumPct": 9.4}],
"byCarrier": [{"carrier": "SoftBank", "listings": 6, "sharePct": 33.3, "medianJpy": 92800, "units": 7}],
"byCapacity": [{"capacity": "256GB", "listings": 18, "sharePct": 100.0, "medianJpy": 92800, "units": 22}],
"conditionMix": {
"networkRestricted": {"flagged": 2, "clear": 16, "unstated": 0, "flaggedSharePct": 11.1},
"batteryUnder80": {"flagged": 1, "clear": 17, "unstated": 0, "flaggedSharePct": 5.6}
},
"signals": {"unitsInStock": 22, "listingsWithStockCount": 18},
"coverage": "exact", "pagesSampled": [1, 2], "specSource": "structured"
},
"yahoo_auction": {
"priceBasis": "sold",
"totalListingsFound": 1622, "sampledListings": 100, "matchedListings": 72,
"priceJpy": {"p25": 65750, "median": 74920, "p75": 85450},
"conditionMix": {"networkRestricted": {"flagged": 0, "clear": 3, "unstated": 69}},
"signals": {"sellThroughRatioSampled": 1.0, "bidCount": {"median": 1, "max": 86}},
"specSource": "title"
},
"mercari_sold": {
"priceBasis": "sold",
"totalListingsFound": 1422, "sampledListings": 100, "matchedListings": 45,
"priceJpy": {"p25": 68000, "median": 70000, "p75": 75000},
"signals": {"medianDaysToSell": 4}
}
},
"valuation": {
"dealerAsk": {"source": "iosys", "medianJpy": 92800, "p25Jpy": 89050, "p75Jpy": 92800, "pricedListings": 18},
"soldComps": [{"source": "yahoo_auction", "medianJpy": 74920, "pricedListings": 72},
{"source": "mercari_sold", "medianJpy": 70000, "pricedListings": 45}],
"soldMedianJpy": 72460, "soldMedianBasis": "median of the 2 sold source medians",
"dealerPremiumJpy": 20340, "dealerPremiumPct": 28.1,
"resaleMarginJpy": -20340, "resaleMarginPct": -21.9,
"comparable": true, "spreadJpy": 22800, "spreadBasis": "dealer_ask_vs_sold", "mixedBasis": true,
"pairs": [
{"from": "iosys", "to": "yahoo_auction", "basis": "dealer_ask_vs_sold", "sameBasis": false,
"diffJpy": -17880, "diffPct": -19.3, "cheaperSource": "yahoo_auction"},
{"from": "yahoo_auction", "to": "mercari_sold", "basis": "sold_vs_sold", "sameBasis": true,
"diffJpy": -4920, "diffPct": -6.6, "cheaperSource": "mercari_sold"}
],
"note": "`resaleMarginPct` is gross: … before marketplace fees (~10 %), shipping and payment costs."
},
"conditionDiscounts": {
"networkRestricted": {
"dealer_ask": {"available": true, "basis": "pooled_unadjusted", "discountPct": 5.4,
"flaggedListings": 2, "clearListings": 16, "unstatedListings": 0,
"pooled": {"medianFlaggedJpy": 87800, "medianClearJpy": 92800, "discountJpy": 5000}},
"sold": {"available": false, "basis": null, "discountPct": null,
"flaggedListings": 0, "clearListings": 3, "unstatedListings": 114,
"reason": "no priced flagged listing stated this flag for this model, so there is nothing to compare"}
},
"batteryUnder80": {
"dealer_ask": {"available": true, "basis": "like_for_like", "discountPct": 16.2,
"likeForLike": {"cellsCompared": 1, "listingsInCells": 6, "medianRatio": 0.838}},
"sold": {"available": true, "basis": "pooled_unadjusted", "discountPct": 9.0}
}
},
"gradePremium": [{"betterGrade": "中古Bランク", "worseGrade": "中古Cランク", "premiumPct": 9.4}],
"sourcesWithData": ["iosys", "mercari", "yahoo_auction"],
"checkedAt": "2026-08-07T…"
}

Read that record as: the dealer wants ¥92,800, the market pays ¥72,460, so buying retail and flipping C2C loses 21.9 % before fees — and a weak battery costs you 16.2 % on the buy side while a ▲ marker costs 5.4 %.

With includeIndividualListings: true you additionally get one record per matched listing, each tagged with source, priceBasis, grade, carrier, capacity, networkRestricted, batteryUnder80, batteryHealthPct and specSource.

Use cases

  • Export sourcing — Japan is a supply pool for the rest of Asia. dealerAsk is a price you can actually buy at today and signals.unitsInStock is the volume behind it; soldComps tells you what the same handset sells for at retail-adjacent prices
  • Buy-back / trade-in desksgradePremium is the empirical answer to "what is grade B worth over grade C this week", per model, instead of a fixed internal table. conditionDiscounts is the same for the two risk flags
  • Repricing and monitoring — schedule it over your model list and watch the dealer ask, the sold median and the spread move
  • Deciding where to sellsold_vs_sold compares Yahoo! Auctions against Mercari for the same handset; signals.medianDaysToSell and sellThroughRatioSampled are the liquidity
  • Risk pricing — quantify what 赤ロム and a worn battery are worth before you buy a lot of mixed stock

Notes & limits

  • Check matchedListings and pricedListings before trusting a median. totalListingsFound is what each site reports for the raw keyword and is deliberately shown next to them: the retailer's search is loose (measured: 28 hits for iPhone14 Pro 256GB, only 18 of them actually a 14 Pro), Mercari caps its hit count at 15,000
  • A model the dealer does not stock returns matchedListings: 0, not a guess. The valuation then drops the dealer side and says so in noteresaleMarginPct needs a buy side
  • resaleMarginPct is gross: before ~10 % marketplace fees, shipping and payment costs. And a dealer ask is a firm price while a sold median is a distribution — read p25/p75
  • The C2C condition flags are read from listing titles, so they are only as good as what sellers wrote; specSource: "title" marks every such field and unstatedListings is usually the largest bucket. The retailer's flags are real fields (specSource: "structured")
  • Iosys is a fixed-price retailer, not a marketplace: prices are current asks, tax included, no sale date. Its buy-back site is Crawl-delay: 60 and JavaScript-rendered, so the sell/buy spread is not obtainable and is not pretended
  • PayPay Flea Market can never return sold prices — they are not server-rendered
  • Yahoo's sold filter is bidCount >= 1; ended auctions with no bid are sampled but excluded from the statistics. Mercari's medianDaysToSell uses updated - created, which also moves on price edits, so it skews low
  • The retailer is sorted price-ascending and sampled with evenly spaced pages across the price range (coverage, pagesSampled), never a cheap prefix
  • A source that fails does not fail the run: it comes back as available: false with an error and the rest are still compared. Only a model where every source failed fails the run
  • Read-only, no login, no browser. One request 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レコードで並べ、赤ロム(ネットワーク利用制限)割引率・バッテリー80%未満の割引率・ランク別/キャリア別/容量別の内訳まで返します(1機種 $0.02、明細は $0.002/件、従量課金です)。

中文: 一次运行即可获得日本二手手机的商家售价与雅虎拍卖/煤炉实际成交价对比,并量化「红ROM(网络限制)」与「电池健康低于80%」的折价幅度(每款机型 $0.02,按量计费)。

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

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 Iosys, 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.