Skip to main content
Rakuten Ichiba is Japan’s largest e-commerce marketplace. It publishes structured product prices, reviews, stock, and rankings, which makes it a common target for price monitoring, competitor analysis, and market research. This guide is a technical playbook for what you can extract from Rakuten Ichiba and how to navigate its page structure. Scrape only public data, and stay within the site’s terms of service and applicable privacy law. For the criteria that determine legality, see Is web scraping legal?.

Data you can scrape

The fields you can collect depend on the page type. Search result (listing) pages expose:
  • Product title
  • Price
  • Shipping fee
  • Points earned
  • Ranking position
  • Review count
  • Store name
  • Store URL
  • URL of each product detail page
Product detail pages expose:
  • Product description
  • Product images
  • Variations (color, size, and so on)
  • Stock status
  • Sale conditions
  • Review score
Review pages expose:
  • Review text
  • Reviewer
  • Rating score
  • Post date
Review text is highly copyright-protected, so republishing or redistributing it after collection is restricted.

Page structure and how to navigate it

Rakuten Ichiba data collection follows this order:
  1. Search by category or keyword and capture the search result page URL. Search conditions are reflected in the URL parameters, so preparing one URL per category keeps the collection scope manageable.
  2. From the search result page, collect the basic product fields and the URL of each product detail page.
  3. Loop through the collected product URLs and extract the detailed fields from each product detail page.
  4. If reviews are needed, navigate to the review page and collect them while handling incremental loading.
Deciding whether the listing fields alone are enough, or whether you need product detail and reviews, reduces the number of page transitions and the load on the target site.

Technical considerations

Content loaded dynamically with JavaScript

Some Rakuten Ichiba elements are not in the HTML when the page first opens — they load after JavaScript executes. A scraper that only fetches raw HTML cannot collect these elements. To handle them, render the page in a real browser that executes JavaScript before extracting. See Scraping JavaScript-rendered pages for details.
Wait for the specific element to render, not for the page load event. The load event and the completion of element rendering are not the same moment.

Pagination

Rakuten Ichiba search results are split by numbered pages. Reviews may grow through incremental loading. Handling differs by method — numbered pages, next links, load-more — so identify the method on the target page first. See How to handle pagination.

Access control and server load

Rakuten Ichiba has controls against automated access. Sending many requests in a short window makes a scraper easier to detect.
Do not try to technically evade access controls. Keep request frequency, volume, and timing modest. Rakuten Ichiba may set Disallow on some paths in robots.txt, so check the terms of service and robots.txt per target URL. For the criteria that determine legality, see Is web scraping legal?.

Scraping with Octoparse

Octoparse renders pages in a headed, real browser, so content loaded dynamically with JavaScript can be collected without writing code. Looping from search listing to product detail, waiting on incremental loading, and scheduling cloud runs are all configured in the visual editor. You can start collecting Rakuten listings with the Rakuten product listing scraper template, which lets you begin from a URL and preview the fields you’ll get.

Use cases

  • Price monitoring: track competitor product prices, shipping fees, and points over time
  • Competitor and market analysis: read in-category rankings, review counts, and store distribution
  • Stock and demand signals: continuously collect stock status and best-seller rankings
  • Review analysis: aggregate review scores and text trends
Rakuten Ichiba scraping works best with a narrow objective: fewer fields, less load on the site, and output you can trust.