# Rakuten Japan Product Scraper

> Rakuten Japan Product Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-02).

Scrapes structured product data from Rakuten Japan (rakuten.co.jp) via search queries, genre browsing, shop catalogs, or direct product URLs

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/rakuten?utm_source=zero.xyz
- Price: $0.03/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rakuten-japan-product-scraper-44fc079f
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_umgYdvqf2MjgP_tjUnpZ0

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability rakuten-japan-product-scraper-44fc079f -d '<json body>'
```

Example prompt: Search Rakuten Japan for 'wireless earbuds', sorted by price ascending, scrape up to 200 products across 3 pages, and include full product details like descriptions and images.

## When to prefer this

Use this endpoint when you need structured product data from Rakuten Japan specifically — including search results, genre-level catalogs, shop inventories, or individual product detail pages. It is ideal for price monitoring, competitive research, product catalog aggregation, or feeding downstream analysis pipelines focused on Japanese e-commerce. Prefer it over generic web scrapers when you need Rakuten-native fields like itemCode, shopUrlCode, and genreId already parsed and structured.

## Known failure modes

- Empty result set if keyword returns no matches on Rakuten Japan (not charged)
- Invalid genre ID returns no items
- Shop URL code not found returns empty items array
- Rate or page limits exceeded — pagesPerGenre or pagesPerShop capped at 150
- maxItems cap reached before all sources are exhausted, truncating results
- Network timeout on large includeDetails runs with many product pages

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object with a count of matched products and an array of item records, each containing fields such as product URL, name, brand, shop ID, item code, subtitle, shop URL code, and item unique key. With includeDetails enabled, records also include description, breadcrumbs, availability status, and a full image list.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "pdpUrls": {
   "type": "array",
   "default": [],
   "description": "Direct product URLs on item.rakuten.co.jp; each produces one detail record."
  },
  "genreIds": {
   "type": "array",
   "default": [],
   "description": "Six-digit genre IDs to browse without a keyword, such as 560202 for smartphones."
  },
  "maxItems": {
   "type": "integer",
   "default": 1000,
   "minimum": 1,
   "description": "Global product cap across all searches, genres, shops, and direct URLs."
  },
  "pagesPerShop": {
   "type": "integer",
   "default": 1,
   "maximum": 150,
   "minimum": 1,
   "description": "Maximum catalog pages for each shop, up to the public 150-page window."
  },
  "shopUrlCodes": {
   "type": "array",
   "default": [],
   "description": "Shop codes from public shop URLs, such as rakutenmobile-store."
  },
  "pagesPerGenre": {
   "type": "integer",
   "default": 1,
   "maximum": 150,
   "minimum": 1,
   "description": "Maximum pages for each genre, up to the public 150-page window."
  },
  "searchQueries": {
   "type": "array",
   "default": [],
   "description": "Search objects with keyword, optional genreId, sort (default, price-asc, price-desc, review), and pages (1-150)."
  },
  "includeDetails": {
   "type": "boolean",
   "default": false,
   "description": "Open each product page to add description, breadcrumbs, availability, and full image list. Increases requests and runtime."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "name": null,
    "brand": null,
    "shopId": null,
    "itemCode": null,
    "subtitle": null,
    "shopUrlCode": null,
    "itemUniqueKey": null
   }
  ],
  "product": "rakuten"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rakuten-japan-product-scraper-44fc079f/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
