APIFuseAPIFuse
DocsServicesPlaygroundStatus
Log inSign up

Service

Ekitan

Japan, TransportationExperimental
Try in PlaygroundOpen the API reference

Overview

Read-only access to twenty-seven public Ekitan pages and services covering rail routes, fares, commuter passes, timetables, train and line details, service status, buses, flights, station information, weather, and station-area content. Every result is normalized from the public page it was read from and carries its source URL; a response that does not match the expected page structure is rejected as a whole rather than partially rewritten.

Status

Degraded

93.69%30-day uptimeAvg response351ms

2026-09-192026-10-042026-10-18

Setup

Auth mode
Managed key
Credentials
  • A managed key scoped to ekitan
Sandbox
Not available

APIs

Selecting a row opens the reference for that API.

MethodAPIPathSummary
POST/v1/ekitan/get-railway-mapTwo modes. mode list_lines lists the verified seed railway_map_selector values without contacting Ekitan; mode get_map takes one of those railway_map_selector values and returns that line's Ekitan map with its real line IDs and ordered station selectors that other operations accept. Use when the user wants the stations of a line in order. Do NOT use for delays or disruptions — use ekitan:get-service-status instead. This is a seed catalog, not a complete list of lines; limited-express IDs are never accepted as railway_map_selector or relabeled as line IDs. Returns mode and either lines (railway_map_selector, name) or railway_map_selector, name, company_names, line_ids, stations, and map_image_url, plus source_url.
POST/v1/ekitan/get-route-detailsReturns one route in full from a route_selector emitted by ekitan:search-rail-routes, ekitan:search-fares, or ekitan:search-first-last-trains. Use when the user has chosen a route from an earlier result and wants its details. Do NOT use to run a new search — call the search operation again instead. The selector encodes the original request and a fingerprint of the route: the same request is refetched and the fingerprint located, so reordered result cards cannot redirect it, and a route that has changed or disappeared fails with STALE_SELECTOR. Returns route (from, to, departure_at, arrival_at, duration_minutes, transfers, fare, legs, source_url).
POST/v1/ekitan/get-section-timetableRetrieves the actual trains running between two different stations on a date from a given time onward. Use when the user wants the trains on one section rather than a full route search. Do NOT use for multi-leg itineraries — use ekitan:search-rail-routes instead; for Shinkansen-only sections use ekitan:search-shinkansen. The read-only request is bound to the page context Ekitan issued for it; any mismatch between that context and the request fails without exposing credentials. Results are a prefix of the validated table; no cursor is exposed. Returns status, trains (service_names, departure_at, arrival_at, duration_minutes, transfers, direct, departure_platform, headsign, fare, stops), limit, source_url, and ajax_source_url.

Related guides

  • Issue a sandbox key and make your first reservation.

  • APIFuse holds the partner credentials. You hold one managed key.

  • Receive events such as reservation confirmations and delivery updates.

  • Service outages and gateway errors normalise into one error model.

Incidents

Observed on this service over the last 30 days.

