Japan Hotel Rates - Rakuten Travel, Jalan, Ikyu, Yahoo
Pricing
from $18.00 / 1,000 japan hotel rates requests
Japan Hotel Rates - Rakuten Travel, Jalan, Ikyu, Yahoo
Scrape Japanese hotel prices from Rakuten Travel, Jalan, Ikyu and Yahoo! Travel: every room type and rate plan for a stay, with tax-inclusive JPY totals, meals, cancellation terms and member prices. Find hotel numbers by name. Batch many hotels. Made by ScraperCompany.
Pricing
from $18.00 / 1,000 japan hotel rates requests
Rating
0.0
(0)
Developer
ScraperCompany
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Security
Limited permissionsShare
Japan Hotel Rates by ScraperCompany prices hotels on the four big Japanese booking sites: Rakuten Travel, Jalan, Ikyu and Yahoo! Travel. For each hotel and stay you get every room type and rate plan, with the tax-inclusive JPY total, meal plan, cancellation terms, member and points prices where the site shows them, and the cheapest price per night. Don't know the hotel number? The find hotel numbers tasks match a hotel name (Japanese or English) to the site's number. Pricing is pay-per-event: $0.018 per hotel priced and $0.003 per name lookup; failed and empty requests are free.
Nothing to set up: no code, no login and no keys. Start a run, then export JSON, CSV or Excel, or pull the results through the Apify API. You pay only for results; failed and empty requests are free.
What can this Japan hotel scraper do?
- Four Japanese sites in one Actor: Rakuten Travel, Jalan, Ikyu and Yahoo! Travel.
- Every room type and rate plan for a stay: name, meals, cancellation terms, availability and price.
- Tax-inclusive JPY totals as the site shows them, with the cheapest price per night and sold-out status.
- Name lookup: hotel numbers from a Japanese or English hotel name, with a confidence score.
- Exact or relative check-in dates (
30 days), so saved tasks never go stale. Batch many hotels per run.
Modes
| Mode | What it returns | Price per request |
|---|---|---|
rakuten | Every room type and rate plan on Rakuten Travel for one stay, with tax-inclusive totals in JPY | $0.018 |
jalan | Every room type and rate plan on Jalan for one stay, with tax-inclusive totals in JPY | $0.018 |
ikyu | Every room type and rate plan on Ikyu for one stay, with tax-inclusive totals in JPY | $0.018 |
yahoo_travel | Every room type and rate plan on Yahoo! Travel for one stay, with tax-inclusive totals in JPY | $0.018 |
rakuten_find | Rakuten Travel hotel numbers for a hotel name (Japanese or English), best match first | $0.003 |
jalan_find | Jalan hotel numbers for a hotel name (Japanese or English), best match first | $0.003 |
ikyu_find | Ikyu hotel numbers for a hotel name (Japanese or English), best match first | $0.003 |
yahoo_travel_find | Yahoo! Travel hotel numbers for a hotel name (Japanese or English), best match first | $0.003 |
What makes it different?
| Japan Hotel Rates | Many alternatives | |
|---|---|---|
| Setup | Nothing to configure: no login, no keys | Often your own accounts, cookies or network setup |
| You pay for | Successful results; failed and empty requests are free | Often run time, or every attempt |
| When a site pushes back | Retried and handled for you | Often an empty or failed run |
Who uses Japan hotel data?
- Hotels in Japan: Check your own and competitors' prices on the four big domestic booking sites, not only the global OTAs.
- Revenue managers and rate shoppers: Add Rakuten Travel and Jalan to a rate-parity or comp-set feed.
- Travel apps and analysts: Build datasets of Japanese room types, meal plans and prices by date.
What Japan hotel data can you extract?
| Field | Description |
|---|---|
property.name / property_id | Hotel name and the site's hotel number |
property.price_per_night / total_tax_included / currency | Cheapest price per night and stay total (JPY, tax included) |
property.sold_out / availability | Whether the stay can be booked |
property.rooms[].name / category / size_capacity | Room type, category and size or capacity |
property.rooms[].rate_plans[] | Each plan: name, meals, cancellation terms, price, member price |
meta.total_rate_plans / notes | How many plans were read and what the totals include |
matches[] (find hotel numbers) | Candidate hotels with hotel_no, name, area, URL and match score |
Every dataset item also carries input (the options used for that request), request_id (quote it to support), billed and scraped_at.
How to scrape Japanese hotel prices
- Open Japan Hotel Rates in Apify Console and go to the Input tab.
- Pick a site and task. To price stays, enter hotel numbers (one per line), a check-in date, nights and adults. To look up hotel numbers, pick a find hotel numbers task and enter hotel names instead.
- Adjust the options if needed. Dates accept an exact date (
2026-12-01) or a relative one (30 daysfrom today), so saved tasks and schedules never go stale. - Click Start and wait for the run to finish.
- Download the results from the Output tab as JSON, CSV, Excel or HTML, or fetch them with the Apify API.
Input
| Input | Name | What it does |
|---|---|---|
mode | Site and task | Which site to read and whether to price stays or look up hotel numbers by name. |
hotels | Hotels | One hotel per line.....net/yad389255/, Ikyu and Yahoo!.com/00000065/). |
check_in | Check-in | Exact (2026-12-01) or relative (30 days from today). |
nights | Nights | Length of stay (1-14). |
adults | Adults | Guests in the room (1-9). |
city | City | .g. 東京 or Kyoto). |
limit | Matches per name | How many candidate hotels to return for each name (1-10). |
Input example
This is the default input; running the Actor without changes uses it.
{"mode": "rakuten","hotels": ["74637"],"check_in": "30 days","nights": 1,"includeErrors": true,"maxConcurrency": 3,"maxRetries": 2}
Output example
One dataset item per request (trimmed here; real items contain all the fields):
{"mode": "rakuten","input": {"hotel_no": "74637","check_in": "2026-12-01","nights": 1,"adults": 2},"meta": {"adults": 2,"comparable_across_markets": false,"nights": 2,"notes": "JPY only. Totals include consumption tax; local accommodation and bathing taxes are paid at the hotel and are never included.","source": "rakuten","total_rate_plans": 52},"property": {"availability": "available","availability_reason": null,"currency": "JPY","is_soldout": false,"min_length_of_stay": null,"name": "アパホテル&リゾート〈東京ベイ潮見〉","price_per_night": 24750,"property_id": "74637","provenance": {"observed_at": "2026-08-07T01:23:45.678Z","price_basis": "consumption_tax_included","requested_currency": "JPY","requested_market": null,"returned_currency": "JPY","schema_version": 1,"source": "rakuten","source_kind": "ota_rate_plan","source_property_id": "74637"},"rooms": [{"available": true,"category": "セミダブル","cheapest_price": 24750,"name": "□ 禁煙室 □ セミダブル","rate_plans": [{"cancellation": "キャンセル料 無料 前日 (2026年11月18日) 23:59まで","currency": "JPY","meal": "朝食なし 夕食なし","meal_plan": "room_only","member_price": null,"name": "【素泊まり・事前決済限定】1秒チェックインにおすすめ!","payment": "予約時オンラインカード決済","plan_id": "5187093","points": 450,"price": 24750,"rate_category": "unknown","rate_category_source": null,"rate_code": "5187093","rate_code_scope": "property","refundable": true,"remaining": null,"room_code": "w1k","total_before_tax": 45000,"total_tax_included": 49500}],"room_code": "w1k","size_capacity": "11m²/1人〜2人"}],"sold_out": false,"total_tax_included": 49500},"search_parameters": {"adults": 2,"check_in_date": "2026-11-19","check_out_date": "2026-11-21","hotel_no": "74637"},"request_id": "req_3f9c0d6e2b8a4c1f9e7d5b3a1c0e8f6d","billed": true,"scraped_at": "2026-10-01T14:03:27.512Z"}
A request that fails is saved with an error message instead (turn off Include failed requests to skip those). Failed requests are never charged.
How much does it cost to scrape Japanese hotel prices?
This Actor uses pay-per-event pricing: you pay for successful requests, not for compute time.
| Event | Charged when | Price | Per 1,000 |
|---|---|---|---|
rates-request | One hotel on one site priced for one stay: every room type and rate plan. Sold-out stays count; empty answers are free. | $0.018 | $18.00 |
hotel-lookup | One hotel name searched on one site for its hotel numbers. No match is free. | $0.003 | $3.00 |
What a real run costs:
- 100 requests: $1.80
- 1,000 requests: $18.00
- 10,000 requests: $180.00
Apify's $5 of free monthly usage covers about 277 rates-request events.
- Failed requests (errors, invalid input, a site refusing after retries) are free.
- Requests where the source returns nothing at all (no results, nothing priced) are saved but not charged.
- Set Maximum cost per run when you start a run and the Actor stops cleanly before going over it.
Run it on a schedule
Use Apify Schedules to repeat a run hourly, daily or weekly and compare results over time, and webhooks or the Integrations tab to push new results to Make, Zapier, n8n, Google Sheets, Slack or your own warehouse.
Use it with AI agents
Results are structured JSON, so they are easy to feed to a model. AI agents such as Claude can run this Actor and read its results through the Apify MCP server.
FAQ
Do I need an account on the site, or an API key?
No. The Actor is ready to run as is, and you only pay the per-event prices above.
Which sites does it cover?
Rakuten Travel (travel.rakuten.co.jp), Jalan (jalan.net), Ikyu (ikyu.com) and Yahoo! Travel (travel.yahoo.co.jp). Pick one per run, or mix them with custom requests.
Are the prices in yen and do they include tax?
Yes: totals are JPY and include consumption tax (and service charge on Jalan) as the site shows them. Local accommodation and bathing taxes are paid at the hotel and are not included. Ikyu and Yahoo! Travel totals apply the booking's own points the way the site does; the plan also carries the total without them.
How do I find a hotel number?
It is in the hotel's page URL on each site, or run a find hotel numbers task with the hotel name. Ikyu and Yahoo! Travel share hotel numbers.
What if the hotel is full?
A sold-out stay comes back with sold_out: true and is charged like any priced stay; an empty answer is free.
Is it legal to scrape Japanese hotel prices?
The Actor collects publicly available information that anyone can see without logging in. You are responsible for how you use the results: respect the source site's terms, copyright and privacy law (such as GDPR) and do not collect personal data without a lawful basis. If in doubt, ask a lawyer.
What happens when a request is blocked or rate-limited?
Temporary errors are retried automatically. If a request still fails it is saved with the error message and not charged, and the rest of the batch keeps going. A run only fails when every request failed.
Why did a request return an error?
Read the error field: it says what was wrong with the input, for example a malformed date or an unknown id. Fix it and run again; failed requests cost nothing.
How many requests can I run at once?
Any number per run. The Actor sends up to 3 requests in parallel by default (change it under Run options); larger batches simply take longer.
Use it from your code
Call the Actor from any language through the Apify API. With the JavaScript client (npm install apify-client):
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('scrapercompany/japan-hotel-rates-scraper').call({"mode": "rakuten","hotels": ["74637"],"check_in": "30 days"});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
With Python (pip install apify-client):
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("scrapercompany/japan-hotel-rates-scraper").call(run_input={"mode": "rakuten","hotels": ["74637"],"check_in": "30 days",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
Related scrapers
- Hotel Rates API: Booking.com, Expedia, Agoda and Google Hotels prices for the same hotels
- Trivago Hotel Deals Scraper: every booking site's deal for one stay
Support
Questions, a field you need, or a site that stopped working? Open an issue on the Issues tab. Include the request_id from the dataset item so we can trace the request.