# Rakuten Product Scraper (`agentx/rakuten-product-scraper`) Actor

Search Rakuten Ichiba, Japan's merchant-driven online shopping mall, by keyword. Built for marketplace assortment and shop-level product research with normalized titles, JPY prices, images, seller signals, availability, URLs, query, and rank.

- **URL**: https://apify.com/agentx/rakuten-product-scraper.md
- **Developed by:** [AgentX](https://apify.com/agentx) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.59 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Product Scraper - Rakuten Product Data Extraction API for Japan Marketplace Intelligence

**Rakuten Product Scraper is a Japan marketplace data API for researching Rakuten Ichiba search results, merchant/shop context, JPY prices, availability, and product ranking.** Search Rakuten by keyword and country, then receive a normalized 58-field shopping dataset with titles, prices, currency, images, seller or shop signals, source URLs, query, rank, and Apify processing metadata. Pay-per-result pricing is $0.01 per Actor start plus $0.0051 per product result on the FREE tier.

[![Product Data](https://img.shields.io/badge/Product_Data-ffd700?style=for-the-badge&color=ffd700)](https://apify.com/agentx/rakuten-product-scraper) [![Price Intelligence](https://img.shields.io/badge/Price_Intelligence-ffd700?style=for-the-badge&color=ffd700)](https://apify.com/agentx/rakuten-product-scraper) [![1 platform route](https://img.shields.io/badge/1_platform_route-ffd700?style=for-the-badge&color=ffd700)](https://apify.com/agentx/rakuten-product-scraper) [![1 country](https://img.shields.io/badge/1_country-ffd700?style=for-the-badge&color=ffd700)](https://apify.com/agentx/rakuten-product-scraper)

---

### Why Choose This API

#### Rakuten Ichiba Data for Merchant-Led Marketplace Research

**🎯 Product Search in One API Call**
Search Rakuten with `keyword`, `country`, and `max_results` to capture Japan marketplace results where merchant shops, product pages, prices, availability, and ranking can vary by query.

**💰 Price Intelligence When Sources Disclose It**
Capture JPY prices, price text, shop or seller context, product URLs, image URLs, availability, promotion text, and rank when Rakuten exposes those signals publicly.

**🌍 Country-Aware Product Coverage**
Rakuten Product Scraper supports 1 country: Japan. Country routing follows source marketplace behavior instead of applying a fake post-search filter.

**🤖 AI-Ready JSON Output**
Structured records support Rakuten shop analysis, marketplace assortment research, product-feed enrichment, RAG pipelines, pricing dashboards, and Japan ecommerce intelligence.

**⚡ Managed Processing and Platform-Aware Collection**
Request up to `max_results` records while preserving Rakuten Ichiba's public marketplace behavior. The Actor keeps query, rank, source URL, and shop-related signals for traceability.

**📊 58 Data Fields Per Product**
Extract product intelligence including:

- Product metadata (title, brand, category, description, images)
- Pricing data (price, currency, price text, discount, promotion text)
- Seller and fulfillment data (seller, shipping, delivery, return signals)
- Availability, rating, review, rank, source URL, and processing metadata

---

### Quick Start Guide

#### How to Extract Product Data in 3 Steps

##### Step 1: Configure Your Search

[Open Actor Input](https://apify.com/agentx/rakuten-product-scraper)

##### Step 2: Run the Actor

Click **Start** and the scraper will extract product data from the supported shopping source for your selected country.

##### Step 3: Download Your Data

Export results in JSON format or access via API. Data includes the 58-field product dataset schema, with optional fields populated only when the source platform exposes them.

---

### Input Parameters

#### Required Inputs

| Parameter | Type | Description | Example Values |
| --------- | ---- | ----------- | -------------- |
| `keyword` | string | Product name, model, brand, or search phrase | `"wireless mouse"`, `"wireless earbuds"` |
| `country` | string | Target country or source market for product search | `"Japan"` |
| `max_results` | integer | Maximum products to request per selected platform or route | `10`, `100`, `10000` |

#### Optional Filters and Output Settings

| Parameter | Type | Description | Example Values |
| --------- | ---- | ----------- | -------------- |
| `platforms` | not exposed | Single-platform Actor; the source platform is fixed by the Actor | Not applicable |
| Source optional fields | mixed | Optional output fields such as seller, rating, discount, shipping, and variants are populated only when the source exposes them | `seller`, `rating`, `shipping_text` |

#### Platform Filter Support Matrix

`✅` means the current actor applies the input as a source-side request filter or route selector.
`❌` means the input is not exposed for that source.

| Platform | `keyword` | `country` | `max_results` | `platforms` | Detail fields |
| -------- | --------- | --------- | ------------- | ----------- | ------------- |
| Rakuten | ✅ | ✅ | ✅ | ❌ | Platform-dependent |

#### `platforms` Format Options

This single-platform Actor does not expose a `platforms` input. The source platform is fixed by the Actor, so users should provide only `keyword`, `country`, and `max_results`.

**Single-platform behavior**:

- Platform selection is not required.
- Passing `platforms` is not part of the public input schema.
- Use All Shopping Scraper when a multi-platform allowlist is needed.

#### Search Formatting Best Practices

**Product Name or Category**:

- `"wireless mouse"`
- `"Smart TV"`
- `"PlayStation 5"`

**Brand and Model**:

- `"Sony WH-1000XM5"`
- `"iPhone case"`
- `"Lenovo laptop"`

**Country Selection**:

- Use the separate `country` parameter for marketplace routing.
- Do not append the country name to `keyword` unless the source marketplace expects it as part of the product phrase.

> **Important**: Product search ranking is controlled by the source platform. The Actor preserves `query`, `source_url`, and `rank` so users can compare the dataset with the original source behavior.

#### Supported Countries for Product Scraping

Japan

#### Country-Aware Platform Routing

The runtime selects product routes from the Actor input and the selected country. Country-specific platforms are used only when the selected `country` matches the coverage listed below.

| Platform route | Country / market routing |
| -------------- | ------------------------ |
| Rakuten | Japan |

##### Example Input Configuration

```json
{
  "keyword": "wireless mouse",
  "country": "Japan",
  "max_results": 100
}
````

***

### Output Data Schema

#### Complete Product Listing Data Structure

Each extracted product record uses the shared AgentX shopping dataset structure with 58 normalized fields. Fields are populated only when the source listing, source API, or detail page exposes them reliably.

#### Product Metadata Fields

| Field | Type | Description |
| ----- | ---- | ----------- |
| `main_image` | string/null | Primary product image URL |
| `image_urls` | array/null | Deduplicated product image URLs |
| `title` | string/null | Product title |
| `brand` | string/null | Product brand |
| `category`, `breadcrumbs` | string/array/null | Product category and breadcrumb path |
| `description`, `features`, `specifications` | string/array/object/null | Product content and detail-page fields |

#### Offer & Availability Details

| Field | Type | Description |
| ----- | ---- | ----------- |
| `stock_status`, `stock_text` | string/null | Normalized and original availability text |
| `sales_text`, `buy_limit` | string/integer/null | Demand or purchase-limit signals |
| `rating`, `review_count` | number/integer/null | Public rating and review signals |
| `sponsored` | boolean/null | Whether the source marks the result as sponsored |

#### Pricing Information

| Field | Type | Description |
| ----- | ---- | ----------- |
| `price` | number/null | Current numeric price |
| `was_price` | number/null | Original or strikethrough price |
| `currency` | string/null | ISO currency code or source currency signal |
| `price_text` | string/null | Original price text for verification |
| `discount_pct`, `discount_text`, `promo_text`, `installment_text` | mixed/null | Discount, promotion, coupon, and installment signals |

#### Seller Data

| Field | Type | Description |
| ----- | ---- | ----------- |
| `seller`, `seller_url`, `seller_score` | string/number/null | Seller, shop, or marketplace signals |
| `shipping_text`, `shipping_cost` | string/number/null | Shipping text and numeric shipping cost when available |
| `delivery_text`, `pickup_text`, `return_text`, `return_days`, `warranty_text` | mixed/null | Delivery, pickup, return, and warranty signals |
| `platform`, `site`, `country`, `product_url`, `source_url`, `query`, `rank` | mixed/null | Source traceability fields for query-to-result audits |

#### Example JSON Output

```json
{
  "main_image": "https://thumbnail.image.rakuten.co.jp/@0_mall/example/item.jpg",
  "image_urls": [
    "https://thumbnail.image.rakuten.co.jp/@0_mall/example/item.jpg"
  ],
  "title": "Wireless Mouse Silent Bluetooth 2.4GHz",
  "brand": "Elecom",
  "category": "Electronics",
  "description": "Example Rakuten product record for README documentation.",
  "features": [
    "Source-linked product row",
    "Normalized AgentX shopping schema"
  ],
  "product_id": "EXAMPLE-001",
  "price": 2480.0,
  "currency": "JPY",
  "price_text": "JPY 2,480",
  "stock_status": "in_stock",
  "stock_text": "In stock",
  "rating": 4.6,
  "review_count": 1248,
  "seller": "Rakuten Shop",
  "platform": "Rakuten",
  "site": "rakuten.co.jp",
  "country": "Japan",
  "product_url": "https://item.rakuten.co.jp/example-shop/example-item/",
  "source_url": "https://search.rakuten.co.jp/search/mall/wireless+mouse/",
  "query": "wireless mouse",
  "rank": 1,
  "sponsored": false,
  "processor": "https://apify.com/agentx/rakuten-product-scraper",
  "processed_at": "2026-06-29T00:00:00+00:00"
}
```

#### Export Formats

Export results as JSON, JSONL, CSV, Excel, XML, RSS, or access records programmatically through the Apify dataset API.

***

### Integration Examples

#### Actor ID for Platform Integration

- Actor ID: `agentx/rakuten-product-scraper`
- REST API path: `agentx~rakuten-product-scraper`
- Actor URL: `https://apify.com/agentx/rakuten-product-scraper`

#### Ⓜ️ [Make.com Setup:](https://www.make.com/en/register?pc=marketingme)

Use the Apify module, select `agentx/rakuten-product-scraper`, pass the JSON input, then map dataset items into your spreadsheet, pricing database, product feed, or alert workflow.

#### 🎱 [N8N.io Setup:](https://n8n.io/)

Use the Apify node or HTTP Request node to run the Actor, then fetch `defaultDatasetId` items for downstream automation.

#### Python Integration Example

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

## Prepare Actor input
run_input = {"keyword": "wireless mouse", "country": "Japan", "max_results": 100}

## Run the Actor and wait for completion
run = client.actor("agentx/rakuten-product-scraper").call(run_input=run_input)

## Fetch results from dataset
items = client.dataset(run["defaultDatasetId"]).list_items().items
for item in items:
    print(item.get("title"), item.get("price"), item.get("currency"))
```

#### JavaScript/Node.js Integration

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

const client = new ApifyClient({ token: "YOUR_APIFY_TOKEN" });
const run = await client.actor("agentx/rakuten-product-scraper").call({"keyword": "wireless mouse", "country": "Japan", "max_results": 100});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => console.log(item.title, item.price, item.currency));
```

#### JSON-LD Metadata

```json
{
  "@context": "https://schema.org",
  "@type": "SoftwareApplication",
  "name": "Rakuten Product Scraper",
  "applicationCategory": "BusinessApplication",
  "operatingSystem": "Cloud",
  "url": "https://apify.com/agentx/rakuten-product-scraper",
  "provider": {
    "@type": "Organization",
    "name": "AgentX",
    "url": "https://apify.com/agentx"
  },
  "offers": {
    "@type": "Offer",
    "price": 0.0051,
    "priceCurrency": "USD",
    "description": "Pay-per-result event pricing"
  }
}
```

***

### Pricing & Cost Calculator

#### Transparent Pay-Per-Use Model

Rakuten Product Scraper uses pay-per-event pricing. `apify-actor-start` is charged at $0.01 when the Actor starts. The dataset billing event is `result`: FREE tier $0.0051 per delivered product record, and GOLD/PLATINUM/DIAMOND $0.00459 per delivered product record.

#### Cost Examples

| Delivered product records | FREE-tier result cost | Notes |
| ------------------------- | --------------------- | ----- |
| 100 | $0.51 | Small validation run |
| 1,000 | $5.10 | Standard category or keyword run |
| 10,000 | $51.00 | Large export before account-tier discounts |

#### Pricing Scope

Pricing applies to delivered dataset records. The final result count can be lower than `max_results` when the source platform returns fewer public products, reaches a source-side boundary, or omits usable product rows.

***

### Use Cases & Applications

#### Ecommerce & Marketplace Intelligence

Track Rakuten Ichiba product prices, shop signals, images, availability text, product URLs, and marketplace rank for Japan ecommerce analysis.

#### Market Research & Business Intelligence

Compare Japanese marketplace assortment, shop-level offer visibility, JPY price bands, ranking changes, and repeated keyword behavior on Rakuten Ichiba.

#### AI & Machine Learning Applications

Feed Rakuten product rows into Japan marketplace dashboards, shop analysis, catalog matching, RAG systems, recommendation workflows, and AI shopping tools.

#### Pricing & Assortment Analytics

Schedule repeated Japan runs for the same keyword to monitor JPY price movement, shop visibility, stock text, promotion changes, and rank shifts.

#### Product Feed & Catalog Enrichment

Use Rakuten titles, images, URLs, seller/shop signals, JPY price fields, availability text, and query/rank metadata to enrich Japanese product catalogs.

***

### FAQ

#### What product platforms does Rakuten Product Scraper support?

Rakuten Product Scraper supports the Rakuten route for Japan, focused on Rakuten Ichiba-style merchant listings, shop context, product prices, and public search ranking.

#### How many products can Rakuten Product Scraper extract per selected platform?

`max_results` is the requested upper bound for Rakuten rows. The final count can be lower when Rakuten returns fewer public listings, changes pagination, or exposes fewer usable product cards.

#### Which countries are supported?

Supported countries are defined by the Actor input schema: Japan.

#### How fresh is the product data?

The Actor reads current public search/listing responses at run time. Marketplace ranking, availability, price, and seller signals can change between runs.

#### What data format does the scraper output?

The default Apify dataset can be exported as JSON, JSONL, CSV, Excel, XML, RSS, or consumed through the dataset API.

#### Can I integrate this with my existing tools?

Yes. Use the Apify Client SDK, REST API, Make, n8n, Zapier-style workflows, webhooks, or direct dataset exports.

#### Is the scraper compatible with AI frameworks?

Yes. The normalized JSON dataset is suitable for LangChain, CrewAI, AutoGPT, RAG pipelines, and custom shopping agents.

#### How do I handle limited source availability?

Use `query`, `source_url`, `platform`, `site`, `country`, `rank`, and `processed_at` to verify what the source returned for that run.

#### Why do some search results seem unrelated to my search terms?

Rakuten Ichiba search is merchant-driven and can mix shop listings, promotions, availability, and marketplace ranking signals. The Actor preserves the source ranking instead of rewriting it.

#### Why are some price fields empty?

Some source listings hide prices, require selection, show unavailable products, or expose price only on detail pages. Optional fields remain empty when the source does not expose them reliably.

#### What if no products are found?

Try a broader keyword, confirm the selected country is supported, and check whether the same query returns public results on the source marketplace.

#### Can I get seller or shop information?

Seller and shop fields are populated when Rakuten exposes them publicly. Some product cards may provide shop context, while others may expose only listing-level details.

#### How accurate is rating data?

Rating and review fields reflect the public values exposed by the source at run time. They should be treated as marketplace-provided signals.

#### How are platform-specific failures handled?

The Actor keeps source-specific failures isolated where possible. Use run logs, `source_url`, and dataset counts to diagnose source-side blocks or empty responses.

#### Why do different platforms show different product counts?

Rakuten product counts depend on keyword breadth, shop availability, public pagination, promotion mix, and source-side result limits. The Actor preserves those differences for realistic Japan marketplace data.

***

### SEO Keywords & Search Terms

#### Primary Keywords

`Rakuten Product Scraper`, `Rakuten scraper`, `Rakuten Ichiba product data API`, `Japan marketplace scraper`

#### Long-Tail Keywords

`scrape Rakuten Ichiba products`, `Rakuten Japan price dataset`, `Rakuten shop product data`, `Rakuten Product Scraper Apify API`

#### Industry Terms

`Japan marketplace intelligence`, `Rakuten shop analysis`, `JPY price monitoring`, `product feed enrichment`, `catalog analytics`

#### Location-Based Keywords

`Rakuten Japan product data`, `Rakuten Ichiba scraper`, `Japan ecommerce marketplace data`, `Rakuten price tracking`

#### Use Case Keywords

`Rakuten shop monitoring`, `Japan competitor price tracking`, `marketplace assortment analytics`, `product catalog enrichment`, `AI shopping data`

***

### Trust & Certifications

Rakuten Product Scraper is maintained by AgentX and runs on Apify infrastructure. The output keeps source URLs, query values, platform names, country, rank, and processing timestamps so users can audit the relationship between input and dataset rows.

***

### Legal & Compliance

#### Data Rights & Usage

Use exported product data according to applicable laws, marketplace terms, and your own compliance requirements. The Actor returns public product/search information and does not grant resale or intellectual-property rights.

#### Privacy Compliance

The Actor is built for product and listing data, not private account data, checkout data, or personal shopper profiles.

#### Platform Terms of Service

Rakuten Product Scraper respects source-platform public responses. Platform ranking, availability, pricing, and result limits can change independently of the Actor.

#### Enterprise Support

For high-volume usage, dedicated workflows, or compliance review, contact AgentX through the Apify Actor page or publisher profile.

***

### Related Tools

#### Shopping & Ecommerce

- [All Shopping Scraper](https://apify.com/agentx/all-shopping-scraper)
- [AliExpress Product Scraper](https://apify.com/agentx/aliexpress-product-scraper)
- [Bol Product Scraper](https://apify.com/agentx/bol-product-scraper)
- [Hepsiburada Product Scraper](https://apify.com/agentx/hepsiburada-product-scraper)
- [Kakaku Product Scraper](https://apify.com/agentx/kakaku-product-scraper)
- [Rakuten Product Scraper](https://apify.com/agentx/rakuten-product-scraper)

***

### Support & Community

- Actor page: <https://apify.com/agentx/rakuten-product-scraper>
- Publisher page: <https://apify.com/agentx>
- Use Apify run logs and dataset previews to verify `query`, `country`, `source_url`, and `rank` when diagnosing result differences.

*Last updated: 2026-06-29. Maintained by AgentX.*

# Actor input Schema

## `keyword` (type: `string`):

Product, brand, category, or search phrase to extract Rakuten product data

## `country` (type: `string`):

Rakuten country/site setting. This actor currently supports Japan.

## `max_results` (type: `integer`):

Maximum number of Rakuten product records to return

## Actor input object example

```json
{
  "keyword": "wireless mouse",
  "country": "Japan",
  "max_results": 10
}
```

# Actor output Schema

## `results` (type: `string`):

Product records returned by this actor with normalized fields and source URLs.

# 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 = {
    "keyword": "wireless mouse",
    "country": "Japan",
    "max_results": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("agentx/rakuten-product-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 = {
    "keyword": "wireless mouse",
    "country": "Japan",
    "max_results": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("agentx/rakuten-product-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 '{
  "keyword": "wireless mouse",
  "country": "Japan",
  "max_results": 10
}' |
apify call agentx/rakuten-product-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Rakuten Product Scraper",
        "description": "Search Rakuten Ichiba, Japan's merchant-driven online shopping mall, by keyword. Built for marketplace assortment and shop-level product research with normalized titles, JPY prices, images, seller signals, availability, URLs, query, and rank.",
        "version": "1.0",
        "x-build-id": "H9VvZ1Ms5Hcsvywpv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/agentx~rakuten-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-agentx-rakuten-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/agentx~rakuten-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-agentx-rakuten-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/agentx~rakuten-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-agentx-rakuten-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "keyword",
                    "country",
                    "max_results"
                ],
                "properties": {
                    "keyword": {
                        "title": "🔍 Keyword",
                        "type": "string",
                        "description": "Product, brand, category, or search phrase to extract Rakuten product data"
                    },
                    "country": {
                        "title": "🌍 Country",
                        "enum": [
                            "Japan"
                        ],
                        "type": "string",
                        "description": "Rakuten country/site setting. This actor currently supports Japan."
                    },
                    "max_results": {
                        "title": "📊 Max Results",
                        "minimum": 10,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of Rakuten product records to return"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
