Tackleberry Japan Used Fishing Tackle Prices & Counts avatar

Tackleberry Japan Used Fishing Tackle Prices & Counts

Pricing

from $20.00 / 1,000 keyword market summaries

Go to Apify Store
Tackleberry Japan Used Fishing Tackle Prices & Counts

Tackleberry Japan Used Fishing Tackle Prices & Counts

Type a brand or model and get how much used fishing tackle Japan's 200-store chain Tackleberry has in stock. Returns exact used / new / outlet counts, typical used price and range across all used listings, and how many sit under ¥10,000. $0.02 per keyword, no results = no charge. Unofficial.

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

8 days ago

Last modified

Share

What it does: Type a brand or model and get how much used fishing tackle Tackleberry, Japan's 200-store used-tackle chain, has online and at what price.

You enter: brand name in katakana, or a model code, e.g. シマノ or C3000.

You get: exact used / new / outlet counts; typical used price and range read across every used listing, not just a sample; how many sit under ¥5,000 / ¥10,000 / ¥20,000 / ¥50,000; condition mix (A–C) from a 120-listing sample of cheaper stock. Optional: one row each.

Price: $0.02 per keyword that returns listings; a keyword that matches nothing is never charged. +$0.002 per listing if you also want the list.

Example: enter シマノ → 34,397 listings = 33,891 used + 454 new + 52 outlet · typical used price ¥16,748 (range ¥2,311–277,200) · 9,024 used listings under ¥10,000 · sampled condition mix mostly B and B-.

Unofficial — not affiliated with Tackleberry. Reads public pages only.

Pricing — $0.02 per keyword

EventPriceWhen
Keyword market summary (stats-computed)$0.02Per keyword analyzed
Individual listing (listing-returned)$0.002Only if you enable Include individual listings

A default run (1 keyword, summary only) costs $0.02. You are charged $0.02 for each keyword that returns listings; a keyword that matches nothing is never charged. There is no monthly fee.

Input

FieldExampleNotes
keywords["シマノ"]Brand names in katakana, or model codes as printed (C3000). Latin-letter brand names find nothing — see the table below. Each costs $0.02
saleTypes[]Which stock classes to count. One request each. Empty = all three
sortBy"price_asc"price_asc / price_desc / newest / rank. Keep price_asc so the used prices can be read across every used listing
priceLadder[]price_max rungs for the used CDF. One request each, max 8. Empty = 5000/10000/20000/50000
maxItemsPerKeyword120Listings kept for the sampled blocks (60–300). Does not affect the counts or the used-price figures
includeIndividualItemsfalseAlso emit each sampled listing (+$0.002 each)
convertToUsdtrueAdds USD stats at the current exchange rate

How to spell the keyword (this is the thing that goes wrong)

The shop indexes its own Japanese product names. A brand written in Latin letters finds nothing, or next to nothing — measured on 2026-08-18:

BrandKatakanaListingsIn Latin lettersListings
Shimanoシマノ33,328Shimano0
Daiwaダイワ32,239Daiwa2
Megabassメガバス1,246Megabass0
Jackallジャッカル1,471
Evergreenエバーグリーン1,777

Model codes are typed exactly as they are printedC3000 finds 1,154 listings and 4000XG finds 402 (measured 2026-08-18). Generic English words do not work either: reel finds 0 where リール finds 35,207.

When nothing matches, the record says keywordStatus: "not_found" and hint repeats this in one sentence; keywordStatus is ok as soon as the shop returns listings. A keyword that matches nothing is never charged, so a wrong spelling costs nothing.

The one thing to understand: every number says where it came from

This Actor never lets a whole-shop number and a page sample blur together. Each block carries its own basis:

basisMeaningWhere it is used
populationThe shop's own hit count for a filtersaleTypeCountsBasis — the used / new / outlet counts
population_quantilesA real listed price, taken at the 25% / 50% / 75% point of every used listing by jumping straight to the page that holds itUsed prices on a price_asc run
population_medianLowest and middle price read across every listing in the class; the middle 50% range deliberately not computedClasses over one page that do not justify four requests (the new class)
population_bandsInterpolated inside band counts that are themselves exactusedPriceCdf, and the used-price fallback
exactThe whole class fit on the pages that were read, so the figure covers every listing in itThe 52 outlet listings above
sampleDescribes only the listing cards that were readsampleStats (condition mix, discounts, new-arrival share)

