Skip to content

Real-time travel data for AI agents

A travel agent that never sleeps

Talk to it in plain language. It scans live Google Flights and Booking.com data and tells you whether a fare is low, typical, or high — using Google's own numbers.

  • Google's price band + a low | typical | high verdict on every fare
  • Round-trip as one paired-leg search, not two one-ways stapled together
  • Tells you "no flights" apart from "the search failed"

Free tier on RapidAPI. No card to try.

travel agent · flightpowers
live API behind this box

you →Find me a cheap warm getaway from TLV in January

captured run · 2026-08-26

I ran 30 real searches for this: Athens, Lisbon and Gran Canaria, 10 January dates each. Best find: Athens nonstop for $52 on Jan 16. Google's own verdict on that fare is "low". The usual range for the route is $55 to $95, so $52 is under the floor. Lisbon bottoms out at $142, also flagged low. Gran Canaria bottoms out at $213. 8 of the 30 searches came back degraded. The API says so instead of pretending those dates are sold out, so a real run retries exactly those 8.

the steals

$52lowAthensJan 16 · Aegean · nonstopbuy_link →
$142lowLisbonJan 22 · Aegean · 1 stopbuy_link →
$213no bandGran CanariaJan 16 · IB · 1 stopbuy_link →

every search in the hunt

route01040710131619222528
TLV→ATH·587171695252696969
TLV→LIS221221212191160144160142142·
TLV→LPA·271316··213··353·

ATH Athens · LIS Lisbon · LPA Gran Canaria · dots are searches that came back degraded and would simply be retried

The examples replay captured runs, free. Typed questions run REAL searches on our own key, capped per visitor and per day so the demo stays honest and affordable. It understands routes, dates, and "cheapest day in <month>".

One API, everywhere your stack already lives

Who is it for

Three kinds of builders, one data layer

The same six endpoints and the same live data, packaged for the way you work.

Agent builders

Hosted MCP servers and open-source skills. Your agent asks in plain language; the response is small, flat JSON that drops straight into a tool call — with a verdict it can reason about.

Agent recipes →

Developers

A REST API that behaves: consistent shapes, honest error semantics, filters matching the real Google Flights and Booking.com UIs, and rate limits sized for parallel scans.

Endpoint reference →

Automation & BI teams

Fare-watch crons in n8n, rate-parity monitoring with per-country hotel pricing, competitive-set tracking — no code beyond a workflow node if you don't want it.

n8n node →

The flagship field

Every fare comes with a verdict

Most flight APIs give you a price. This one gives you Google's own historical band for the route and dates — and Google's call on whether today's fare is low, typical, or high.

That one field turns a fare feed into a buying signal: price alerts that fire on "low", agents that can say "book it" with a reason, dashboards that show value instead of noise.

captured 2026-08-26 · POST /v1/flights/roundtrip
{
  "price_range_in_relation_to_other_periods": "low",
  "price_insights_low": 120,
  "price_insights_high": 220,
  "total_price": "$112",
  "from_airport": "Berlin (BER)",
  "to_airport": "Paris (CDG)",
  "buy_link": "https://www.google.com/travel/flights?tfs=GjwSCjIwMjYtMTAtMD…"
}

Failure-mode honesty

An empty response now means something

Every scraper gets handed pages it cannot read. Most return an empty list anyway — and your product tells a user something false. This API separates "no flights" from "the search failed", on every response.

X-Search-Status reports ok · empty · partial · degraded, and opt-in strict mode turns a degraded search into an HTTP 503. The capture on the right is a real degraded search — and its immediate retry succeeding.

captured 2026-08-26 · a real degraded search
HTTP/2 200
x-search-status: degraded
x-search-reason: blocked_page
x-search-attempts: 3
x-search-results: 0

[]   ← says NOTHING about availability. Retry it.
the same request, retried seconds later
HTTP/2 200
x-search-status: ok
x-search-retries: 1
x-search-results: 5

[ { "total_price": "$823", ... } ]

Hotels · proxy_country

The same room does not cost the same everywhere

Booking.com quotes different rates depending on where the visitor browses from. Every hotels endpoint accepts proxy_country — a residential proxy in that market — so rate-parity and geo-pricing monitoring is three requests, not an infrastructure project.

captured 2026-08-26 · same room, three markets
POST /hotel_by_name   { "proxy_country": "us" | "de" | "il" }

  us → $1,771   ← the US market's quote
  de → US$1,966
  il → US$1,966

same hotel, same room, same dates.

Round-trip as one paired itinerary

A real /roundtrip endpoint: one object per itinerary with total_price, total_duration_seconds and both legs already paired — not two one-way searches stapled together.

Round-Trip API

A working buy_link on every result

Every itinerary ships with a deep link straight into Google Flights for that exact flight — metasearch and agent handoff without reconstructing the booking URL.

One-Way API

Rate limits sized for parallel date scans

