Jalan.net Hotel Search Scraper (じゃらん)
Pricing
from $1.05 / 1,000 property-listeds
Jalan.net Hotel Search Scraper (じゃらん)
Scrape Jalan (じゃらん) hotel search results for any area and your dates. Just add area names in English or Japanese and get cheapest plan total and per-person price, rating, review count, inline plans with rooms left, meals and prepaid flags, with Jalan's own facility filters. $1.50 per 1,000 hotels.
Pricing
from $1.05 / 1,000 property-listeds
Rating
0.0
(0)
Developer
BonCross API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What is Jalan.net Hotel Search Scraper (じゃらん)?
Jalan.net (じゃらん) is one of Japan's largest domestic accommodation sites: business hotels, city hotels, ryokan and pensions across the country. Jalan.net Hotel Search Scraper gives you the properties Jalan lists for an area, priced for your dates and party, with the plans on each card and the hotel's address, coordinates and check-in times in the same row. Type Kyoto / Kyoto Station in English or Japanese and press Start.
Why it's worth your run:
- You can cover the country in seconds. 720 hotels across 12 areas (Shinjuku, Umeda, Sapporo, Naha, Hakone and more) took 6 seconds, all priced.
- Jalan does the narrowing. All 39 of its facility filters are here, with meal type and property type, and the site applies them before you pay for a row.
- A row is more than a price. You get up to 3 plans per hotel with the meal, points earned, prepaid flag and rooms left, plus coordinates and accepted card brands.
- A scheduled price watch returns only the hotels whose price moved. The unchanged ones aren't returned or charged.
- $1.50 per 1,000 hotels on the Free plan, $1.05 on Business, inline plans included. Proxy usage and platform usage are in that price.
BonCross Verified means we tested this actor against the live site before release and kept the record:
- 43 of 43 live checks on its inputs and filters passed on 7 October 2026
- 6 destinations run the same day, 3 prefectures and 3 areas: 90 hotels, none empty
- Charges matched the rows
What you can do with it:
- Get the cheapest total and per-person price Jalan quotes for your dates, adults and rooms
- Read the plans shown on each card, with meals, points, prepaid flags and rooms left
- Search by prefecture, area or sub-area name, a Jalan area code or a Jalan search URL
- Set a price band, a minimum rating and a minimum review count
- Keep only the hotels in an area whose name, description or plans mention a keyword
- Sort by Jalan's recommendation, price or area
- Flag sponsored cards, or leave them out
- Search with no dates and see each hotel's lowest catalogue price
People run it to watch nightly rates across an area, to compare their own rates with the Japanese domestic market for the same dates, and to build supply datasets by area, type and price band. It also suits shortlisting properties for a client by facilities, meals or rating, tracking seasonal pricing in Kyoto, Niseko or Hakone, and watching who buys sponsored placement in an area.
What hotel data do you get from Jalan?
| 🏨 Property name and Jalan number | 🔗 Property URL |
| 💴 Cheapest stay total, with a tax-included flag | Price per person |
| Plans on the card: title, room type and labels | 🍽️ Meal plan on each plan |
| Jalan points earned | Prepaid and online-card-only flags on each plan |
| Rooms left, as a number or the site's wording | ⭐ Guest rating out of 5 |
| Review count and highly rated aspects | 🗾 Prefecture and area |
| Catchphrase and description | 🚉 Access text |
| 📮 Postal address, postcode and city | 📍 Map coordinates (lat, lng) |
| 🕒 Check-in and check-out times | 💳 Card brands the hotel accepts |
| Kana reading of the name | Total number of plans the hotel sells |
| Labels and high-class flag | Sponsored flag |
| 🖼️ Property images | 📈 Previous price and price change |
| Property type (hotel, ryokan, pension, public lodging, villa) | Jalan's own property label (ホテル, 旅館, 民宿, ユースホステル, コンドミニアム…) |
How to scrape Jalan.net search results
You don't need to read Japanese to run it, and there's nothing to code.
- Sign up for Apify, which is free, and open Jalan.net Hotel Search Scraper.
- Add your destinations as
PrefectureorPrefecture / Area. Jalan area codes and pasted Jalan search URLs work too. - Set your dates, adults, children and rooms.
- Add filters or a sort if you want them, then click Start.
- Download the hotels as Excel or CSV, or as JSON, XML or HTML.
⬇️ Input
Give it one or more destinations. Each can be a prefecture on its own (Osaka), a Prefecture / Area pair (Tokyo / Shinjuku, 京都府 / 祇園・東山・北白川周辺), a Jalan area code or a Jalan search URL. A whole prefecture is expanded into its large areas for you. An area name needs its prefecture in front of it.
You have two limits. "Max hotels per destination" (default 100, up to 3,000) applies to each destination separately: ten destinations at 50 each returns 500. "Maximum results for the whole run" caps the total, and you aren't charged for anything past it.
Dates and guests. Set a check-in and check-out date (YYYY-MM-DD), or leave them empty and use "Check-in days ahead" (default 30) with "Nights" (1 to 9, default 1). "Adults per room" defaults to 2 and "Rooms" to 1. "Children ages" takes one age per child, 0 to 12. Jalan prices primary-school children and infants separately. Switch on "Date undecided" and you search with no dates at all: each hotel then shows its lowest catalogue price in place of dated availability.
Filters and sorting. Jalan applies the sort, the meal type, the facility filters (a hotel must have all the ones you pick) and the property types. "Min price per person" and "Max price per person" set a band in JPY per adult per night, and 0 means no limit. "Min rating", "Min review count", "High class only" (hotels Jalan labels ハイクラス) and "Exclude sponsored" drop hotels from your results at no charge.
Keyword. Keeps only the hotels whose own text contains each term you give: the name, description, access notes and the plans on the card.
What each row includes. "Include inline plans" is on by default and keeps the up to 3 plans shown on each result card, with plan title, room type, per-person and total price and rooms left. "Include hotel details" is on by default too. It adds map coordinates, check-in and check-out times, the kana name, accepted card brands and the total number of plans.
Search an area for fixed dates
{"destinations": ["Kyoto / Kyoto Station"],"checkIn": "2026-11-07","checkOut": "2026-11-08","adults": 2,"maxResultsPerDestination": 60}
A whole prefecture, cheapest first, with facilities
{"destinations": ["Osaka", "Hokkaido / Niseko"],"checkInDaysAhead": 30,"nights": 1,"sort": "price_low_to_high","facilities": ["nonSmoking", "onsen"],"maxResultsPerDestination": 150}
Rated ryokan with dinner, in a price band
{"destinations": ["Kyoto"],"checkInDaysAhead": 45,"nights": 1,"mealType": "both","minRating": 4,"minReviewCount": 20,"maxPricePerPerson": 30000,"excludeSponsored": true}
A daily price watch that returns only changes
{"destinations": ["Kyoto / Kyoto Station", "Tokyo / Shinjuku"],"checkInDaysAhead": 30,"nights": 1,"priceStoreName": "jalan-prices","onlyNewOrChanged": true}
For developers
maxResultsPerDestinationis the per-destination limit andmaxItemsthe run-wide one. Nothing pastmaxItemsis fetched or charged for. A row that reports a destination the actor couldn't resolve doesn't count toward it.- When your filters keep few or none of the hotels, reading a destination stops early: after a run of pages that kept nothing, when 20 or more pages have kept fewer than 0.15 a page, or at about three times the pages
maxResultsPerDestinationneeds. keywordmatches against the name, catchphrase, description, access notes, area, labels and inline plans of each hotel, and all terms must be present.checkInandcheckOutwin overcheckInDaysAheadandnightswhen both are given.minPricePerPersonandmaxPricePerPersonare checked on each row against the hotel's listed price per adult per night.priceStoreNamenames the storage that remembers each hotel's lowest total per stay. It fillspreviousPriceTotal,priceChange,priceChangePctandpreviousScrapedAton later runs. AddonlyNewOrChangedto skip the hotels that haven't moved.maxConcurrency(Parallel requests, default 16, 1 to 32) sets how many requests run at once. The default is the fastest level we measured clean, and a run that reports errors is the one reason to lower it.delayMs(default 0, up to 15000) adds a pause in milliseconds before each call. We'd leave it at 0.- If the platform restarts a run part-way, it carries on where it stopped. Hotels already delivered aren't delivered or charged a second time.
⬆️ Output
You get one record per property and stay. Open the Output tab to see it as a table or as JSON.
{"destination": "京都府 > 京都駅周辺","prefectureCode": "260000","areaCode": "260500","subAreaCode": null,"checkIn": "2026-11-05","checkOut": "2026-11-06","nights": 1,"adults": 2,"rooms": 1,"id": "343998","hotelId": 343998,"name": "京都センチュリーホテル","url": "https://www.jalan.net/yad343998/","area": "京都府 > 京都駅前","prefecture": "京都府","catchPhrase": "京都駅中央口から徒歩約2分!駅の喧騒を忘れさせる開放的な空間。","description": "京都の交通の中心である京都駅から徒歩2分。各所にスムーズに足を運ぶ事ができます。\n著名な観光地はもちろん、ちょっと\"通\"な京都まで、ホテルスタッフへお気軽にお尋ねください。","access": "JR京都駅中央口<ニデック京都タワー側>を出て右手方向にお進みください。京都駅ビルに沿って徒歩2分。","address": "京都府京都市下京区東洞院通七条下ル東塩小路町680番地","postcode": "600-8216","city": "京都市下京区","lat": 34.986065,"lng": 135.761775,"checkInFrom": "15:00","checkOutUntil": "12:00","nameKana": "きょうとせんちゅりーほてる","creditCards": ["American Express", "DC", "Diners Club", "JCB", "Mastercard", "NICOS", "UC", "UFJ", "VISA"],"totalPlans": 282,"labels": ["ハイクラス","フォトギャラリー"],"isHighClass": true,"isSponsored": false,"rating": 4.5,"ratingScale": 5,"reviewCount": 5912,"highlyRated": ["朝食","接客"],"images": ["https://cdn.jalan.jp/jalan/images/pictL/Y8/Y343998/Y343998Ba6.jpg","https://cdn.jalan.jp/jalan/images/pictM/Y8/Y343998/Y343998Be7.jpg"],"priceTotal": 51000,"pricePerPerson": 25500,"priceText": "1泊 大人2名 合計(税込)","currency": "JPY","pricesIncludeTax": true,"planCount": 3,"plans": [{"title": "【スタンダードプラン】京都駅中央口から徒歩約2分でアクセス便利 -食事なし-","planId": "01202441","roomTypeId": "0335221","roomType": "ツイン","labels": ["ふるさと納税対象","ポイント2%"],"pricePerPerson": 28000,"priceTotal": 56000,"currency": "JPY","pointsEarned": 1120,"isPrepaid": true,"isOnlineCardOnly": true,"roomsLeft": 2,"roomsLeftText": "あと2部屋","meal": "none","isBreakfastIncluded": false,"isDinnerIncluded": false,"url": "https://www.jalan.net/uw/uwp3200/uww3201init.do?adultNum=2&s…","pricesIncludeTax": true}],"previousPriceTotal": null,"priceChange": null,"priceChangePct": null,"previousScrapedAt": null,"scrapedAt": "2026-10-02T13:17:42.052Z"}
A few columns to know before you build on them:
- Prices are Jalan's totals with tax for the party you asked for.
pricesIncludeTaxrecords the basis Jalan states for each price, on the row and on each plan. It's true where the price is labelled tax-included, which was the case on each page measured, false if Jalan ever labels one tax-excluded, and empty where a row has no price. priceTextis Jalan's own label for the price.- A local accommodation tax or hot spring tax collected at the property isn't in Jalan's prices and has no amount on the site.
mealon a plan isnone,breakfast,dinnerorbreakfast+dinner, and the two include-flags follow it. Both are empty where Jalan says nothing about meals.subAreaCodefills when you paste a Jalan search link that names a sub-area. A destination given by name is searched at area level.
How many hotels can you get, and how fast?
| Run | Results | Time |
|---|---|---|
| Kyoto Station area, 1 night, 2 adults, 8 hotels | 8 hotels, all priced | 5 s |
| Kyoto prefecture and Osaka / Umeda, 1 night, 2 adults, 60 each | 120 hotels, all priced | 9 s |
| 12 areas across Japan (Shinjuku, Umeda, Namba, Sapporo, Naha, Hakone, Hakata and more), cheapest first, 60 each | 720 hotels, all priced | 6 s |
| 16 areas across Japan, cheapest first, 100 each | 1,600 hotels, all priced | 12 to 26 s |
Jalan returns 30 hotels per page and reports the area total, which was 241 for the Kyoto Station area on that date. Stays are limited to 9 nights, Jalan's own maximum.
On large runs you can expect 2,500 to 8,000 hotels a minute, depending on how busy Jalan is. That's well inside the default one-hour run limit. When Jalan answers that it's too busy, the page is asked for again and your area isn't cut short.
How much does it cost to scrape Jalan hotels?
| Event | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
actor-start, per run | $0.002 | $0.002 | $0.002 | $0.002 |
destination-resolved, per destination name resolved to Jalan codes | $0.002 | $0.002 | $0.002 | $0.002 |
property-listed, per hotel returned | $0.0015 | $0.00135 | $0.0012 | $0.00105 |
Enterprise plans pay the Business price.
$1.50 per 1,000 hotels on the Free plan, $1.05 on Business, inline plans included. That's the whole price: proxy usage and platform usage are part of it. Hotels your filters drop are free, and so are unchanged hotels in an only-changes run.
- One area, 100 hotels:
0.002 + 0.002 + 100 × 0.0015 = $0.154($0.109 on Business) - Five areas, 500 hotels:
0.002 + 5 × 0.002 + 500 × 0.0015 = $0.762($0.537 on Business)
Apify's Free plan comes with $5 of credits a month, which is about 32 searches of 100 hotels each. That's roughly 3,200 priced hotels before you pay anything.
Price watches, the API and AI agents
For a rolling price watch, put the actor on an Apify Schedule with "Check-in days ahead" and a price store name. Each run then compares against the last one, and a webhook or the Slack and Google Sheets integrations can pass on the hotels that moved. Zapier, Make, Airbyte and GitHub connect the same way.
From your own code, POST https://api.apify.com/v2/acts/boncross~jalan-search/run-sync-get-dataset-items with the input JSON returns the hotels in one call for small runs. Use the asynchronous run endpoint for larger ones. The apify-client packages on NPM and PyPI wrap both.
An agent in Claude, Cursor or ChatGPT can look up hotels in a Japanese area for given dates: add the Apify MCP server (mcp.apify.com) and the actor appears as a tool named boncross/jalan-search.
FAQ
Can I search in English?
You can type destinations in English or Japanese. The data itself is in Japanese, because Jalan publishes no English content: property names, plan titles and areas all arrive as the site writes them.
How do I write a destination?
As Prefecture, Prefecture / Area, a Jalan area code, or a Jalan search URL. A bare prefecture is expanded into its large areas. An area on its own, without its prefecture, isn't enough.
Do I need proxies or a Jalan account?
Neither. Proxy usage is included in the price and there's nothing to configure. No login is used.
Are the prices tax-inclusive?
Jalan quotes totals with tax for the party you request, and each priced row and plan says so in pricesIncludeTax. You also get the per-person figure. A local accommodation tax or hot spring tax collected at the property is not included.
Which facilities can I filter on?
All 39 of Jalan's own facility filters: non-smoking, onsen, open-air bath, a private bath for hire, suites and detached rooms, pets, parking, ski and snowboard rental and the rest. Jalan applies them, and a hotel must have all the ones you choose.
Can I search only ryokan, or only hotels?
Set "Property types" to any of hotel, ryokan, pension, publicLodging and villa, which is Jalan's own classification. Results then arrive type by type in the order you list them. Whether or not you filter, each result has its type in propertyType and Jalan's finer label (民宿 or ユースホステル within pensions, for example) in propertyTypeLabel.
How do I get only the hotels whose price changed?
Give "Price store name" a name, switch on "Only new or changed", and schedule the run. From the second run on you get, and pay for, only the properties whose price moved.
Can I get every plan for one hotel, or its reviews?
The plans in a search row are the up to three Jalan shows on the card. For the full list of plans and rooms for a hotel and date, use Jalan.net Room Rates Scraper. For クチコミ with six category scores, use Jalan.net Reviews Scraper.
What are the limits?
roomsLeftis a number only when Jalan gives one. Otherwise its wording is inroomsLeftText.- Sponsored cards are flagged, and removed only if you exclude them. A sponsored card's address is filled only when the same hotel is also listed on the page.
- Stays are limited to 9 nights, the site's maximum.
- The keyword filter looks at each hotel's own listing text. It isn't a site-wide search.
- Price bounds are per adult per night and are enforced on the results. A hotel with no listed price is dropped when you set a bound.
- A destination the actor can't resolve returns a row that says why.
Is it legal to scrape Jalan.net?
Scraping publicly available data is generally legal. This actor reads only what Jalan serves to any logged-out visitor. You're responsible for complying with Jalan's terms and applicable law in how you use the data.
More from BonCross
- Jalan.net Reviews Scraper (じゃらん クチコミ): Jalan (じゃらん クチコミ) hotel reviews, all or only new ones.
- Jalan.net Room Rates Scraper (じゃらん): Every plan and room Jalan (じゃらん) lists for a hotel on a date.
- Marriott Hotel Details Scraper: Everything a Marriott property publishes: address, coordinates, phones, brand, guest…
- Marriott Hotel Search Scraper: Every Marriott hotel for a destination and dates.
- Marriott Room Rates Scraper: Every room and rate plan Marriott sells for a hotel and your dates.
- Rakuten Travel Room Rates Scraper (楽天トラベル): Every plan and room Rakuten Travel (楽天トラベル) prices for a hotel and your dates.
Your feedback
Is there a Jalan filter we haven't exposed, or a hotel whose price doesn't match what you see on じゃらん? Open an issue on the actor's Issues tab in Apify Console and tell us the area and dates. We read each report and answer it there.