Yahoo! Auctions Japan Scraper - Active Listings (ヤフオク) avatar

Yahoo! Auctions Japan Scraper - Active Listings (ヤフオク)

Pricing

from $3.00 / 1,000 per results

Go to Apify Store
Yahoo! Auctions Japan Scraper - Active Listings (ヤフオク)

Yahoo! Auctions Japan Scraper - Active Listings (ヤフオク)

Yahoo Auctions Japan scraper for active listings (ヤフオク出品中): keyword search with title, current and buy-it-now price in JPY, bids, end time, condition, category and shipping. English schema, robots.txt-compliant URLs. Item facts only, no seller data. Unofficial; not affiliated with LY Corporation.

Pricing

from $3.00 / 1,000 per results

Rating

0.0

(0)

Developer

JP Open Data

JP Open Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Categories

Share

Yahoo! Auctions Japan Scraper - Active Listings (ヤフオク出品中)

What is for sale on Yahoo! Auctions Japan (ヤフオク!) right now: title, current price and buy-it-now price in JPY, bid count, end time, condition, category and shipping, in a clean English schema.

This Actor searches the public live search of auctions.yahoo.co.jp for one or more keywords or pasted search URLs (optionally narrowed to one category) and returns each active listing as JSON. Optional filters: price range, condition, buy-it-now only, and ending soon (ends within N hours). Searches with more than the site's 15,000-result limit can be split into price bands for large pulls.

Unofficial tool. Not affiliated with or endorsed by LY Corporation (LINEヤフー株式会社) or Yahoo! Auctions. It reads publicly available pages only (no login), politely (strictly serial requests at least 1.2 s apart, a hard per-run request budget, no block evasion), fetches only URLs the site's robots.txt allows, and extracts item facts only — no seller IDs, names, ratings, store flags or locations. You are responsible for making sure your use of the data complies with the site's terms and applicable law.

Related Actors from the same publisher:


Quick start — verified input

Copy this into the input (JSON tab) or send it via the API. It was run successfully on 2026-10-04 (10 listings per keyword, 2 requests, about 10 seconds, no proxy). Running with an empty input {} uses exactly these values.

{
"keywords": ["ポケモンカード", "Nintendo Switch"],
"maxItemsPerKeyword": 10
}

Common input mistakes

WrongRightWhy
"keywords": "pokemon cards""keywords": ["ポケモンカード"]Japanese keywords match far more listings; English works for brand and model names (Nikon F3). A single string is accepted too.
"category": "trading cards""category": "2084241343" or emptyNumeric auccat id from a category URL (the URL itself is accepted).
"priceMin": "1,000円""priceMin": 1000Whole JPY. Via the API, a string with ¥ or commas is tolerated.
"condition": "mint""condition": "new"any, new or used (新品 / 未使用 / 中古 also work).
"maxItemsPerKeyword": 500 with the default budgetalso raise "maxApiRequests"One request returns one page of 50 listings, and the budget is shared by all keywords.
A pasted URL with s1=end&o1=a to get "ending soonest first""endingWithinHours": 6The sort parameters are disallowed by robots.txt and are dropped from pasted URLs. The ending-soon filter is the allowed way.
"keywords" left at the pre-filled list next to "searchUrls"clear keywords or leave it as isWhen URLs are given and keywords still holds the pre-filled Quick start list, only the URLs are searched (the log says so).

An invalid value stops the run immediately, before any request to the site, with a message that names the field and lists the valid values. Numbers outside their range are clamped with a warning instead.

Empty results?

A keyword with no live listings finishes with 0 items and complete: true. That is not an error (the site itself shows "条件に一致する商品は見つかりませんでした"). Typical causes: very niche or English wording (try the Japanese product name), a category that does not contain the keyword, or narrow price/condition filters with a small request budget. If some keywords stop early, the run still succeeds; the RUN_SUMMARY record in the key-value store shows complete and a stopReason for each keyword.


