# Rakuten Ichiba Reviews Scraper (`axlymxp/rakuten-ichiba-reviews-scraper`) Actor

Scrape individual customer reviews from Rakuten Ichiba (楽天市場) — full review text, star rating, reviewer, date, helpfulness and purchase details — by keyword or item URL. The review data public listings don't expose, as clean JSON for sentiment analysis and product research. Pay only for results.

- **URL**: https://apify.com/axlymxp/rakuten-ichiba-reviews-scraper.md
- **Developed by:** [axly](https://apify.com/axlymxp) (community)
- **Categories:** E-commerce, Business, AI
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 dataset items

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Rakuten Ichiba Reviews Scraper ⭐🇯🇵

Extract **individual customer reviews** for **Rakuten Ichiba (楽天市場)** products —
the actual review text, star rating, reviewer, date, helpfulness votes and
purchase context — as clean, structured JSON. Supply **keywords** (reviews are
pulled for the top matching products) or **direct item URLs**.

> **The only way to get Ichiba product-review content on Apify.** Other Rakuten
> actors return listings and aggregate scores; this one returns the reviews
> themselves — what customers actually wrote.

***

### Who is this for?

| You are… | You use it to… |
| --- | --- |
| 🏷️ **Brand / product manager or seller** | Monitor sentiment, complaints and feature requests on your and rivals' SKUs. |
| 🔬 **Market / consumer researcher** | Mine Japanese-language opinion at scale across a category or brand. |
| 🤖 **AI / NLP team** | Build sentiment & summarization datasets from real Japanese reviews. |
| 📈 **E-commerce analyst** | Correlate rating distribution, verified-purchase share and helpfulness with sales. |

***

### What you get (output fields)

| Field | Type | Description |
| --- | --- | --- |
| `rating` | integer | This review's star rating (1–5). |
| `body` | string | Full review text. |
| `title` | string | Review theme/title, when present. |
| `nickname` | string | Reviewer nickname, when public. |
| `reg_time` | string | Submission timestamp (ISO-8601, JST). |
| `verified_purchase` | boolean | Whether the reviewer bought the item. |
| `helpful_count` | integer | "Helpful" votes. |
| `variant_info` | string | Which variant/SKU was purchased. |
| `usage` | string | Who/what it was bought for (e.g. 自分用). |
| `frequency` | string | Purchase frequency (e.g. はじめて = first time). |
| `sex` / `age` | string | Reviewer demographics, when disclosed. |
| `shop_replied` | boolean | Whether the shop replied. |
| **Item context (on every row)** | | |
| `item_id` / `shop_id` | integer | Product & shop ids. |
| `item_name` / `item_url` / `item_price` / `item_image` | – | Product identity. |
| `item_review_average` / `item_review_count` | number | Aggregate rating & total. |
| `item_rating_distribution` | array | `{stars, count}` histogram. |
| `item_ai_summary` | string | Rakuten AI review summary (optional). |
| `source` / `scraped_at` | string | Provenance & timestamp. |

Full definitions in the dataset schema tab.

***

### High-value use cases

- **Voice-of-customer / sentiment analysis** — pull hundreds of reviews per SKU and
  run NLP to surface complaints, praise and feature requests.
- **Competitive product intelligence** — compare rating distribution and
  verified-purchase share across rival products.
- **Review-driven merchandising** — find which variants (colour/size) buyers love
  or return, via `variant_info` + `rating`.
- **Training data** — assemble a labelled Japanese review corpus (text + rating).
- **Quality monitoring** — schedule runs and watch for a drop in new-review ratings
  or a spike in low-star reviews.

***

### Input parameters

| Field | Type | Default | Description |
| --- | --- | --- | --- |
| `searchQueries` | array | `[]` | Keywords; reviews collected for the top products of each. |
| `itemUrls` | array | `[]` | Direct item URLs or `shop/item` shorthand. |
| `maxProductsPerQuery` | integer | `20` | Products per keyword to review. |
| `maxReviewsPerItem` | integer | `100` | Reviews per product. |
| `maxItems` | integer | `1000` | Global review-row cap. |
| `sort` | enum | `newest` | `newest`, `rating`, `helpfulness`. |
| `minRating` | integer | – | Only reviews ≥ this rating (1–5). |
| `buyerOnly` | boolean | `false` | Verified purchasers only. |
| `withImagesOnly` | boolean | `false` | Reviews with photos only. |
| `includeAISummary` | boolean | `false` | Attach Rakuten AI review summary. |
| `proxyConfiguration` | object | Apify Proxy | Egress proxy. |

#### Example input

```json
{
  "searchQueries": ["マグカップ"],
  "maxProductsPerQuery": 10,
  "maxReviewsPerItem": 100,
  "sort": "helpfulness",
  "minRating": 1,
  "maxItems": 1000
}
```

#### Example output (one row)

```json
{
  "item_id": 10000832,
  "shop_id": 376432,
  "item_name": "ディーンアンドデルーカ モーニングマグ …",
  "item_url": "https://item.rakuten.co.jp/deandeluca/dd0050/",
  "item_review_average": 4.63,
  "item_review_count": 73,
  "rating": 5,
  "body": "アーモンドベージュめちゃくちゃ可愛いお色でした！家族の分も購入しました。",
  "reg_time": "2026-07-26T17:40:06",
  "verified_purchase": true,
  "helpful_count": 0,
  "variant_info": "カラー:アーモンドベージュ",
  "usage": "自分用",
  "frequency": "はじめて",
  "source": "url:https://item.rakuten.co.jp/deandeluca/dd0050/",
  "scraped_at": "2026-08-03T09:20:11Z"
}
```

***

### Scheduling & integrations

- **Schedule** runs to track new reviews and rating trends over time.
- **Webhooks** fire on completion — pipe new reviews into your data warehouse.
- **Export** to JSON, CSV, Excel or Google Sheets; stream to S3 or a database via
  the Apify API and integrations (Make, Zapier).

### Use with AI assistants (MCP)

This Actor is callable as a tool by AI agents through the **Apify MCP server**, so
a Claude/ChatGPT-style assistant can pull Rakuten reviews for a product on demand
and summarize sentiment. Point your MCP client at Apify and call this Actor.

***

### FAQ

**How many reviews can I get per product?** As many as the product has — paginated
30 at a time up to your `maxReviewsPerItem`.

**Can I filter reviews?** Yes — by minimum rating, verified purchasers only,
reviews with images only, and sort by newest / rating / helpfulness.

**How do I target specific products?** Paste their item URLs, or use keywords to
auto-discover the top products and review them.

**Do I need a Rakuten account or API key?** No. The Actor uses a built-in guest
token and Rakuten's public search — no credentials required.

**What language are reviews in?** Japanese (UTF-8), preserved exactly as written.
Pair with any translation/NLP step downstream.

**Is scraping this legal?** You are responsible for how you use the data. This
Actor collects only publicly displayed reviews; review Rakuten's terms and your
local regulations (and privacy rules for personal data) before commercial use.

**A field is empty for some reviews.** Reviewers can leave nickname, age or sex
blank — those come through as `null`. The rating and body are always present.

# Actor input Schema

## `searchQueries` (type: `array`):

Keywords to search on Rakuten Ichiba; reviews are collected for the top matching products of each keyword. Japanese or English.

## `itemUrls` (type: `array`):

Direct Rakuten item page URLs (item.rakuten.co.jp/<shop>/<item>/) to pull reviews for. Also accepts <shop>/<item> shorthand.

## `maxProductsPerQuery` (type: `integer`):

How many top products of each keyword to collect reviews for. Ignored for item URLs.

## `maxReviewsPerItem` (type: `integer`):

Cap how many reviews are collected per product (30 per page).

## `maxItems` (type: `integer`):

Global cap on review rows across all products. The run stops once this many reviews are pushed.

## `sort` (type: `string`):

Order in which reviews are collected per product.

## `minRating` (type: `integer`):

Only collect reviews with at least this star rating (1–5). Leave empty for all.

## `buyerOnly` (type: `boolean`):

Only reviews from users who purchased the item.

## `withImagesOnly` (type: `boolean`):

Only reviews that include photos.

## `includeAISummary` (type: `boolean`):

Attach Rakuten's AI-generated review summary (when available) to each row of a product.

## `proxyConfiguration` (type: `object`):

Egress proxy. Rakuten's read APIs work from most connections; the default Apify Proxy provides a stable IP.

## Actor input object example

```json
{
  "searchQueries": [
    "マグカップ",
    "coffee beans"
  ],
  "itemUrls": [
    "https://item.rakuten.co.jp/deandeluca/dd0050/"
  ],
  "maxProductsPerQuery": 20,
  "maxReviewsPerItem": 100,
  "maxItems": 1000,
  "sort": "newest",
  "buyerOnly": false,
  "withImagesOnly": false,
  "includeAISummary": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQueries": [
        "マグカップ"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("axlymxp/rakuten-ichiba-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQueries": ["マグカップ"],
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("axlymxp/rakuten-ichiba-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQueries": [
    "マグカップ"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call axlymxp/rakuten-ichiba-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=axlymxp/rakuten-ichiba-reviews-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/cRAXSerLjfDUk05Ih/builds/OaUBSFWWWOqPCXF2X/openapi.json
