Hobby Search Japan Prices — What's In Stock and % Off
Pricing
from $20.00 / 1,000 keyword analyzeds
Hobby Search Japan Prices — What's In Stock and % Off
Type a hobby keyword and see what model kits and figures cost on Hobby Search in Japan today. You get the typical price and price range over every item you can actually buy, how many that is of all found, and the usual discount off list. $0.02 per keyword, no results = no charge. Unofficial.
Pricing
from $20.00 / 1,000 keyword analyzeds
Rating
0.0
(0)
Developer
h ichi
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Unofficial — independent tool, not affiliated with, endorsed by, or sponsored by Hobby Search. It reads only publicly visible pages. Support, reliability guarantees and the full disclaimer are at the bottom of this page.
What it does: Type a hobby word and get what model kits and figures cost on Hobby Search in Japan today, over the items you can actually buy.
You enter: search words, e.g. HGUC or ガンダム. English words like gundam are swapped for you.
You get: how many items are in stock out of all found, the typical price and the lowest–highest over the in-stock items, the share discounted and the usual % off the Japanese list price, the share on pre-order and nearly sold out, and the shop's own stock tags.
Price: $0.02 per search word. +$0.002 per row if you also want the list. No results = no charge.
Example: enter HGUC in Gunpla → 27 of 306 items found are in stock (9%) · ¥363–¥9,900, typical ¥1,584 · 89% discounted, usually 20% off list · all 27 read, so those figures cover every one of them (real run, 2026-09-09)
Unofficial — not affiliated with Hobby Search. Reads public pages only.
Pricing — $0.02 per search word
| Event | Price | When |
|---|---|---|
| Keyword stock & price summary | $0.02 | Per search word analyzed |
| Individual item | $0.002 | Only if you enable Also list every item |
A default run (1 search word, summary only) costs $0.02. You pay per search word; there is no fixed monthly fee. A search word that returns zero listings is never charged. At most 10 search words are used per run.
Input
| Field | Example | Notes |
|---|---|---|
keywords | ["HGUC"] | 1–10 search words, one summary row each, $0.02 each. Japanese finds far more than English — measured 2026-09-09: gundam 223 items in stock, ガンダム 1,075. At most 10 words per run; the form will not take more |
category | "gunpla" | Which part of the shop: all, gunpla, figure, mecha, plamo, car, paint, rail, train, mini, chara, doll, toy, rc, military, toreca, book. Narrowing drops items that only share the word (ガンダム in all also returns marker pens) |
inStockOnly | true | On by default. The shop's own "hide what is out of stock" filter — prices then cover only what you can buy today. Off prices the whole catalogue including sold-out items |
useJapaneseAliases | true | On by default. Swaps a short list of whole English words for the Japanese the shop indexes (gundam → ガンダム). Part numbers are never touched; searchTermUsed says what was searched |
includeIndividualItems | false | Enable to also get one row per item (+$0.002 each) |
maxItemPages | 1 | 1–3. Only matters with the item list on: 60 items per page, so at most 60 / 120 / 180 rows charged |
convertToUsd | true | Adds USD figures at today's rate. A failed lookup never fails the run |
Does a number cover every item, or only the ones read?
Every record carries priceJpyBasis and shareBasis, so you never have to guess. The two are often different in the same row, which is the point of labelling both.
| Label | What it means | When you get it |
|---|---|---|
exact | The pages read covered every matching item — the figures cover all of them | The search fits on one page (60 items or fewer) |
population_quantiles | The price points were read straight out of the shop's own cheapest-first order at the item that sits a quarter, halfway and three quarters down the whole result set. They cover every matching item, not a sample | priceJpyBasis only, on any search bigger than one page |
sample | The figures cover only the items actually read (sampledListings says how many) | shareBasis on any search bigger than one page; priceJpyBasis if the guard below trips |
Why the price points can claim that and the share figures cannot. Hobby Search offers a cheapest-first sort, and the order holds across pages: measured 2026-09-09 on ガンダム, page 9 ends at ¥1,485 and page 10 starts at ¥1,496. So the item at rank 25%, 50% and 75% of the result set can be looked up directly by jumping to its page — no reading of the other thousand items required. Nothing on the card is sorted that way, so the discount, pre-order and stock-tag shares are counted over the pages actually read and say so.
Every run re-checks the order: each page read must not fall, and the five price points must rise. If either check fails, monotonicityCheck becomes violated and priceJpyBasis drops to sample — the record never keeps a coverage claim it can no longer support.
Our sibling Actor for HobbyLink Japan (hlj-hobby-market-checker) has no such option: HLJ orders results by relevance and offers no price sort at all, so every figure there is a sample and is labelled as one. Hobby Search is also a Japanese domestic shop rather than an exporter, so the yen figure and the % off refer to the Japanese list price.
When a search word comes back empty
keywordStatus tells you which kind of empty it is, and hint names the next thing to try in one sentence (null otherwise):
keywordStatus | Meaning | What the hint suggests |
|---|---|---|
ok | Items were read | — |
not_found | The shop matched nothing at all under that word | Try the Japanese name or the part number as printed |
unknown | The shop stocks items under that word, but none can be bought today | Turn off Only what is in stock |
Neither empty is charged. The counts that tell them apart are real: totalFound is the shop's hit count with no stock filter, inStockFound is its hit count with the filter on.
Output example (type: "stock_price_summary")
Measured on 2026-09-09 (real run, {"keywords": ["HGUC"], "category": "gunpla", "inStockOnly": true, "includeIndividualItems": false}). The whole record, nothing shortened. This search returns 27 items, which fit on one page, so both bases read exact and average is a real mean; on a larger search priceJpyBasis would read population_quantiles and average would be null.
{"type": "stock_price_summary","keyword": "HGUC","searchTermUsed": "HGUC","keywordAliasApplied": false,"keywordStatus": "ok","categoryUsed": "gunpla","sortUsed": "price_asc","totalListingsFound": 27,"totalFound": 306,"inStockFound": 27,"inStockRate": 0.0882,"inStockFilterConfirmed": true,"sampledListings": 27,"priceJpy": { "min": 363, "p25": 701, "median": 1584, "p75": 2618, "max": 9900, "average": 2151 },"priceJpyBasis": "exact","monotonicityCheck": "ok","discountedShare": 0.8889,"discountPctMedian": 20,"preorderShare": 0.0,"lastFewUnitsShare": 0.0,"stockTagBreakdown": { "販売中": 26, "再入荷": 17, "お取り寄せ": 1 },"releasedShare": 1.0,"shareBasis": "exact","hint": null,"truncatedForTimeLimit": false,"sourceUrl": "https://www.1999.co.jp/search?typ1_c=109&cat=gundam&target=&searchkey=HGUC&spage=1&sortid=2&sold=1","checkedAt": "2026-09-09T12:00:56.766979+00:00","priceUsd": { "min": 2.36, "p25": 4.56, "median": 10.3, "p75": 17.02, "max": 64.36, "average": 13.98 },"exchangeRateJpyUsd": 0.006501}
Reading it: of the 306 HGUC items the shop lists in Gunpla, 27 can be bought today (inStockRate 8.8%). Those 27 run ¥363 to ¥9,900 with a typical ¥1,584. 24 of them are discounted (discountedShare 0.89) and the usual cut is 20% off the Japanese list price (discountPctMedian). Nothing is on pre-order and nothing is down to its last units. The tags add up to more than 27 because one item can carry several.
With includeIndividualItems on you also get one row per item: itemCode, name, url, priceJpy, listPriceJpy, discountPct, stockTags, remainingUnits, releaseText, isPreorder.
What this Actor does not do
- No sold prices. Hobby Search is a shop: these are asking prices, what a buyer would pay today, not what something changed hands for
- No tax claim. The prices are reported exactly as the shop displays them. The search results page contains no statement about tax either way, so this Actor does not add one
- No product text, reviews or images. Only the listing facts above are read — never descriptions, review bodies or image links
- No item rows by default. The product is the statistic; individual items are opt-in and separately priced
- No login-only data. Everything comes from public search pages
- Nothing is stored. Every run reads the shop live; nothing is kept between runs
- No customer or seller information. Hobby Search is a single retailer — there are no third-party sellers to profile
Notes on the data
- Page shape.
https://www.1999.co.jp/searchis server-rendered UTF-8 HTML with 60 items per page, no login and no hidden data feed.robots.txtis 531 bytes and sets neither a rule nor a delay for ordinary readers; the 1.5-second gap between requests here is self-imposed. A default run is 2 requests when the search fits on one page and at most 6 when it does not - The hit count is the shop's own and appears three times identically on the same page. It is the count for whatever filter was sent, which is what makes
inStockFoundexact rather than estimated - What "in stock" means here.
inStockOnlyuses the shop's own 「在庫なしを除く」 filter, and it is a real filter rather than a label: measured 2026-09-09,ガンダムreturns 11,824 items unfiltered and 1,075 with it on. The card tags say the same thing. On the cheapest-first page 9 of that search, all 60 cards carry 「在庫なし」 unfiltered and none of the 60 do with the filter on — that is the evidence the count rests on. The shop's second out-of-stock tag, the 「注文再開メール」 ("email me when it is back") button, was on only 10 of those same 60, so it is a weaker signal and is used as a second opinion, not the check. Every run re-reads both tags on the pages it reads and reports the result asinStockFilterConfirmed - Discounts are counted two ways on purpose. The shop prints a % off only on discounted items, and coverage swings by page (measured 2026-09-09: 24 of 27 on the example above, 202 of 300 on a wider search). A single average over everything would be meaningless, so you get
discountedShare(how many are discounted) anddiscountPctMedian(the usual cut among those) separately - Stock tags are every tag in the shop's own tag list except the delivery labels (ゆうパケット, ネコポス, クリックポスト, メール便, 宅配便, 送料無料, 定形外). Both halves of that rule were measured on 2026-09-09. Delivery labels have to go: 「ゆうパケット」 sits in the same list as the stock states and was on 49 of 60 cards on one page, so keeping it would make a postage method the commonest "stock state". But they cannot be filtered by markup either, because the shop marks up only the emphasised states: 「在庫なし」 is printed plain, and on the unfiltered page 9 of
ガンダムall 60 cards carried it. Everything else the shop prints is passed through, including tags added after this was written releasedSharesplits the release line by its ending: 「発売」 (already out) against 「発売予定」 (still to come). The date itself is often written without a year, so only that split is reported- Latin words find much less. Measured 2026-09-09:
gundam223 in-stock items againstガンダム1,075, andnendoroid0 againstねんどろいど844.useJapaneseAliasesswaps a short list of whole English words for the Japanese spelling andsearchTermUsedalways tells you what was actually searched - A known single point of failure. Hobby Search runs a Cloudflare managed challenge on
/terms/,/faqand/eng/— all of them answer 403 with a challenge page, verified again on 2026-09-09 from a datacenter address. Only/searchis passed through. If that rule ever widens to/searchthere is no browser-free way around it: the run fails and says so by name rather than reporting an empty shelf - Requests are throttled and the run carries a time budget; if it is reached, later search words skip their price-point lookups, and their records say so with
truncatedForTimeLimit: trueand asamplebasis
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
- BookOff Japan Used Manga, Books, CDs — Price & Stock
- @cosme Japan Beauty Ranking — Top 50 Ratings & Prices
- Digimart Japan Used Guitar & Instrument Prices
- Fujiya Camera Japan Used Camera Prices by Condition
- GU Japan Prices — Typical Price and Markdown Share
- HobbyLink Japan Gunpla & Figure Prices + Stock Status
- Iosys Japan Used iPhone & Phone Prices by Condition
- JACKROAD Japan Watch Prices — New, Used, Vintage, In Stock
- Mercari Japan Sold Prices — What Items Really Sell For
- Yahoo! Auctions Japan Sold Prices — Median, Range, Bids
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 Hobby Search. 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.