curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/rakuten-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/rakuten-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/rakuten-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Scrape Rakuten Ichiba (Japan) product search
Searches Rakuten Ichiba (rakuten.co.jp) for query and returns products, each with position, itemId, itemCode, shopId / shopCode / shopName, title, subtitle, url, price (yen, tax included; priceMax when variants are priced differently), points (Rakuten points a signed-out shopper earns) and pointMultiplier, rating, reviewCount, shippingFee / freeShipping, deliveryEstimate, nextDayDelivery, unitPrice / unitPriceText / packCount, subscriptionPrice, saleEnds, ranking (daily genre rank), soldOut, used, preOrder, superDeal, hasVariants, genreId / genres, tags and image / images. Rakuten’s sponsored results come back in sponsored (same fields). Also totalResults, reachableResults (how far Rakuten lets the search be paged), relatedKeywords and nextPage. Sort with sort, filter with min_price / max_price / genre_id, start at page and collect up to max_results across pages (45 per page, each page billed as one request, see pagesFetched). url takes a Rakuten search link instead of query.
curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/rakuten-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/rakuten-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/rakuten-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your ScrapeUnblocker API key. Apply on every request.
Query Parameters
What to search, in Japanese or English, e.g. 'iphone', 'コーヒー' or 'ナイキ スニーカー'.
Order: relevance, price_low, price_high, newest, review_count, review_score.
1-based results page to start from (1-150; Rakuten lets a search be paged through to 6750 items).
Lowest price, in yen.
Highest price, in yen.
Limit to one Rakuten genre (category) id, e.g. '100227' (food) - every result's genreId is one.
Items to collect across pages (1-450); Rakuten serves 45 per page and each page read is billed as one request.
Instead of query: a Rakuten search link, e.g. https://search.rakuten.co.jp/search/mall/coffee/?s=2 (its keyword, genre, sort, page and price filter are used).
Response
JSON with a products array plus paging totals.