POST/v1/ekitan/get-service-statusRetrieves current service status for one to twenty Ekitan line IDs, each one to five ASCII digits; detail pages are read only for lines that are not running normally. Use when the user asks whether a line is delayed or suspended. Do NOT use for timetables — use ekitan:get-station-timetable instead. Returns lines (line_id, line_name, normalized status, message, affected_section, updated_at, provider_dispatched_at, related_line_ids, detail_url) and source_url.
POST/v1/ekitan/get-station-infoReads a station's Ekitan station, map, exit, and nearby-bus pages. Use when the user wants facts about one station: address, coordinates, served lines with directions and timetable links, exits, nearby bus stops, nearby facilities, and links to weather and service status. Do NOT use for departures — use ekitan:get-station-timetable instead; for weather use ekitan:get-station-weather. A section that is present but malformed causes the request to fail. Returns station_selector, name, address, postal_code, coordinates, served_lines, exits, nearby_bus_stops, nearby_facilities, weather_selector, weather_url, service_status_urls, and source_urls.
POST/v1/ekitan/get-station-timetableRetrieves the departure timetable of one station. Without direction_selector it returns every direction with a two-departure preview each; with direction_selector (with or without date) it returns the full timetable for that one direction, and limit applies only in that mode. Use when the user wants departures from a station. Do NOT use for trains between two stations — use ekitan:get-section-timetable instead; for the stops of one train use ekitan:get-train-details. A station with more than 32 directions or any failed preview causes the request to fail. Each departure row carries a train_selector for ekitan:get-train-details; there is no cursor, page input, or continuation. Returns response_format, station, service_day, directions or departures, limit, and source_url.
POST/v1/ekitan/get-station-weatherReads the weather for a station from Ekitan's weather data and its public attribution page. Use when the user asks about the current weather or the forecast at a station. Do NOT use for station facilities — use ekitan:get-station-info instead. Returns announced_at, hourly_updated_at, and daily_updated_at, current_period, forecast_periods, and daily_forecasts (Ekitan's 999 placeholder becomes null; precipitation probabilities are 0–100), weather_station with its AMeDAS identity, attribution (Weathernews, AMeDAS) with exact source links, and source_url. Empty forecasts, a mismatched station, or an unknown weather code cause the request to fail.
POST/v1/ekitan/get-train-detailsReturns the stop list of one train from a train_selector emitted by ekitan:get-station-timetable. Use when the user picked a departure from a station timetable and wants its stops. Do NOT use to find departures — use ekitan:get-station-timetable instead. Only selectors from that operation are accepted, and the response must identify the same train exactly. Every stop carries a station selector and name; selectors for the preceding and following trains are not exposed because their identity cannot be verified. Returns line_name, train_type, destination, stops (sequence, station, arrival_at, departure_at, platform), and source_url.
POST/v1/ekitan/list-business-data-productsLists the five public data products in the go.ekitan.com business catalog with their parsed descriptions, interface types, and detail URLs. Use when the user asks what commercial data Ekitan offers. Do NOT use to obtain the data itself — no paid CSV or API data is retrieved and no license is granted. trial_available, license_required, and commercial_service stay null or unknown unless the product page states them explicitly. Returns products (product_id, name, description, dataset_families, interface_types, availability, trial_available, commercial_service, license_required, data_access_included, api_access_included, detail_url), catalog_scope public_catalog_only, catalog_url, and rights_note.
POST/v1/ekitan/search-commuter-passesSearches commuter-pass prices between two different stations. Use when the user asks what a commuter pass costs. Do NOT use for single-trip fares — use ekitan:search-fares instead. Each option reports its from and to stations and, per passenger_type, one_month, three_months, and six_months JPY amounts; source_route_reference identifies the source route only and is not a selector for other operations. Options whose amounts are missing or malformed cause the request to fail. Returns options (source_route_reference, from, to, prices) and source_url.
POST/v1/ekitan/search-domestic-flightsSearches ANA domestic flights between two airports from the 77-code domestic_airport catalog for a date. Use when the user wants a domestic flight within Japan; resolve the airports with ekitan:search-stations-and-places (kind domestic_airport) first. Do NOT use for international flights — use ekitan:search-international-flights instead. An unknown airport code fails before any request is sent. Results are a prefix of the validated table; no cursor, page input, or continuation is exposed. Returns flights and source_url.
POST/v1/ekitan/search-eventsSearches events associated with one station and returns the first page of event cards. Use when the user wants dated events near a station. Do NOT use for other station-area categories — use ekitan:search-local-information instead. returned_count counts only the rows returned; there is no cursor, page input, or has_more continuation. Dates written with year, month, and day become ISO dates; in a Japanese date range an end day without a year takes the start year, and any other partial date is null. Returns station_selector, events (name, period_text, start_date, end_date, venue, description, image_url, area_text, station_association_text, station_selector, detail_url), returned_count, and source_url.
POST/v1/ekitan/search-faresSearches the Ekitan fare page between two different stations and returns paper-ticket and IC-card pricing for each route, including any paper-ticket fallback shown in the IC view. Use when the user wants to compare fares without a specific date or time. Do NOT use for a dated itinerary — use ekitan:search-rail-routes instead; for commuter passes use ekitan:search-commuter-passes. Each base-fare section reports its displayed fare_basis (paper_ticket or ic_card); neither the basis nor an IC total guarantees that a physical IC card is accepted on that section. Totals, round-trip amounts, and seat options are read separately and checked against each other. Returns response_format, routes, and source_url; concise routes carry route_selector, from, to, departure_at, arrival_at, duration_minutes, transfers, paper_total_one_way, and ic_total_one_way.
POST/v1/ekitan/search-first-last-trainsSearches the first train or the last train of a service day between two different stations. Use when the user asks for the earliest or the latest connection on a date. Do NOT use for a specific departure or arrival time — use ekitan:search-rail-routes instead. First trains depart on the requested service date; last-train routes may legitimately depart just after midnight on the next calendar day, but a page for a different service date is rejected. Returns routes (each with route_selector for ekitan:get-route-details, from, to, departure_at, arrival_at, duration_minutes, transfers, fare, and legs) and source_url.
POST/v1/ekitan/search-highway-busesSearches highway buses between two region_group selectors for a date, optionally filtered by service_time (all, day, or night) and amenities. Use when the user wants an intercity or overnight bus; resolve the regions with ekitan:search-stations-and-places (kind highway_bus_area) first. Do NOT use for local city buses — use ekitan:search-local-bus-routes instead. When Ekitan reports zero matches the result is count_only_zero with only the count URL; when the count is positive the complete first result page is returned. Filters are applied by Ekitan, and counts and JPY fares are reported exactly as shown. Each listed service carries at most one reservation_handoff_url, and an ambiguous reservation link causes the request to fail. Returns result_scope, services (service_name, operator_name, stop names, times, duration_minutes, service_time, fare, amenities, payment_methods, reservation_handoff_url), matching_service_count, returned_count, page_size, count_source_url, and source_url.
POST/v1/ekitan/search-hotelsSearches Ekitan's hotel list for one station. Use when the user wants hotels near a station with facilities and prices. Do NOT use for general station-area lodging cards — use ekitan:search-local-information instead. The list is read from a dedicated stream capped at 3 MiB and a validated prefix is returned; a response for a different station or without station identity fails. No cursor, page input, or continuation is exposed. Ekitan exposes only plan_availability and a plan_list_handoff_url per hotel, not individual plans or a plan count. Returns station_selector, hotels (hotel_id, name, address, coordinates, rating, minimum_price, nearest_station, check_in_time, check_out_time, room_facilities, hotel_facilities, image_url, plan_availability, plan_list_handoff_url), returned_count, rights_note, and source_url.
POST/v1/ekitan/search-international-flightsSearches the OAG-based international timetable for direct flights between two air_ airport selectors on a date, optionally with return_date, adult_count, and child_ages. Use when the user wants an international flight to or from Japan; resolve the airports with ekitan:search-stations-and-places (kind international_airport) first. Do NOT use for domestic flights — use ekitan:search-domestic-flights instead. A reservation_handoff_url is returned only when its airports and dates exactly match the itinerary shown and the request. Results are a prefix of the validated table with no continuation. Returns itineraries (is_direct, departure_at, arrival_at, duration_minutes, segments with airline_name and flight_number, reservation_handoff_url, handoff_choices), schedule_attribution, and source_url.
POST/v1/ekitan/search-limited-expressTwo modes for one limited-express service. mode list_sections with a limited_express_selector lists that service's stable, undated section_selector values. mode get_schedule with one of those section_selector values and an exact date returns the schedule and JPY fares for that section. Use when the user asks about a named limited express such as the Narita Express; resolve the limited_express_selector with ekitan:search-stations-and-places first. Do NOT use for Shinkansen — use ekitan:search-shinkansen instead. Schedules are a prefix of the validated table with no continuation. Returns mode, limited_express_selector, name, and either sections or trains (service_name, origin, destination, departure_at, arrival_at, duration_minutes, fares), plus source_url.
POST/v1/ekitan/search-local-bus-routesSearches Ekitan local-bus routes between two bus_stop selectors for a date and time with departure or arrival basis. Use when the user needs a local city-bus connection; resolve the stops with ekitan:search-stations-and-places (kind bus_stop) first. Do NOT use for intercity highway buses — use ekitan:search-highway-buses instead. Distances are converted from kilometers to whole meters and any value that is not a whole, safe number is rejected; each leg is either a bus ride or a walk, and the company, stop, path, and query identity of every bus leg must match its timetable before transfers and route distance are reported. Returns search_basis, routes (departure_at, arrival_at, duration_minutes, transfers, distance_meters, fare with ic and cash, legs with stops), and source_url.
POST/v1/ekitan/search-local-informationSearches Ekitan's station-area directory for one station and one category: lodging, gourmet, leisure, events, medical_or_dental_facility, cram_or_preparatory_school, full_time_jobs, or part_time_jobs. Use when the user wants a general list of places or listings near a station. Do NOT use for restaurant details by genre — use ekitan:search-restaurants instead; for hotel inventory use ekitan:search-hotels; for dated events use ekitan:search-events. Ekitan groups hospitals and dental clinics together, so medical_or_dental_facility is kept as is with no per-row medical or dental subtype. The housing categories rental_housing and used_home return POLICY_RESTRICTED without contacting Ekitan; a malformed card causes the request to fail. Returns station_selector, category, items (name, category, subcategories, address, location_evidence, summary, image_url, detail_url, handoff_url, source_url), returned_count, rights_note, and source_url.
POST/v1/ekitan/search-multilingual-contentSearches Ekitan's multilingual pages in one locale (en, zh-cn, zh-tw, ko, th, fr, es, id, vi, or ne) and one kind (shinkansen_planner or article) for a query. Use when the user wants Ekitan content in a language other than Japanese. Do NOT use for Japanese route search — use ekitan:search-rail-routes instead. One sitemap branch is fully read before a prefix of matches is returned; no cursor, page input, or continuation is exposed. A malformed locale path, an unresolvable entry, or a changed sitemap causes the request to fail. Returns items (locale, content_kind, title, summary, canonical_url, from_station_token, to_station_token, route_token), returned_count, and source_urls.
POST/v1/ekitan/search-rail-routesSearches rail routes between two different stations for an exact date and time, with departure or arrival basis, time/fare/transfers priority, up to three via stations, and flags to include airplane, Shinkansen, and limited-express services. Use when the user needs a dated itinerary between two stations. Do NOT use for fare-only comparison — use ekitan:search-fares instead; for the first or last train of the day use ekitan:search-first-last-trains. With departure basis the date is that of the first actual departure; with arrival basis it is that of the final actual arrival. Transfers are counted from ride changes, and distance_kilometers is omitted unless every leg reports a distance and the legs add up. Returns routes (each with route_selector for ekitan:get-route-details, from, to, departure_at, arrival_at, duration_minutes, transfers, fare, and legs), applied_search_options, and source_url.
POST/v1/ekitan/search-real-estateReports the real-estate automation policy status only; it performs no search and sends no request to Ekitan. Do NOT use to find properties — Ekitan's property endpoint (/sta-info/ajax/getHomesData) is disallowed by robots policy, so property search is not supported and property-search inputs are rejected. Returns status policy_restricted, reason robots_disallowed, automation_enabled false, runtime_scope policy_status_only, and research_evidence recorded_listing_fields_not_runtime_accessible.
POST/v1/ekitan/search-restaurantsSearches restaurants near one station in one Ekitan genre (for example all, lunch, ramen, izakaya, sushi) and returns the first result page with each restaurant's detail card. Use when the user wants restaurants near a station, optionally by genre. Do NOT use for other station-area categories — use ekitan:search-local-information instead. Each detail card must link to exactly one canonical restaurant URL identical to the list entry's detail_url; otherwise its fields are not used. There is no cursor, page input, or has_more continuation. Returns station_selector, genre, restaurants (name, genres, address, business_hours_text, rating, budget, summary, station_access_text, image_urls, reservation_handoff_url, detail_url, source_url), returned_count, rights_note, and source_url.
POST/v1/ekitan/search-shinkansenSearches the public Shinkansen timetable between two different stations for a required service date. Use when the user wants Shinkansen departures and seat-class fares for a section. Do NOT use for general itineraries with transfers — use ekitan:search-rail-routes instead. The entire table is validated before a prefix is returned; there is no cursor or continuation. Reservation links are not returned because the external reservation endpoint cannot be tied to a specific train. Returns trains (times and, per seat_type, JPY one_way_total, round_trip_total, base_ticket, and surcharge), limit, and source_url.
POST/v1/ekitan/search-stations-and-placesResolves a place name into the canonical selector that other Ekitan operations accept: stations, bus stops, municipalities, limited-express services, the 77 domestic airports, the five highway-bus region groups (0401/1301/2301/2601/2701), and international airports (air_ codes). Use when you need an exact from/to selector before calling a route, fare, timetable, bus, or flight operation; pass the returned selector unchanged. Do NOT use to search routes or timetables themselves — use ekitan:search-rail-routes or ekitan:get-station-timetable instead. Results are a prefix of the suggestion response (up to limit); there is no pagination. Returns query, kind, candidates (each with selector, name, source_code, and usable_for_search), and source_url.
POST/v1/ekitan/search-travel-packagesPrepares an Ekitan package search for one of two product families: shinkansen_hotel between two station selectors, or flight_hotel between two domestic_airport selectors, for a departure date. Use when the user wants a Shinkansen-plus-hotel or flight-plus-hotel package. Do NOT use for hotels alone — use ekitan:search-hotels instead; for flights alone use ekitan:search-domestic-flights. Origin and destination are always concrete selectors of the family's type. The operation returns the handoff_url but never follows it, and availability only states that the search must be completed on Ekitan; no actual availability is reported. Returns options (product_family, origin_selector, destination_selector, departure_date, trip_type, availability, handoff_url), rights_note, and source_url.
Get Railway Map
Get Route Details
Get Section Timetable
Quickstart
Managed keys
Overview
Error model
Get Service Status
Get Station Information
Get Station Timetable
Get Station Weather
Get Train Details
List Business Data Products
Search Commuter Passes
Search Domestic Flights
Search Events
Search Fares
Search First and Last Trains
Search Highway Buses
Search Hotels
Search International Flights
Search Limited Express Trains
Search Local Bus Routes
Search Local Information
Search Multilingual Content
Search Rail Routes
Real Estate Policy Status
Search Restaurants
Search Shinkansen Trains
Search Stations and Places
Search Travel Packages
  • Outage on Ekitan

    Started2026-07-22 16:14 UTCDurationOngoingPeak error rate100.00%

    • Search Multilingual Content
    Observing