Japan Highway Bus Scraper — Timetables & Fares (Kosokubus)
Pricing
from $1.00 / 1,000 record scrapeds
Japan Highway Bus Scraper — Timetables & Fares (Kosokubus)
Scrape Japanese intercity bus data from Kosokubus.com. Covers Willer Express, JR Bus (all 6 regional subsidiaries), Sakura Kotsu, Keio Bus, Odakyu City Bus, Meitetsu Bus, and 30+ operators. Returns seat class, amenities, overnight flag, fares in JPY, and availability.
Pricing
from $1.00 / 1,000 record scrapeds
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Share
Japan Highway Bus Scraper - Kosokubus Fares, Timetables & Routes
Extract Japanese intercity highway bus data from Kosokubus.com — Japan's largest bus booking aggregator. Returns structured records per route with operator name, seat class, amenities, overnight flag, fares in JPY, availability, and all boarding/alighting stops. Covers Willer Express, all six JR Bus regional subsidiaries, Sakura Kotsu, Keio Bus, Odakyu City Bus, Meitetsu Bus, Kintetsu Bus, Hankyu Bus, and 30+ other operators.
What does the Kosokubus scraper do?
Supply origin and destination prefecture codes, and the actor fetches the Kosokubus bus-list page for each corridor. Each route card is parsed and saved as a structured record. Filters for overnight service, seat class, and female-only seating are applied before saving.
Leave origin or destination blank to crawl all major corridors automatically. Use maxItems to cap the result count for quick sampling without crawling full corridor networks. Raise maxItems to collect every trip on a corridor (the actor follows all result pages, e.g. 36 trips for Tokyo to Osaka). Results reflect the site's default search date (the next day); a corridor with no departures that day returns zero records.
Kosokubus is quick and cheap to read, and the actor reaches it from Japan for geo-consistent results wherever you run it.
What data does it extract?
Each record contains 23 fields per route:
| Field | Type | Description |
|---|---|---|
trip_id | string | Internal route code from Kosokubus |
operator | string | Operator name in Japanese |
operator_en | string | Operator name in English / romaji |
route_name | string | Marketed route name (Japanese) |
origin_terminal | string | First boarding stop name (Japanese) |
origin_city | string | Origin prefecture name |
destination_terminal | string | Final alighting stop name (Japanese) |
destination_city | string | Destination prefecture name |
departure_time | string | Scheduled departure time in JST (HH:MM) |
arrival_time | string | Scheduled arrival time in JST (HH:MM) |
duration_minutes | integer | Total journey duration in minutes |
is_overnight | boolean | True if this is an overnight service |
seat_class | string | 4-row standard, 3-row relax, 2-row executive, or Cocoon pod |
seats_per_row | integer | Seats per row: 2, 3, or 4 |
amenities | array | wifi, outlet, toilet, blanket, slippers, reading_light, curtain_divider, female_only_area |
female_only_seats | boolean | True if the trip offers a women-only seating area (女性専用 badge) |
fare_yen | integer | Minimum fare in JPY |
fare_yen_max | integer | Maximum fare in JPY when a range is shown |
seats_available | integer | Available seats at scrape time |
has_toilet | boolean | Toilet onboard; null when the listing does not say |
stops | array | All intermediate stops with departure times |
booking_url | string | Direct booking detail URL on kosokubus.com |
scrape_url | string | Source bus-list page URL |
How to use it
| Field | Type | Default | Description |
|---|---|---|---|
origin | string | 00013 | Origin prefecture code. Leave blank for major corridors. |
destination | string | 00027 | Destination prefecture code. Leave blank for all destinations from the given origin. |
overnightOnly | boolean | false | Return only overnight services. |
seatClass | string | any | Minimum seat class: any, 4row, 3row, 2row, or pod. |
femaleOnly | boolean | false | Return only routes with a female-only seating area. |
maxItems | integer | 10 | Maximum route records to return. |
Prefecture code reference
| Code | Prefecture |
|---|---|
00013 | Tokyo (東京) |
00027 | Osaka (大阪) |
00026 | Kyoto (京都) |
00023 | Aichi / Nagoya (愛知) |
00040 | Fukuoka (福岡) |
00014 | Kanagawa / Yokohama (神奈川) |
00028 | Hyogo / Kobe (兵庫) |
00034 | Hiroshima (広島) |
Codes follow the pattern 00001 (Hokkaido) through 00047 (Okinawa). The full list is available at kosokubus.com under the route search form.
Example: Tokyo to Osaka, first 10 routes
{"origin": "00013","destination": "00027","maxItems": 10}
Example: overnight buses only from Tokyo to Nagoya
{"origin": "00013","destination": "00023","overnightOnly": true,"maxItems": 20}
Use cases
- Travel aggregators — build or update Japan bus search engines with structured route, fare, and availability data
- Inbound tourism apps — show visitors affordable highway-bus alternatives to Shinkansen, with seat-class breakdowns and overnight options
- JR Pass calculators — surface competing bus fares on covered corridors to help travelers evaluate pass value
- Transport researchers — map intercity bus networks, track fare changes, or analyze operator coverage by prefecture pair
- Price monitoring — detect fare changes or availability drops for specific corridors on a scheduled basis
FAQ
How many routes does the scraper collect? Kosokubus lists all routes for a corridor on a single page — typically 1 to 20 per prefecture pair. A full multi-corridor run covering major routes can return 1,000 to 3,000 records nationwide.
How current is the data? Timetable data (routes, stops, durations) is updated seasonally. Availability (seats remaining) and fares change daily — run the actor on a schedule to keep those fields current.
Output is available in JSON, CSV, and Excel via the Apify dataset export panel.