Used iPhone Resale Value Japan — Sold Price, Buyback & Ask
Pricing
from $20.00 / 1,000 handset valuations
Used iPhone Resale Value Japan — Sold Price, Buyback & Ask
What a used phone is really worth in Japan, in one call: dealer ask by grade next to Yahoo! Auctions and Mercari SOLD prices, the resale margin, and the two discounts that move Japanese prices — network restriction (赤ロム) and battery under 80%. Carrier/capacity splits. From $0.02. 日本の中古スマホ相場を1コールで。
Pricing
from $20.00 / 1,000 handset valuations
Rating
0.0
(0)
Developer
h ichi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 hours ago
Last modified
Categories
Share
What is this handset actually worth in Japan? One call per model returns the dealer ask (what a Japanese used-phone retailer wants for it today) next to the sold price (what the same handset really changed hands for on Yahoo! Auctions and Mercari) — plus the two discounts that decide a Japanese handset's price and that nothing outside Japan prices for you: network restriction (赤ロム) and battery below 80 %.
| Source | What you get | Basis |
|---|---|---|
| Iosys (イオシス) — used-phone retailer | Current stock, with condition grade, carrier, capacity, blacklist marker and battery flag as fields | dealer ask |
| Yahoo! Auctions Japan (ヤフオク) | Closed auctions with at least one bid | sold |
| Mercari Japan (メルカリ) | Sold-out (default) and/or on-sale listings | sold and/or asking |
| PayPay Flea Market (PayPayフリマ) | Live listings | asking |
This is not a generic sold-comps scraper pointed at phones. It is built around the three things that make the Japanese used-phone market its own market: 赤ロム risk, battery health disclosure, and carrier-branded stock.
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 — from $0.02 per model, no subscription
| Event | Price | When |
|---|---|---|
| Model analyzed across sources | $0.02 | Per model, whatever the number of sources |
| Individual listing | $0.002 | Only if you enable Include individual listings |
A default run (1 model, 3 sources, summary only) costs $0.02 and takes about 5 seconds (measured). Apify's $5 monthly free credit covers roughly 250 such runs. No subscription, 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.
Input
| Field | Example | Notes |
|---|---|---|
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 comps, default) / on_sale (asking) / both (returned as two separate blocks) |
modelNameFilter | true | Keeps only listings whose title contains every word of your model keyword |
maxItemsPerSource | 100 | 30–300 listings sampled per source (and per Mercari status) |
priceMinJpy / priceMaxJpy | 40000 | Optional price window, applied identically to every source |
includeIndividualListings | false | Enable to also get every matched listing, +$0.002 each |
convertToUsd | true | Adds USD stats at the current rate (one FX lookup per run) |
Output example (type: "phone_resale_valuation", abridged, measured 2026-08-07)
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.
dealerAskis a price you can actually buy at today andsignals.unitsInStockis the volume behind it;soldCompstells you what the same handset fetches at retail-adjacent prices - Buy-back / trade-in desks —
gradePremiumis the empirical answer to "what is grade B worth over grade C this week", per model, instead of a fixed internal table.conditionDiscountsis 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 sell —
sold_vs_soldcompares Yahoo! Auctions against Mercari for the same handset;signals.medianDaysToSellandsellThroughRatioSampledare the liquidity - Risk pricing — quantify what 赤ロム and a worn battery are worth before you buy a lot of mixed stock
Notes & limits
- Check
matchedListingsandpricedListingsbefore trusting a median.totalListingsFoundis what each site reports for the raw keyword and is deliberately shown next to them: the retailer's search is loose (measured: 28 hits foriPhone14 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 innote—resaleMarginPctneeds a buy side resaleMarginPctis gross: before ~10 % marketplace fees, shipping and payment costs. And a dealer ask is a firm price while a sold median is a distribution — readp25/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 andunstatedListingsis 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: 60and 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'smedianDaysToSellusesupdated - 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: falsewith anerrorand 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,无需订阅)。