Skip to content

Guide

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:

SerpApiFlightPowers
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 flight2 requests1 request
Google's price bandYes, plus a price_history seriesYes, no history series
A range of dates in one callTheir Deals engine takes a departure window and suggests destinations; we found no date gridREST: no, one date pair per request. MCP servers: a date range and a destination list per call
HotelsGoogle Hotels engineBooking.com, with proxy_country
MCPOne generic search tool over all their enginesFlight 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_flightsFlightPowers
departure_idfrom_airport
arrival_idto_airport
outbound_datedeparture_date
return_datereturn_date
type=1 (round trip)POST /v1/flights/roundtrip
type=2 (one way)POST /v1/flights/oneway
travel_class 1 to 4seat_type 1 to 4, same numbering
adults, children, infants_on_lap, infants_in_seatpassengers: one code per traveller, 1 adult, 2 child, 3 infant on lap, 4 infant in seat
currencycurrency
departure_tokennot 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=3 multi-city trips and returns a price_history series. 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.