Google Flights MCP server

Registry name: io.github.johnisanerd/google-flights. Maintained by AlphaOSINT (Apify developer johnvc, GitHub johnisanerd).

What it does

Search one-way, round-trip and multi-city itineraries and get prices, airlines, stops, layovers, durations and optional booking options as JSON.

Fares and itineraries for any route and date, with filters for stops, airlines, cabin and passengers. Use it for trip-planning agents, fare monitoring and route analysis.

This server is not self-hosted. It runs on Apify’s hosted MCP endpoint (mcp.apify.com), which starts the Apify Actor johnvc/Google-Flights-Data-Scraper-Flight-and-Price-Search for each tool call. You need an Apify account, and every call is billed to that account at the Actor’s prices below. Apify’s own pricing and terms apply to the account.

Charge Price (USD) What it covers
Page Processed $0.03 Fee per page of flight results processed. Returns best flights, other flights, price insights, airports, and booking options for that page.
Setup $0.001 One-time setup fee per Actor run
Booking Options Processed $0.02 Fee per booking option returned when fetch_booking_options is enabled. Default is off.

Prices shown are Apify’s free-plan rates; paid Apify plans get lower per-event prices. Apify also bills a token amount per run start and per stored row ($0.00001, $0.00001). Prices change from time to time; the Actor’s page on Apify shows the current ones.

Data source and terms

Google Flights public search results, collected by scraping. The server returns the data as published at the time of the call. You are responsible for using it in line with the source’s terms and the laws that apply to you. AlphaOSINT is not affiliated with the source.

Endpoint

Setup

Claude Code

claude mcp add --transport http google-flights "https://mcp.apify.com/?tools=johnvc/Google-Flights-Data-Scraper-Flight-and-Price-Search"

VS Code (.vscode/mcp.json)

{
  "servers": {
    "google-flights": {
      "type": "http",
      "url": "https://mcp.apify.com/?tools=johnvc/Google-Flights-Data-Scraper-Flight-and-Price-Search"
    }
  }
}

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "google-flights": {
      "url": "https://mcp.apify.com/?tools=johnvc/Google-Flights-Data-Scraper-Flight-and-Price-Search"
    }
  }
}

Claude Desktop (Settings → Connectors → Add custom connector, paste the URL). Older versions without remote connectors can bridge through mcp-remote in claude_desktop_config.json:

{
  "mcpServers": {
    "google-flights": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://mcp.apify.com/?tools=johnvc/Google-Flights-Data-Scraper-Flight-and-Price-Search"
      ]
    }
  }
}

Each client opens an Apify sign-in (OAuth) on first use. To use a token instead, send Authorization: Bearer <APIFY_TOKEN> as a header; create one under Apify Console → Settings → API & Integrations.

Tools

Tool What it does
johnvc--Google-Flights-Data-Scraper-Flight-and-Price-Search Runs the Actor with the parameters below and returns the result rows.
get-actor-run Status of a run started by the tool, for long runs.
get-dataset-items Pages through a run’s full output by datasetId when it is larger than the inline result.
get-key-value-store-record Reads a record a run stored, such as a run report.
abort-actor-run Stops a run.

Apify’s endpoint adds the four helper tools automatically whenever an Actor tool is loaded.