Who is this for?

  • Resellers and proxy-buying services: watch what is listed now, at what current and buy-it-now price, and when each auction ends.
  • Collectors: track trading cards, figures, cameras, watches or retro games across many keywords in one run.
  • Price research: combine with the sold-price Actor above to compare asking prices with actual sale prices.

Input

FieldDefaultNotes
keywords["ポケモンカード", "Nintendo Switch"]Each keyword is searched separately. Up to 100 keywords + URLs per run.
searchUrlsemptySearch URLs pasted from your browser, one per line (see below).
categoryemptyNumeric auccat id or category URL. Applies to keywords; a pasted URL keeps its own category.
priceMin / priceMaxemptyCurrent price in JPY. Sent to the site as its price filter and re-checked on every listing.
conditionanynew = the listing shows the 未使用 (unused) badge; used = it does not. Applied after fetching.
buyItNowOnlyfalseKeep only listings with a buy-it-now (即決) price. Applied after fetching.
endingWithinHoursemptyKeep only listings that end within this many hours (1 to 720). Applied after fetching.
maxItemsPerKeyword10Per keyword or URL, 1 to 50,000.
maxApiRequests201 to 1,000 for the whole run, shared fairly between keywords and URLs.
proxyConfigurationno proxyApify datacenter IPs are answered directly. If you set a proxy, one sticky session is used for the whole run.

Paste a search URL

Set up a search on auctions.yahoo.co.jp in your browser (keyword, category, price range, condition), copy the address bar and put it in searchUrls:

{
"searchUrls": ["https://auctions.yahoo.co.jp/search/search?p=%E3%82%AC%E3%83%B3%E3%83%97%E3%83%A9&va=%E3%82%AC%E3%83%B3%E3%83%97%E3%83%A9&istatus=1&is_postage_mode=1&dest_pref_code=13&b=1&n=50&s1=end&o1=a&min=1000&max=5000"],
"maxItemsPerKeyword": 10
}

