Skip to content

Guide

Using Google Flights API in Zapier

Zapier does not have a native Google Flights app in its directory yet, but the HTTP Request action (available in the Webhooks by Zapier app) calls the API directly. This unlocks the same live flight data for any Zapier workflow: fare watches that fire on schedule, price feeds into Airtable or Google Sheets, or alerts sent to Slack when a route drops below a threshold.

What you need

  • A

    Zapier account

    (free tier works for testing)
  • A RapidAPI key for the

    Google Flights Live API

    . The free tier verifies your key works; a scheduled fare watch fits comfortably in the cheapest paid plan.

Setting up the HTTP Request

Add the Webhooks by Zapier app to your Zap and choose the Custom Request action. Configure it as a POST request to:

https://google-flights-live-api.p.rapidapi.com/api/google_flights/roundtrip/v1

Add three headers:

Content-Type: application/json
x-rapidapi-host: google-flights-live-api.p.rapidapi.com
x-rapidapi-key: YOUR_RAPIDAPI_KEY

And set the body to raw JSON:

{
  "departure_date": "2026-04-15",
  "return_date": "2026-04-22",
  "from_airport": "JFK",
  "to_airport": "LHR",
  "currency": "usd"
}

Reading the response

The API returns an array of itineraries. Each object includes:

  • total_price: the fare as a formatted string
  • total_price_as_number: the same fare as a number for filtering
  • buy_link: a deep link that opens the itinerary on Google Flights ready to book

Zapier surfaces these fields under the step's output. Reference them in downstream actions the way you would any other Zap data: {{step_name.total_price}}.

Example workflows

Scheduled fare watch. Schedule Trigger (daily at 8 AM) → HTTP Request (the search above) → Filter (only continue if total_price_as_number is below your threshold) → Gmail (send yourself the fare and buy_link).

Route comparison. Looping by Zapier (a list of routes) → HTTP Request (one search per route) → Airtable (log each result with timestamp).

One-way searches. Same host, path /api/google_flights/oneway/v1, drop return_date, and the price fields are price and price_as_number instead of the total_ variants.

Timeout and rate limits

Set the HTTP Request timeout to 90 seconds. This is a live scan of Google Flights, not a cache read, and response time tracks route complexity.

If you are looping over multiple routes, mind your plan's per-minute rate limit. Space the iterations with Zapier's Delay action rather than firing them all at once.

Test it on your own routes

Run your three hardest routes in a test Zap. If the data doesn't earn the fee, you've spent nothing.

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