Parameter Type Required Default Description
departure_id string   "LAX" Departure airport code(s), comma-separated for multiple (e.g., ‘LAX’, ‘JFK’, ‘CDG,ORY’). Required for one-way and round-trip searches. Not used for multi-city trips.
arrival_id string   "JFK" Arrival airport code(s), comma-separated for multiple (e.g., ‘JFK’, ‘SFO’, ‘LAX,SEA’). Required for one-way and round-trip searches. Not used for multi-city trips.
outbound_date string   "2026-11-27" Departure date in YYYY-MM-DD format (e.g., ‘2025-11-25’). Required for one-way and round-trip searches. Not used for multi-city trips.
return_date string   "2026-12-02" Return date in YYYY-MM-DD format (e.g., ‘2025-11-30’). Optional, used for round-trip searches.
multi_city_json string     JSON string for multi-city trips. Format: [{“departure_id”:”…”,”arrival_id”:”…”,”date”:”…”},…]. When provided, departure_id, arrival_id, and outbound_date are not required.
adults integer   1 Number of adult passengers (default: 1, minimum: 1)
children integer   0 Number of child passengers (default: 0, minimum: 0)
infants integer   0 Number of infant passengers (default: 0, minimum: 0)
currency string   "USD" Currency code for prices (e.g., ‘USD’, ‘EUR’, ‘GBP’). Default: ‘USD’
hl string: en, es, fr, de, it, pt …   "en" Language code for results (e.g., ‘en’, ‘fr’, ‘de’, ‘es’). Default: ‘en’
gl string: us, uk, ca, au, de, fr …   "us" Country code for results (e.g., ‘us’, ‘uk’, ‘fr’, ‘de’). Default: ‘us’
max_price integer     Maximum price filter in the specified currency. Optional.
max_stops integer     Maximum number of stops (0 = direct flights only, 1 = one stop max, null = no limit). Optional.
airlines string     Comma-separated list of preferred airline codes (e.g., ‘UA,AA,DL’). Optional.
exclude_basic boolean   false If true, filters out Economy flights that include carry-on bags and free seat selection. Optional.
fetch_booking_options boolean   false If true, performs extra requests to retrieve detailed booking options (booking links, baggage fees, etc.). This increases API usage and is billed per booking option returned.
max_pages integer   1 Maximum number of pages to fetch (0 = no limit, default: 1).
output_file string     Optional filename to save results. If not provided, will auto-generate based on route and parameters.

Example arguments:

{
  "helloWorld": 123
}

Output

The tool returns JSON rows with these fields.

Field Type Description
search_parameters object Search Parameters
search_parameters.trip_type integer 1=Round trip, 2=One-way, 3=Multi-city
search_parameters.trip_type_description string Trip Type Description
search_parameters.departure_id string Departure Airport Code(s)
search_parameters.arrival_id string Arrival Airport Code(s)
search_parameters.outbound_date string Outbound Date
search_parameters.return_date string Return Date
search_parameters.multi_city_json string Multi-City JSON
search_parameters.exclude_basic boolean Exclude Basic Economy
search_parameters.adults integer Number of Adults
search_parameters.children integer Number of Children
search_parameters.infants integer Number of Infants
search_parameters.currency string Currency Code
search_parameters.language string Language Code
search_parameters.language_name string Language Name
search_parameters.country string Country Code
search_parameters.country_name string Country Name
search_parameters.max_price integer Maximum Price
search_parameters.max_stops integer Maximum Stops
search_parameters.airlines string Preferred Airlines
search_metadata object Search Metadata
search_metadata.total_flights_found integer Total Flights Found
search_metadata.best_flights_count integer Best Flights Count
search_metadata.other_flights_count integer Other Flights Count
search_metadata.pages_processed integer Pages Processed
search_metadata.max_pages_set integer Maximum Pages Set
search_metadata.pagination_limit_reached boolean Pagination Limit Reached
search_metadata.booking_options_count integer Total number of individual booking options fetched across all booking tokens. Only present when fetch_booking_options is true.
search_timestamp string Search Timestamp
page_number integer Current Page Number
all_flights array Flat, one-row-per-flight summary of every itinerary on this page (best flights and other flights combined). Powers the Flights view so each flight renders as a single table row. The full nested itineraries remain availa…
best_flights array Best Flights
other_flights array Other Flights
price_insights object Price Insights
price_insights.lowest_price integer Lowest Price
price_insights.price_level string Price Level
price_insights.typical_price_range array Typical Price Range
airports array Airports Information
booking_options array Booking Options