150 requests/minute on Pro, 250 on Ultra, 500 on Mega. A flexible-date search — 31 dates × 3 durations — finishes in one burst instead of a slow serial loop.

Parallel Date Scans

The APIs

Six endpoints. Every plan gets all of them.

You choose volume and rate limit; no feature is ever withheld.

Google Flights Live API

Live fares with the price band, verdict, and booking link on every result.

For AI agents

Your agent already knows how to use this

3 hosted MCP servers, 8 open-source skills, and a plain REST API — all first-party, all maintained, all pointing at the same live data.

MCP — no install, just a URL

claude / cursor / any MCP client
{
  "mcpServers": {
    "flights": {
      "url": "https://flights.flightpowers.com/mcp",
      "headers": { "x-rapidapi-key": "YOUR_KEY" }
    }
  }
}
MCP setup →

Skills — for Claude Code & OpenClaw

terminal
npx skills add mtnrabi/travel-agent-skills

# then just ask:
# "find me the cheapest week to fly
#  TLV to Lisbon this winter"
The 8 skills →

REST — one POST, flat JSON

curl
curl -X POST "https://google-flights-live-api\
.p.rapidapi.com/api/google_flights/oneway/v1" \
  -H "x-rapidapi-key: $RAPIDAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from_airport":"TLV","to_airport":"JFK",
       "departure_date":"2026-10-13"}'
Agent recipes →

Pricing

Simple tiers, billed on RapidAPI

Every plan includes every endpoint. The free tier (10 requests, hard cap) verifies your key; the demo above is how you evaluate.

Flights

PlanPrice / moRequests$ / 1k reqOverageRate limit
BASICFree10 / mohard capGet this plan →
PRO$102,500 / mo$4.00$0.003 / req150 / minGet this plan →
ULTRArecommended$2510,000 / mo$2.50$0.003 / req250 / minGet this plan →
MEGA$5050,000 / mo$1.00$0.001 / req500 / minGet this plan →

Every plan includes every endpoint — you only choose volume and rate limit. Read from the live listing on 2026-08-26; the listing is authoritative.

Hotels

PlanPrice / moRequests$ / 1k reqOverageRate limit
BASICFree10 / mohard cap250 / minGet this plan →
PRO$102,000 / mo$5.00$0.006 / req25 / minGet this plan →
ULTRA$206,500 / mo$3.08$0.003 / req25 / minGet this plan →
MEGA$5025,000 / mo$2.00$0.002 / req50 / minGet this plan →

Every plan includes every endpoint — you only choose volume and rate limit. Read from the live listing on 2026-08-26; the listing is authoritative.

Questions, answered plainly

What does the Google Flights API return?
Flat JSON per itinerary: price as a string and a number, airline, duration, stops with layover details, local departure and arrival times, a working buy_link into Google Flights, plus Google’s own price_insights_low/high band and a low | typical | high verdict for the route and dates.
Is there a free tier?
Yes — the BASIC plan on RapidAPI is $0 and needs no card. It is 10 requests per month with a hard cap: enough to verify your key and see the response shape, not enough to evaluate. Evaluate with the live demo and free tools on this site instead; they run real requests on our key.
How is this different from scraping Google Flights myself?
A scraper you maintain breaks on every markup change and cannot tell “no flights” from “my scrape failed.” This API retries unreadable pages automatically, reports the outcome in an X-Search-Status header (ok, empty, partial, degraded), and returns Google’s price band with every fare — a field most scrapers never see.
Does round-trip really return paired legs?
Yes. POST /roundtrip returns one object per itinerary with total_price, total_duration_seconds, total_stops, and the outbound and return legs already paired — not two one-way results you have to combine yourself.
How do I know whether a fare is a good deal?
Every result carries price_insights_low and price_insights_high — Google’s historical band for that route and date — and price_range_in_relation_to_other_periods, Google’s own low | typical | high verdict. Compare the fare to the band, or just branch on the verdict.
Can I get hotel prices as seen from another country?
Yes. Every hotels endpoint accepts proxy_country, a two-letter code that routes the request through a residential proxy in that market. Ask for the same room from us, de, and il and compare — that is rate-parity monitoring in three requests.
What are the rate limits?
Flights: 150 requests/minute on Pro ($10/mo, 2,500 requests), 250/min on Ultra ($25/mo, 10,000), 500/min on Mega ($50/mo, 50,000). Hotels: 25/min on Pro and Ultra, 50/min on Mega. The limits are sized for parallel date scans — a whole month in one burst.
Can my AI agent use this without me writing HTTP code?
Yes — three ways: hosted MCP servers (a URL, no install) for Claude, Cursor, and any MCP client; open-source agent skills for Claude Code and OpenClaw; and an n8n community node. All first-party, all on the same live data.

Ready to judge a fare, not just fetch it?

Live Google Flights and Booking.com data, with the price band and verdict attached to every result. Free tier on RapidAPI — no card to try.

Free tier: 10 requests/month. No card to try.