Jalan Japanese Hotel & Ryokan Availability avatar

Jalan Japanese Hotel & Ryokan Availability

Pricing

from $0.14 / 1,000 hotel scrapeds

Go to Apify Store
Jalan Japanese Hotel & Ryokan Availability

Jalan Japanese Hotel & Ryokan Availability

Live prices and availability from Jalan (jalan.net), Japan largest domestic accommodation site.

Pricing

from $0.14 / 1,000 hotel scrapeds

Rating

0.0

(0)

Developer

Superslow Sloth

Superslow Sloth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Live prices from Jalan, Recruit's domestic accommodation site and the largest hotel and ryokan inventory in Japan. Ask one question - where, which night, how many people - and get back a small flat list of facilities with the cheapest bookable price for that stay, the plan behind it, the guest rating and the review count.

Built to be an agent's tool rather than a crawler: two requests for a typical run, a flat JSON record per hotel, and a default budget of twenty rows.

Prices are real quotes for the dates you asked for

This is the part worth reading before you compare this actor with another one.

Jalan has an obvious keyword search that returns thirty hotels with prices on them. Its prices do not change with the date. Measured on 2026-08-24, the same Shinjuku query for 15 September, 19 September and 31 December returned byte-identical prices for all thirty facilities - New Year's Eve at the same rate as a Tuesday. Jalan labels that column 目安, "a guide", and means it.

This actor does not use that endpoint. It resolves your destination through Jalan's own suggest service and then reads the area availability listing, which reprices properly: the same Hakone ryokan quoted ¥26,400 for a September midweek and ¥41,800 for New Year's Eve. A live test in the repo fails the build if that ever stops being true, because a stale price is worse than no price.

Input

FieldNotes
destinationFree text. Japanese works best - 箱根, 新宿駅, 沖縄, or a facility name. Romaji such as hakone resolves to the same region.
checkInYYYY-MM-DD. Must be today or later and within a year. Only ISO is accepted, deliberately: an ambiguous date would be searched as the wrong night without telling you.
nightsDefault 1, up to 30.
adultsDefault 2. Changes the quoted prices, so it is not cosmetic.
roomsDefault 1.
maxItemsDefault 20. Also the cap on how many hotel-scraped events you can be charged.
includeUnpricedDefault off - see below.

destination is resolved to the tightest bookable area that matches, so 箱根 searches Hakone rather than the whole of Kanagawa. Where it landed is reported on every row (resolved_area) and in the run log, so a surprising result set is always explainable.

Children are not supported. Jalan prices them by age band, and picking a band for you would invent a price.

Output

One flat record per hotel.

FieldNotes
hotel_idJalan's facility number, the NNNNNN in /yadNNNNNN/.
url, plan_urlThe facility page and its plan list.
nameAs Jalan prints it, e.g. 箱根湯本温泉 ホテル南風荘.
area, prefectureJalan's own breadcrumb, e.g. 神奈川県 > 箱根.
ratingGuest review average out of 5. null when the facility has no reviews.
review_countReviews behind that average. null, never 0, when there are none.
lowest_total_price_jpyCheapest bookable total for the whole party and the whole stay, tax included.
lowest_price_per_person_jpyThe same quote per person, as Jalan prints it.
price_basisJalan's own words for what the two figures assume, e.g. 1泊 大人2名 合計(税込). Read this before comparing rows.
plan_nameThe cheapest plan listed under the facility.
plan_per_person_jpy, plan_total_jpyThat plan's prices. Not always equal to lowest_total_price_jpy, which is the facility-wide minimum.
plan_labelsRoom type and meal plan as printed, e.g. ["和洋室", "朝・夕"].
plan_rooms_leftRooms Jalan says remain on that plan. null when it does not say.
description, catch_phraseThe facility's paragraph and its promotional line.
accessDirections as printed.
thumbnail_urlFirst listing photo.
query, resolved_area, area_urlWhat you asked for, where it resolved, and the exact page the row came from.
check_in, check_out, nights, adults, roomsEcho of the stay, so a dataset merged across several runs stays readable.

Japanese is returned exactly as Jalan prints it

Nothing is translated, transliterated or romanised. 箱根湯本温泉 ホテル南風荘 comes back as 箱根湯本温泉 ホテル南風荘. The romanisation would be ours, not Jalan's, and it would be wrong often enough to matter.

Fields Jalan does not give, and are therefore not here

  • No street address. The availability listing prints directions (access) but not a postal address. It is not nulled into every row; it simply is not a field. The facility page has one, and fetching one extra page per hotel would multiply the cost of every run.
  • No room-level inventory, no cancellation policy, no photos beyond the first.
  • No English name. Jalan does not publish one for most facilities.
  • Anything Jalan omits for a particular hotel is null, never 0 or "". A zero rating would read as a measured score of zero, which is a different claim from "not rated yet".

Sold-out facilities

Off by default. A facility Jalan lists with no price has nothing bookable on your dates, so it is dropped rather than delivered with a null price - you are not charged for a row whose answer is empty. Set includeUnpriced to true to get the full listing; those rows are then charged like any other.

Jalan puts sponsored [PR] cassettes above its organic results. They are never emitted and never charged for. You get the ranking Jalan's own sort produced.

Limits worth knowing

  • 30 facilities per page. Asking for more than 30 fetches more pages, which is slower and costs more. Past the end of an area Jalan re-serves the last page rather than returning nothing, so the actor de-duplicates by facility id and stops - you are never charged twice for the same hotel.
  • A year ahead at most. Past Jalan's booking window the listing degrades to undated guide prices, so the actor refuses the date instead of quoting one.
  • Japan only. Jalan is domestic inventory.

Pricing

Pay per event: a small charge to start the run, then one hotel-scraped event per hotel actually delivered. A run that finds nothing bookable costs only the start fee.