Rakuten Search API Documentation Search Rakuten Ichiba, the largest online marketplace in Japan. Search by keyword, by genre, or both. Filter by price in JPY, minimum review score and availability, and sort by price, newest, review count or review score. Every item has the price as a number with currency JPY, the shop, review score and count, shipping fee, points, genre ids and an image. Each item carries an id, a shop_code and a manage_number that the item and reviews endpoints accept unchanged. Every returned item matches your price and rating filters. Sponsored rows are not returned. Rakuten lists up to 150 pages per search: a page beyond the end answers 422 and is never page 1 in disguise. The response also has the genre path, the sub genres with counts and related keywords. Images are resized to 800 pixels. Use the item endpoint for the full size photos. Cost: 1 credit per request. Empty results and failed requests are not billed.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
This endpoint has no required query parameters.
8 optional filters available.
string
Optional
Search keyword in Japanese or English, e.g. マスク. Send a query, a genre_id, or both.
coffee shops
integer
Optional
Rakuten genre id, e.g. 568357. Take the ids from subgenres in a search result or from genre_ids of an item.
1234567890
integer
Optional
Lowest price in JPY. Every returned item costs at least this much.
10
integer
Optional
Highest price in JPY. Every returned item costs at most this much.
10
number
Optional
Lowest review score: 3, 3.5, 4, 4.5 or 5. Items without reviews are left out.
10
string
Optional
Sort order: relevance (default), price_asc, price_desc, newest, review_count, review_score, price_shipping_asc or price_shipping_desc.
relevance
integer
Optional
Page number from 1. Rakuten shows up to 150 pages (45 items each) per search. A page beyond the end answers 422.
1
boolean
Optional
Set to true to include sold out items. They are hidden by default. Each item has is_sold_out.
true
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"items": [
{
"id": "386567_10000118",
"url": "https://item.rakuten.co.jp/cicibella-sports/msk50-5/",
"name": "\u9ad8\u8a55\u4fa1\uff3c\u5e74\u9593\u30e9\u30f3\u30ad\u30f3\u30b01\u4f4d\u53d7\u8cde\uff0f \u30de\u30b9\u30af \u30d0\u30a4\u30ab\u30e9\u30fc\u30de\u30b9\u30af \u4e0d\u7e54\u5e03\u30de\u30b9\u30af \u5927\u5bb9\u91cf51\u679a \u7acb\u4f53\u30de\u30b9\u30af 20\u679a 3D\u30de\u30b9\u30af ",
"rank": 2,
"shop": {
"id": 386567,
"url": "https://www.rakuten.co.jp/cicibella-sports/",
"code": "cicibella-sports",
"name": "cicibella sports"
},
"tags": [
{
"name": "\u30d9\u30fc\u30b8\u30e5",
"group": "\u30ab\u30e9\u30fc"
},
{
"name": "\u30d4\u30f3\u30af",
"group": "\u30ab\u30e9\u30fc"
}
],
"image": "https://thumbnail.image.rakuten.co.jp/@0_mall/cicibella-sports/cabinet/08713654/msk50-5-nl.jpg?_ex=800x800",
"price": 398,
"images": [
"https://thumbnail.image.rakuten.co.jp/@0_mall/cicibella-sports/cabinet/08713654/msk50-5-nl.jpg?_ex=800x800"
],
"points": {
"count": 6,
"base_multiplier": 1,
"item_multiplier": null,
"shop_multiplier": 2,
"campaign_multiplier": 1
},
"rating": {
"count": 168198,
"score": 4.51
},
"item_id": 10000118,
"shop_id": 386567,
"currency": "JPY",
"genre_id": 402788,
"shipping": {
"fee": 0,
"free": true,
"delivery_estimate": "12\u6642\u307e\u3067\u306e\u6ce8\u6587\u3067\u5f53\u65e5\u51fa\u8377"
},
"subtitle": "\u3010PFE / BFE / VFE 99%\u906e\u65ad\u3011\u3010\u30e1\u30ac\u30cd\u304c\u66c7\u308a\u306b\u304f\u3044\u3011\u3010\u8033\u304c\u75db\u304f\u306a\u3089\u306a\u3044\u3011 \u723d\u5feb\u9069 \u4e0d",
"genre_ids": [
551169,
208264,
568357,
402788
],
"shop_code": "cicibella-sports",
"is_sold_out": false,
"manage_number": "msk50-5",
"price_is_from": false,
"rank_genre_id": 568357
}
],
"filters": {
"sort": "review_count",
"query": "\u30de\u30b9\u30af"
},
"currency": "JPY",
"subgenres": [
{
"id": 551169,
"name": "\u533b\u85ac\u54c1\u30fb\u30b3\u30f3\u30bf\u30af\u30c8\u30fb\u4ecb\u8b77",
"count": 222708
},
{
"id": 100938,
"name": "\u30c0\u30a4\u30a8\u30c3\u30c8\u30fb\u5065\u5eb7",
"count": 22343
}
],
"genre_path": [],
"pagination": {
"page": 1,
"has_next": true,
"max_page": 150,
"page_size": 45,
"total_results": 1517471
},
"related_keywords": [
"\u30de\u30b9\u30af \u4e0d\u7e54\u5e03"
]
},
"meta": {
"credits": 1,
"billable": true,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A query parameter is missing or invalid. This response is not billable.
{
"errors": {
"query": [
"Send a query or a genre_id."
]
},
"message": "The request validation failed"
}Invalid Request
The page is beyond the last page Rakuten shows, or the genre_id is unknown. This response is not billable.
{
"meta": {
"billable": false,
"retryable": false,
"endpoint_family": "search"
},
"error": {
"code": "INVALID_REQUEST",
"message": "Rakuten shows no page 151 of this search. Send a lower page."
},
"success": false
}Upstream Unavailable
Rakuten did not answer after the internal retries. This response is not billable. Retry after a few seconds.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "Rakuten is temporarily unavailable. Please retry. This request was not charged."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.