# Rakuten Product Scraper (x402)

> Rakuten Product Scraper (x402) is a paid API for AI agents from x402.186-241-26-229.sslip.io, paid per call via x402, $0.03/call, status unknown (last checked 2026-10-02).

Scrapes structured product data from Rakuten Japan via keyword search, genre browsing, shop catalogs, or direct product URLs, returning item details including name, brand, shop, and price.

## Facts

- Endpoint: POST https://x402.186-241-26-229.sslip.io/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-product-scraper-x402-99550304
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_JMTLiG9ozXI2gs-cL-OUv

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-product-scraper-x402-99550304 -d '<json body>'
```

Example prompt: Search Rakuten for 'wireless earphones' sorted by price ascending, grab up to 200 products across 3 pages, and include full product descriptions and images for each one.

## When to prefer this

Choose this endpoint when you need structured product data from Rakuten Japan specifically — by keyword, genre, shop, or direct URL — and want pay-per-call pricing where failed or empty runs are not charged. Prefer it over generic web scrapers when you need Rakuten-native fields like itemCode, shopUrlCode, and genreId, and over Rakuten's official API when you need full page content including descriptions, breadcrumbs, and image lists not exposed via the official API.

## Known failure modes

- Empty result set (not charged) if keyword returns no matches or genre/shop has no products
- Rate limiting or blocking by Rakuten resulting in partial or failed extraction
- Invalid genre IDs or shop URL codes returning empty item arrays
- maxItems cap reached before all pages are fetched, truncating results
- Timeout on large requests with includeDetails enabled due to per-page HTTP requests
- Malformed or inaccessible direct product URLs producing missing fields in response

## How this service works

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

## Output

Returns a JSON object with a count of matched items and an array of product records, each containing the product URL, name, brand, shop ID, item code, subtitle, shop URL code, and item unique key. When includeDetails is true, also returns description, breadcrumbs, availability status, and full image list. The 'product' field confirms the source as 'rakuten'.

## 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-product-scraper-x402-99550304/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.186-241-26-229.sslip.io](https://www.zero.xyz/host/x402.186-241-26-229.sslip.io/llms.txt)