Why sort-and-jump rather than the count ladder — both were verified

Both ways of covering every listing work on this shop, which is unusual, so the choice is deliberate:

  • The price-ascending sort (orderby=5) is monotonic across pages. Verified live on 2026-08-02 for the 33,891 used シマノ listings: pages 142 / 283 / 424 returned ¥9,240 / ¥16,748 / ¥30,204, and price_max=2000 returned 0 listings, confirming that page 1's head (¥2,311) really is the lowest used price in the shop.
  • The price_max ladder returns exact counts, which gives the shape of the whole price distribution.

The rank-jump is used for the headline prices because it returns prices that actually exist in the inventory — an item you can go and look at — whereas the ladder interpolates inside a band. The gap is real and measurable: over the same set of listings the ladder puts the middle price at ¥17,808 against the rank-jump's measured ¥16,748, i.e. 6% high, because it has to assume prices are spread evenly inside the ¥10k–20k band and they are not.

The ladder is not wasted, though. It is published in its own right as usedPriceCdf (the shape of the distribution is a different product from the typical price and range), and it is the fallback: if the monotonicity guard ever trips — a page jump the shop clamps, a probe whose values are not non-decreasing — the used prices fall back to population_bands, and only if that fails too, to sample. The claim always shrinks to what was actually measured.

Output example (type: "market_summary")

Measured on 2026-08-02 (real run) for シマノ; the checkedAt field below is the same moment written in UTC. keywordStatus and hint were added on 2026-08-18 and are shown with the values this record produces.

{
"type": "market_summary",
"keyword": "シマノ",
"sortUsed": "price_asc",
"sortCode": "5",
"totalFound": 34397,
"sampledListings": 120,
"keywordStatus": "ok",
"hint": null,
"saleTypeCountsBasis": "population",
"bySaleType": [
{ "code": "1", "key": "used", "expectedLabel": "#中古品", "labelSeen": "#中古品", "labelMatchesCode": true,
"count": 33891, "share": 0.9853, "sampledListings": 60,
"priceJpy": { "min": 2311, "p25": 9240, "median": 16748, "p75": 30204, "max": 277200, "count": 33891 },
"priceJpyBasis": "population_quantiles" },
{ "code": "2", "key": "new", "expectedLabel": "#新品", "labelSeen": "#新品", "labelMatchesCode": true,
"count": 454, "share": 0.0132, "sampledListings": 60,
"priceJpy": { "min": 484, "p25": null, "median": 4488, "p75": null, "max": null, "count": 454 },
"priceJpyBasis": "population_median" },
{ "code": "3", "key": "outlet", "expectedLabel": "#アウトレット", "labelSeen": "#アウトレット", "labelMatchesCode": true,
"count": 52, "share": 0.0015, "sampledListings": 52,
"priceJpy": { "min": 330, "p25": 880, "median": 1021, "p75": 1741, "max": 51590, "count": 52 },
"priceJpyBasis": "exact" }
],
"saleTypeSplitSum": 34397,
"saleTypeSplitComplete": true,
"saleTypeSplitConsistent": true,
"usedPriceCdf": {
"basis": "population_bands",
"saleType": "used",
"rungs": [
{ "upperBound": 5000, "count": 3047, "cumulativeShare": 0.0899 },
{ "upperBound": 10000, "count": 9024, "cumulativeShare": 0.2663 },
{ "upperBound": 20000, "count": 19170, "cumulativeShare": 0.5656 },
{ "upperBound": 50000, "count": 30951, "cumulativeShare": 0.9133 }
],
"bands": [
{ "from": 0, "to": 5000, "count": 3047 },
{ "from": 5000, "to": 10000, "count": 5977 },
{ "from": 10000, "to": 20000, "count": 10146 },
{ "from": 20000, "to": 50000, "count": 11781 },
{ "from": 50000, "to": null, "count": 2940 }
]
},
"usedVsNew": {
"medianRatio": 3.7317,
"basis": "population_quantiles/population_median",
"note": "... catalogue-mix ratio, not a residual-value ratio ..."
},
"sampleStats": {
"basis": "sample",
"sampledListings": 120,
"usedSampled": 120,
"conditionRankMix": {
"sampleSize": 120,
"ranks": [
{ "code": "a", "label": "A", "count": 4, "share": 0.0333 },
{ "code": "ab", "label": "AB", "count": 7, "share": 0.0583 },
{ "code": "bp", "label": "B+", "count": 25, "share": 0.2083 },
{ "code": "b", "label": "B", "count": 34, "share": 0.2833 },
{ "code": "bm", "label": "B-", "count": 45, "share": 0.3750 },
{ "code": "c", "label": "C", "count": 5, "share": 0.0417 }
]
},
"discountVsRegularPct": { "count": 0, "median": null },
"newArrivalShare": 0.0333
},
"requestsMade": 13,
"checkedAt": "2026-08-01T15:56:34.141774+00:00",
"sourceUrl": "https://b-net.tackleberry.co.jp/products/list?name=%E3%82%B7%E3%83%9E%E3%83%8E&disp_number=60&orderby=5",
"usedPriceUsd": { "min": 14.58, "p25": 58.29, "median": 105.65, "p75": 190.53, "max": 1748.58 },
"exchangeRateJpyUsd": 0.006308
}