Accepted: keyword searches (/search/search?... and /search/search/<keyword>/<category>/), category pages (/category/list/.../<id>/) and sold-item searches (their keyword and category are used). The Actor keeps the keyword words (p, va, vo, ve), the category (auccat) and the price range (aucminprice/aucmaxprice, or the site's min/max box, which is sent as aucminprice/aucmaxprice), and turns istatus into the condition filter. Every other parameter is dropped and never sent: sort (s1, o1), page size (n), istatus itself, is_postage_mode and anything else robots.txt disallows, as well as allowed parameters this Actor does not use (such as dest_pref_code or b). The run log lists every dropped parameter, and each record carries the URL in searchUrl. So the results can differ from what your browser shows: the site's default order instead of your sort, and no shipping-destination setting.

A category URL without a keyword is read from the category page itself (/category/list/<id>, only the page offset b is sent): the site redirects keyword-less searches there with a page-size parameter that robots.txt disallows, so the Actor goes to the category page directly. On category pages robots.txt also disallows the price parameters, so a price range on such a URL is applied after fetching, and a keyword-less category cannot be split into price bands (it is limited to the site's 15,000 results). Adding a keyword lifts both limits.

Ending soon

"endingWithinHours": 6 keeps listings whose auction ends in the next 6 hours. robots.txt disallows the site's end-time sort, so the Actor reads results in the site's default order and filters them. For a broad keyword with a short window, give it a larger maxApiRequests.

Large pulls (more than 15,000 listings)

The site shows at most 15,000 results (300 pages) for any one search. When a keyword or URL has more results than that and its share of maxApiRequests is more than 300 requests, the Actor splits the search into current-price bands (using the allowed aucminprice/aucmaxprice parameters) until each band holds 15,000 results or fewer, then reads each band. Example for up to 50,000 listings of one keyword:

{
"keywords": ["ポケモンカード"],
"maxItemsPerKeyword": 50000,
"maxApiRequests": 1000
}

This takes time: requests are sent one at a time, at least 1.2 s apart, so 1,000 requests take roughly 30 minutes, and every listing stored is charged. Limits: a single exact price that alone has more than 15,000 listings (for example thousands of ¥1 cards) cannot be split further, so only the first 15,000 at that price are reachable; such a search ends with complete: false and a stopReason in RUN_SUMMARY. Prices move while the run is going, so a listing can change band; duplicates are removed by item id.

Sample output (one dataset item)

{
"keyword": "ポケモンカード",
"searchUrl": null,
"itemId": "s1246126423",
"itemTitle": "ポケモンカードゲーム 拡張パック ストームエメラルダ 14パック メガブレイブ 5パック 計19パックセット",
"currentPriceJpy": 3000,
"buyNowPriceJpy": 4000,
"startPriceJpy": 3000,
"bidCount": 1,
"endsAt": "2026-10-04T23:29:40+09:00",
"condition": "new",
"badges": ["未使用"],
"categoryId": 2084317604,
"categoryIdPath": [25464, 27727, 25826, 2084241343, 2084317604],
"isFreeShipping": false,
"shippingFeeJpy": 230,
"shippingText": "+送料230円",
"isFleaMarket": false,
"isFeatured": false,
"imageUrl": "https://auc-pctr.c.yimg.jp/i/auctions.c.yimg.jp/images.auctions.yahoo.co.jp/image/...jpg",
"itemUrl": "https://auctions.yahoo.co.jp/jp/auction/s1246126423",
"source": "ヤフオク! 出品中 (auctions.yahoo.co.jp search)",
"sourceUrl": "https://auctions.yahoo.co.jp/",
"license": "Publicly available data — unofficial tool; users are responsible for compliance with the source site's terms",
"retrievedAt": "2026-10-04T04:55:00.000Z"
}

keyword is the keyword searched (for a pasted URL, the URL's keyword, or null for a category-only URL). searchUrl is the pasted URL the listing came from, null for keyword searches. buyNowPriceJpy is null when the listing has no buy-it-now price. shippingFeeJpy is 0 for free shipping and null when the site shows no fee or "送料未定". isFeatured marks listings with the site's paid "featured" (注目) option; the site mixes them into the result list on every page, so filter on it if you want organic results only. startPriceJpy is the opening price as the site publishes it (before consumption tax on listings that charge tax).

Honest limits

  • Search-page facts only. The Actor reads the search result list and never opens item pages. So there is no item description, no detailed condition grade (only the 未使用 badge), no category names (only ids), and no seller information by design.
  • Shipping as shown to an anonymous visitor. The fee is what the site displays without a login; the destination it assumes may not be yours.
  • Prices change. Current prices and bid counts are a snapshot at retrievedAt.
  • Site order only. robots.txt forbids the sort (s1, o1) and page-size (n) parameters, so listings come in the site's default order, 50 per request (price bands are read cheapest band first).
  • Some filters run after fetching. The price range is sent to the site. Condition, buy-it-now and ending-soon filters discard non-matching listings after each page is read, so narrow filters need a larger maxApiRequests.
  • 15,000 results per search. Beyond that, only price-band splitting helps (see "Large pulls"), and it needs a large request budget.
  • The site can change or refuse requests. If it blocks an IP mid-run, the run keeps what it already has and ends successfully with complete: false. If it blocks the very first request, the run fails visibly instead of retrying aggressively.

robots.txt compliance

auctions.yahoo.co.jp/robots.txt allows /search/search but disallows these query parameters on it: pstagefree, new, offer, shipping, istatus, abatch, loc_cd, type, mode, n, s1, o1, max_sprice. The rules match any parameter name ending in those letters (so the site's own min= price box is disallowed too). This Actor sends only p, va, vo, ve (keyword words), auccat (category), aucminprice / aucmaxprice (price range — the parameters the site's own price links use, not disallowed on /search/) and b (page offset). Before every request the URL is checked against a copy of the real robots.txt and refused if any rule disallows it; pasted URLs are rebuilt from the allowed parts only. The test suite checks the same rules.

Pricing

Pay per result: you are charged for each listing stored in the dataset. A run stops by itself when it reaches the maximum charge you set for the run.