Fujiya Camera Japan Used Gear — Condition-Rank Price Stats avatar

Fujiya Camera Japan Used Gear — Condition-Rank Price Stats

Pricing

from $20.00 / 1,000 keyword market summaries

Go to Apify Store
Fujiya Camera Japan Used Gear — Condition-Rank Price Stats

Fujiya Camera Japan Used Gear — Condition-Rank Price Stats

Used camera and lens price stats from Fujiya Camera (フジヤカメラ) in one call: the exact population count and median for every condition rank (未使用/A/AB+/AB/AB-/B/現状品), the rank premium between them, used-price quartiles and the new-price reference. From $0.02. フジヤカメラの中古相場をランク別に1コールで。

Pricing

from $20.00 / 1,000 keyword market summaries

Rating

0.0

(0)

Developer

h ichi

h ichi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Fujiya Camera Japan Used Gear — Condition-Rank Price Stats in One Call

How much more is an AB body worth than a B body? That spread is what the Japanese used-camera export trade prices off, and it is the only number a plain listing scraper cannot give you. One call per keyword returns it.

This Actor reads Fujiya Camera (フジヤカメラ, Nakano — one of Japan's reference used-camera dealers, whose grading is quoted across the trade) and returns one compact market record per keyword:

  • rankStats — the exact population count and median for every condition rank (未使用 / A / AB+ / AB / AB- / B / 現状品 / コレクション). Not a sample: each rank is a filter on the search, so its count is the population count and its median is read out of the population
  • rankPremium — how much each rank costs over the cheapest ranked bucket, in percent
  • usedPriceJpy — min / Q1 / median / Q3 / max of the whole used result set, with the basis labelled
  • newMedianJpy / usedVsNewDiscountPct — the new-price reference the used gear is discounted against
  • brandTop, rankMixSampled, plus USD conversion at the current rate
  • Optionally every sampled listing (title, brand, price, condition rank, URL)

No login, no API key, nothing stored between runs.

Pricing — from $0.02 per keyword, no subscription

EventPriceWhen
Keyword market summary$0.02Per keyword analyzed
Individual listing$0.002Only if you enable Include individual listings

A default run (1 keyword, summary only) costs $0.02. A keyword that returns zero listings is never charged.

Input

FieldExampleNotes
keywords["Nikon Z6"]Maker, model or mount. Each keyword costs $0.02
conditionRanks["1001","1003"]Optional: 1000 未使用/未開封品, 1001 A, 1002 AB+, 1003 AB, 1004 AB-, 1005 B, 1006 現状品, 1007 コレクション. Empty = the whole ladder
includeNewReferencetrueAlso measure the new/outlet price so the used discount can be reported
maxItemsPerKeyword50Listings kept for the brand mix (30–300, 50 per page). Does not affect the rank counts, rank medians or quartiles
includeIndividualItemsfalseEnable to also get each sampled listing as a record
convertToUsdtrueAdds USD stats at the current exchange rate

Why the rank numbers are exact, and where the basis is labelled

The condition rank is a search filter, not a label the Actor has to infer. So for each rank:

SituationHow the median is obtainedmedianBasis
The rank has ≤50 listingsThe page is the population — its median is the population medianexact
The rank has moreOne extra request jumps to the page holding rank ceil(count/2) of a price-ascending sort — that listing is the population medianpopulation_quantiles
Time budget spent, or the page could not be readMedian of the listings that were inspectedsample

The same three-way labelling applies to usedPriceJpyBasis for the overall used quartiles. The fallback is the point: if the shop ever changes its sort behaviour, the Actor stops claiming population figures instead of quietly returning wrong percentiles.

brandTop and rankMixSampled are always sample-based (sampledListings tells you the size).

Output example (type: "market_summary")

{
"type": "market_summary",
"keyword": "Nikon Z6",
"totalListingsFound": 1325,
"usedListingsFound": 665,
"newListingsFound": 660,
"sampledListings": 50,
"usedPriceJpy": { "min": 3300, "q1": 39800, "median": 104500, "q3": 199100, "max": 748000, "count": 665 },
"usedPriceJpyBasis": "population_quantiles",
"rankStats": [
{ "rank": "unused", "rankLabel": "未使用/未開封品", "count": 12, "medianJpy": 268400, "medianBasis": "exact" },
{ "rank": "A", "rankLabel": "A", "count": 88, "medianJpy": 179300, "medianBasis": "population_quantiles" },
{ "rank": "AB", "rankLabel": "AB", "count": 234, "medianJpy": 119900, "medianBasis": "population_quantiles" },
{ "rank": "B", "rankLabel": "B", "count": 41, "medianJpy": 74800, "medianBasis": "exact" }
],
"rankPremium": { "baseRank": "B", "baseMedianJpy": 74800, "premiumPct": { "AB": 60.3, "A": 139.7, "unused": 258.8 } },
"newMedianJpy": 289080,
"usedVsNewDiscountPct": 63.9,
"brandTop": [["Nikon", 47]],
"checkedAt": "2026-08-01T05:31:12.004Z",
"sourceUrl": "https://www.fujiya-camera.co.jp/shop/goods/search.aspx?search=x&keyword=Nikon+Z6&ps=50&p=1&sort=4&category=20"
}

A caveat worth stating plainly

usedVsNewDiscountPct can come out negative. Measured for Nikon Z6 on 2026-08-01: used median ¥280,500 against a new median of ¥222,750, i.e. −25.9%. That is not a bug — a keyword that names a body also matches accessories (filters, straps, flashes) whose new prices are low, so the "new" side of a loose keyword is not the same product as the "used" side.

Use a keyword specific enough to name one product when you want the discount to mean something, and read newListingsFound (7 in that measurement) as the sanity check. The Actor reports the number rather than hiding it.

What this Actor does not do

  • No listing dumps by default. The product is the statistic; individual listings are opt-in and separately priced
  • No login-only data. Everything comes from public search pages
  • No stored dataset. Every run fetches live; nothing is retained between runs
  • No PII. The shop is a single dealer; there are no individual sellers to expose

Notes on the data

  • sort is always sent explicitly. The shop's default order is おすすめ順 (merchandising-weighted) and would skew every price statistic
  • Ranks are the shop's own ladder, read from its secondhand_state filter. A listing occasionally carries a rank that is not on the filter ladder; conditionRank then reports the shop's wording verbatim rather than forcing it into a bucket
  • Prices are asking prices including tax as displayed by the shop
  • A run costs roughly 1 + 4 + (1–2 per rank) + 1–2 requests per keyword, throttled at 1.2 s. Multi-keyword runs carry a wall-clock budget and set truncatedForTimeLimit rather than silently truncating