Rakuten Ichiba Products Scraper (price & seller watch)
Pricing
from $1.05 / 1,000 product scrapeds
Rakuten Ichiba Products Scraper (price & seller watch)
Search Rakuten Ichiba (rakuten.co.jp) by keyword, newest first or by price, and get one flat row per listing: JPY price, shop, review score and count, points, shipping fee, category, ranking badge and sponsored flag.
Pricing
from $1.05 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Superslow Sloth
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
9 days ago
Last modified
Categories
Share
Rakuten Ichiba products scraper: search Rakuten Ichiba (楽天市場, rakuten.co.jp), Japan's largest online marketplace, and get one flat row per listing: no nested objects, no HTML to strip yourself. Built for price watching, competitor and seller tracking and new-listing alerts. Give it keywords and a sort order and you get each listing's JPY price, shop, review score and count, points, shipping fee, category and position on the page.
This is the Rakuten Ichiba shopping mall. It is not Rakuten Travel (hotels).
Input
| field | meaning |
|---|---|
queries | One or more searches, exactly as typed into the Rakuten Ichiba search box |
sort | Rakuten's sort code. Default 4, newest first. Table below |
maxItems | Stop each search after this many products. Every search gets its own budget |
proxyConfiguration | Apify proxy by default. See Proxy below |
Sort codes
Each code was fetched on 2026-10-10 and the page's own sort name read back.
| code | order | reach |
|---|---|---|
1 | Standard (relevance) | 6,750 results |
4 | Newest first | 6,750 |
7 / 8 | Price low to high / high to low (all results) | 6,750 |
9 / 10 | Most reviews / highest review score (all results) | 6,750 |
2 / 3 | Price low to high / high to low | only the first 9 pages, 405 results |
5 / 6 | Most reviews / highest review score | 405 |
11 / 12 | Price plus shipping, low to high / high to low | 405 |
Rakuten itself caps one search at 150 pages of 45 listings (6,750 products) for
the first group, and at 9 pages for the second. A search with few hits is capped by
its own hit count instead. Pick 7-10 rather than 2, 3, 5, 6 when you want
the full result set in that order.
Output
| field | meaning |
|---|---|
item_code | Rakuten's numeric item code. Unique within a shop: the pair (shop_code, item_code), plus variant_id where a listing has variants, names an item |
manage_number | The shop's own item number, from the item URL (item.rakuten.co.jp/<shop>/<manage_number>/) |
variant_id | Rakuten's variant id when one listing carries several SKUs, else null |
url, name, subtitle | Item page link, listing title and the seller's catch-copy line |
price_jpy | Price in yen, tax included. The lowest price when the listing has several SKUs |
price_max_jpy | The highest SKU price when the listing shows a range ("1,080 - 1,380"), else null |
shop_name, shop_code, shop_url_code, shop_url | The seller's shop: name, numeric id, URL slug and shop page |
review_count | Number of customer reviews, 0 when there are none |
review_average | Average out of 5, null when there are no reviews |
image_url | The thumbnail, null when the listing has no image |
points | Rakuten Points earned on one unit at this price, as Rakuten works it out |
point_base_multiplier, point_boost_multiplier | The multipliers Rakuten reports, raw: base (normally 1, 0 on deal-point items) and any point-up boost |
shipping_fee_jpy, free_shipping | Shipping fee to Rakuten's default region (Tokyo) and whether it is 0 |
sold_out, used, used_condition, super_deal | Rakuten's flags: sold out, used-goods flag with its condition grade ("中古品-可"), SuperDEAL campaign |
category, genre_id | Rakuten's genre breadcrumb, root first, and the id of its leaf |
ranking_position, ranking_genre | The daily-ranking badge a listing wears (rank and the genre it is for), else null |
sponsored | true for a paid placement in the results |
source | initial_state normally; json_ld if the page's main data block was missing (see How it reads the page) |
page, position | Page of the search and 1-based position on it, ads included |
query | The keyword this row came from |
null is not zero
A column is null when the page does not show it. The actor never puts a 0 or an
empty string in its place:
review_averageisnullon an item with no reviews. Rakuten prints a score of 0 there; the actor treats that as "no score".review_countstays0, because the page really says zero reviews. On anintendo switchsearch sorted newest first, every one of 45 listings had no reviews yet.price_max_jpyisnullunless the listing shows a price range.image_urlisnullon listings with no picture (5 of 45 on that same page).used_conditionisnullunless the item is flagged used.shipping_fee_jpyandfree_shippingarenullif the page does not print a fee. Shipping is the fee to Rakuten's default region, Tokyo; some shops charge more elsewhere.
Sponsored rows
Rakuten sometimes serves a few paid placements at the head or tail of the results
(5 on one nintendo switch page, 4 on another, none on most). They are marked
sponsored: true, and their url is the item page, not Rakuten's ad-click redirect.
When a paid placement repeats a listing that also ranks organically, the organic row
is kept and the paid copy dropped, so a listing is charged once per search.
How it reads the page
Rakuten renders the whole result set into the page's __INITIAL_STATE__ data block,
45 listings per page, with the item, shop, price, reviews, points and shipping for
each. That block is the source. Its schema.org ItemList carries only 10 rows (the
page's first 10 that have a picture) and fewer fields; it is used only if the main block is missing, and rows read
that way say source: "json_ld" and leave the fields it does not carry null.
Paging
The actor asks for p=2, 3 and so on. It reads the page count from the response
(numFound capped by the sort's own limit) and stops at the last page. A request for
a page past the end is answered by Rakuten with page 1; the actor reads the page the
body was rendered for, notices, and stops instead of billing copies of page 1.
Proxy
The default is Apify's proxy. Rakuten served a full result page to Apify datacenter and residential exits on 2026-10-10. Rakuten answers a burst of requests from a single address with an HTTP 503 "アクセスが集中しております" overload page (seen after about 30 requests in a few minutes from one address). That page, any 403/429/5xx and any 200 with no results payload count as a refusal: the actor switches address and retries.
Billing
Pay per event: $0.00105 per product, plus $0.002 per run for actor-start. Platform usage (compute, bandwidth, proxy) is included. You pay the two event prices above and nothing else. A listing turned up twice in one search is charged once.
For comparison, Apify Store's other Rakuten Ichiba product scrapers list $0.0015
(piotrv1001/rakuten-japan-listings-scraper), $0.005
(axlymxp/rakuten-ichiba-product-scraper) and $0.01
(moving_beacon-owner1/rakuten-ichiba-product-scraper) per item, read 2026-10-10.
This actor's $0.00105 is 30% under the cheapest of those.