SerpApi alternative for Google Flights
Published September 5, 2026 · Updated October 6, 2026
FlightPowers is a SerpApi alternative for Google Flights: the same live fares and Google's low / typical / high price band, a round trip in one request (SerpApi needs a second call with a departure token), PRO $10 for 2,500 searches against SerpApi's $25 for 1,000. Best for price tracking and AI agents; SerpApi if you need more than travel.
That is the short version. This page is the long one for someone with SerpApi code already running: what you change, what you get back, and the cases where you should not bother. The row-by-row comparison with every SerpApi tier is on FlightPowers vs SerpApi.
When does moving off SerpApi make sense?
People arrive here from one of two places. Either the search quota is the problem, or the flight engine is one small part of a platform they pay for and they want the flight part cheaper. Only the second is solved by switching, and only when flights are most of the volume.
The numbers, read from both pricing pages on 2026-10-06:
| SerpApi | FlightPowers | |
|---|---|---|
| Cheapest paid plan | $25 for 1,000 searches | $10 for 2,500 searches (PRO) |
| Per 1,000 searches on that plan | $25.00 | $4.00 |
| Round trip with the return flight | 2 requests | 1 request |
| Google's price band | Yes, plus a price_history series | Yes, no history series |
| A range of dates in one call | Their Deals engine takes a departure window and suggests destinations; we found no date grid | REST: no, one date pair per request. MCP servers: a date range and a destination list per call |
| Hotels | Google Hotels engine | Booking.com, with proxy_country |
| MCP | One generic search tool over all their engines | Flight and hotel tools on your own key |
Their full plan table, throughput and billing rules are on the comparison page, quoted from their site. Ours come from the pricing page.
What changes in your code
The request is a POST with a JSON body instead of a GET with query parameters, and the key
goes in a header. Most SerpApi google_flights parameters map one to one:
SerpApi google_flights | FlightPowers |
|---|---|
departure_id | from_airport |
arrival_id | to_airport |
outbound_date | departure_date |
return_date | return_date |
type=1 (round trip) | POST /v1/flights/roundtrip |
type=2 (one way) | POST /v1/flights/oneway |
travel_class 1 to 4 | seat_type 1 to 4, same numbering |
adults, children, infants_on_lap, infants_in_seat | passengers: one code per traveller, 1 adult, 2 child, 3 infant on lap, 4 infant in seat |
currency | currency |
departure_token | not needed: the return leg is already in the answer |
On the response side, price_insights.typical_price_range becomes price_insights_low and
price_insights_high, and price_insights.price_level becomes
price_range_in_relation_to_other_periods. Each itinerary is one object with both legs,
total_price and one buy_link.
Does SerpApi need two requests for a round trip?
To see the return flights, yes. Their own parameter docs, read on 2026-10-06:
"To obtain the returning flight information for Round Trip (1), you need to make another request using a departure_token."
So on SerpApi a round-trip search is a search, a choice, and a second search. On FlightPowers it is one call. Here is that call on SerpApi's own documentation example route, Beijing to Austin:
curl -X POST https://api.flightpowers.com/v1/flights/roundtrip \
-H "x-api-key: $FLIGHTPOWERS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"from_airport":"PEK","to_airport":"AUS","departure_date":"2026-11-17","return_date":"2026-11-24","currency":"USD","limit":10}'
Captured at 19:54 UTC on 2026-10-06, with X-Search-Status: ok and ten itineraries. The
cheapest of the ten:
{
"price_range_in_relation_to_other_periods": "typical",
"price_insights_low": 1000,
"price_insights_high": 1300,
"from_airport": "Beijing (PEK)",
"to_airport": "Austin (AUS)",
"departure_date": "2026-11-17",
"return_date": "2026-11-24",
"total_price": "$1262",
"total_price_as_number": 1262,
"total_stops": 4,
"departure_flight_airline": "Hainan, Alaska",
"departure_flight_duration": "24 hr 37 min",
"departure_flight_stops": 2,
"departure_stops_info": [
{ "stop_airport": "NRT", "stop_duration_seconds": 19800 },
{ "stop_airport": "SEA", "stop_duration_seconds": 9300 }
],
"return_flight_airline": "Alaska, Asiana Airlines",
"return_flight_duration": "52 hr 32 min",
"return_flight_stops": 2,
"return_stops_info": [
{ "stop_airport": "SEA", "stop_duration_seconds": 67140 },
{ "stop_airport": "ICN", "stop_duration_seconds": 53100 }
],
"buy_link": "https://www.google.com/travel/flights?tfs=..."
}
$1,262 for the pair, inside Google's usual $1,000 to $1,300 for the route, so "typical". It is the cheapest because the way home takes 52 hours through Seattle and Seoul; the two United itineraries Google ranked first, about 38 hours in total, were $1,775. Both legs, the stops and the total came back in that one request. The paired-leg model is explained in round-trip prices in one request.
To be fair to SerpApi: they also document selected_flights_json, which prices a round trip
in one call when you already know the flight numbers of both legs. That fits repricing a known
itinerary. It does not help when you are searching, because finding the flights is the point.
When should you stay on SerpApi?
Being straight about this, because half the people reading are in this half.
- Flights are one engine among several. SerpApi covers Google Search, Maps, Shopping and many other engines on one key. Moving flights out means two vendors and two keys to save on one line item.
- You need multi-city or fare history. SerpApi prices
type=3multi-city trips and returns aprice_historyseries. We do one-way and round trip, and the band without history. - Your legal team wants cover. Their pricing page lists a U.S. Legal Shield on every plan, "up to $2 million in coverage for the scraping and parsing of search engine data". We offer no indemnity.
- You only pay for successes. Their FAQ: "Only successful searches are counted toward your monthly searches." On RapidAPI a request that reaches our listing is counted.
If you do switch
Move one workload, not all of them. Point your flight search at the free plan (10 requests a month), run real queries through it, and compare the fares with what SerpApi returned for the same dates. Ten requests is enough to check a route you know well, a route you know badly, and a date far enough out that the price band comes back null, which is the case most people forget to handle.
Try it on the workload you already have
Live Google Flights fares with Google's own price band on every result, and a round trip in one call. Free tier on RapidAPI, no card.
Free tier: 10 requests/month. No card to try.
Docs: the Flights API and the MCP servers.
Related
- FlightPowers vs SerpApi: every tier, row by row, competitor facts dated
- All comparisons: SearchApi, HasData, FlightAPI.io, Skyscanner, Kiwi.com, Duffel, Amadeus
- Flights API: every parameter and field
- Round-trip prices in one request: the paired-leg model with a real capture
- The best flight data APIs in 2026: the wider field, with disclosed bias