What this Actor does not do

  • No sold prices. These are current asking prices on a retailer's shelf. There is no transaction history on this shop and none is invented
  • No PII. The shop is a company selling its own stock — there are no sellers, no accounts, no contact details. Nothing of that kind is collected or emitted
  • No maker[] filter. It returns 1.4 MB in ~11 seconds; name= covers the same ground five times faster, so the Actor never sends it
  • No listing dumps by default. The product is the statistic; individual listings are opt-in and separately priced
  • Nothing is kept. Every run reads the site live; nothing is retained between runs
  • No browser, no proxy. Plain HTTP, 256 MB

Notes on the data

  • usedVsNew.medianRatio is a catalogue-mix ratio on a broad keyword. The measurement above (3.73) does not mean used tackle costs 3.7× new tackle — it means that this shop's 454 new items are mostly accessories while its 33,891 used items include rods and reels. Pin the keyword to a single model and the same number becomes a genuine residual-value ratio. The note field in every record says so
  • Stock moves by the minute. The unfiltered count read 34,401 / 34,399 / 34,397 in the space of a day, which is why every record carries checkedAt and why saleTypeSplitConsistent tolerates nothing but reports the gap rather than hiding it
  • labelMatchesCode is a tripwire, not decoration. sale_type[]=1 means "used" today; if the shop ever re-numbers its own filter, every statistic here would silently invert. The Actor therefore carries the shop's own #中古品 / #新品 / #アウトレット card tag next to the code it asked for and flags any disagreement. A stock class with no card to read reports null — there is nothing to compare, which is not the same as a mismatch
  • The condition grade lives in an icon filename (com-rank-bm-square.svg = B-). There is no rank filter, so the grade mix can only ever be a sample — labelled as such — even though everything else here covers every listing rather than a sample
  • Used gear carries no list price, so discountVsRegularPct is usually empty on a used-heavy keyword. Discounts are an outlet/new phenomenon on this shop, and reporting count: 0 is the honest version of that
  • sortBy is always sent explicitly. The shop's own default order is 新着順 (newest), which would skew every price statistic; the sort actually used is echoed back as sortUsed
  • Run it without a proxy. Measured 2026-08-02 with the internal dc-ip-probe (runs X1kho2Wzj37b74t0w, qBpVfzQB4pwpjjrM5, 96imjNnaeywlMsdSd): plain datacenter IPs get 200 on every combination of filter, sort and deep pagination. No anti-bot vendor is in front of it
  • The shop is slow — 1.5–4 s per request typically, 4–12 s from a datacenter IP, with occasional 20 s+ outliers. A default run is 13 requests and took 68 s end to end when this README was measured. A soft 85-second budget protects the 120-second target: if it is reached, the price ladder is cut from the tail first, the affected statistic drops to a weaker (still labelled) basis, and the record carries truncatedForTimeLimit: true. Run fewer keywords per call rather than raising the budget

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 Tackleberry. 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.