Free tool · live search, rate-limited
Tokyo to Osaka flight prices, live
Pick a date and see what HND → ITM actually costs right now, next to Google's own view of whether that is a low, typical or high fare for this route.
HND → ITM
nothing searched yetNothing here yet, and nothing cached from months ago pretending to be current. Pick a date and press Check the price: the fares below come from one real search against live Google Flights, with Google's own price band and verdict attached.
This route
HND → ITM, in facts rather than adjectives
Airport names, countries and time zones come from the OurAirports-derived airport dataset. The distance is great-circle, computed from those two coordinate pairs. Prices are not here because a price that is not live is not a price.
Origin
Tokyo International AirportHND · Tokyo, Japan
Destination
Osaka International AirportITM · Osaka, Japan
Great-circle distance
404 km251 miles between the two airports
Time zones
Asia/Tokyoto Asia/Tokyo
Search type
DomesticBoth airports are in Japan. The request is identical either way: two IATA codes and a date.
Why this page exists
busiest routes by available seats, 2025Rank 20 in that published table. We build a page for a route people actually fly, and only for those.
The bit other price checkers skip
A price on its own does not tell you anything
Every fare here carries the context that makes it a decision instead of a number.
price_insights_low / high
The band Google has seen this route trade in. A fare near the bottom of the band is a different thing from the cheapest fare on a bad day.
The verdict
price_range_in_relation_to_other_periods is Google’s own low, typical or high call, published where Google publishes it. Most flight APIs drop this field entirely.
X-Search-Status
The header that separates "no flights exist" from "the search did not finish". Without it, an empty array is ambiguous and you end up telling users there are no flights when there are.
One date here, every date on your key
Checking HND → ITM once is a page. Checking it every morning is an API
A fare alert, a price history, a comparison across a whole calendar: all of them are this same request on a schedule, and none of them fit in a free tool that runs on our key.
Same route, different question
Three ways to look at HND → ITM
Routes next door
Other pages through HND and ITM
Every one of these is in the same published ranking, and every one runs the same live search.
The full list of route and city pages is on the tools index.
Questions, answered plainly
- How much is a flight from Tokyo to Osaka?
- It depends entirely on the date, which is why this page runs the search instead of printing a number. Pick a date above and the answer comes from one real Google Flights search made while you wait, with the fare, the airline, the stops and the duration.
- Is that fare a good one?
- That is what the band under each row is for. Google publishes price_insights_low and price_insights_high for the route, plus a low, typical or high verdict against its own history, and we pass all three through. A cheap-looking fare marked "high" is not a bargain, and a fare marked "low" usually is.
- Do I need an account or a key to use this?
- No. No account, no email, nothing gated. The search runs on our key, which is why it is capped per visitor per day. If you want to run it in bulk, that is the point at which a key of your own makes sense.
- The result came back empty. Is the tool broken?
- Probably not. The API reports search outcome in an X-Search-Status header: "empty" means Google genuinely returned no itineraries for that route and date, which is itself an answer, and "degraded" means the search did not complete and should be retried. Most APIs return an empty list for both and let you guess.
- Can I check ITM to HND as well?
- Yes. Swap the codes in the form. Nothing about the request depends on the direction.
- How would I do this from my own code?
- The card under the result is the same request in cURL, Python and Node, filled in with this route and date, against either the RapidAPI host or api.flightpowers.com. One POST, one JSON array back.