Google Flights Scraper
Pricing
from $1.50 / 1,000 search results
Go to Apify Store
Google Flights Scraper
Extract live flight prices, schedules, and multi-city travel data from Google Flights instantly.
Google Flights Scraper
Pricing
from $1.50 / 1,000 search results
Extract live flight prices, schedules, and multi-city travel data from Google Flights instantly.
You can access the Google Flights Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in Integrations settings in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "HJ4f4UlFgojv7ZLtT" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/crawlio~google-flights-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-crawlio-google-flights-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } }, "/acts/crawlio~google-flights-scraper/runs": { "post": { "operationId": "runs-sync-crawlio-google-flights-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor and returns information about the initiated run in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/runsResponseSchema" } } } } } } }, "/acts/crawlio~google-flights-scraper/run-sync": { "post": { "operationId": "run-sync-crawlio-google-flights-scraper", "x-openai-isConsequential": false, "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.", "tags": [ "Run Actor" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/inputSchema" } } } }, "parameters": [ { "name": "token", "in": "query", "required": true, "schema": { "type": "string" }, "description": "Enter your Apify token here" } ], "responses": { "200": { "description": "OK" } } } } }, "components": { "schemas": { "inputSchema": { "type": "object", "properties": { "operation": { "title": "Operation", "enum": [ "oneWay", "roundTrip", "multiCity" ], "type": "string", "description": "Choose which search flow to run.", "default": "oneWay" }, "oneWay": { "title": "One-way input", "type": "object", "description": "Search one-way flights for a single leg (origin → destination) on a specific date.", "properties": { "origin": { "title": "Origin (IATA)", "type": "string", "description": "3-letter origin airport code (IATA), for example JFK, NYC, LHR.", "default": "JFK", "editor": "textfield" }, "dest": { "title": "Destination (IATA)", "type": "string", "description": "3-letter destination airport code (IATA), for example LHR, CDG, DXB.", "default": "LHR", "editor": "textfield" }, "date": { "title": "Departure date", "type": "string", "description": "Departure date in YYYY-MM-DD format. Leave empty to use a valid future date automatically.", "default": "", "editor": "datepicker", "dateType": "absolute" }, "adults": { "title": "Adults", "type": "integer", "description": "Number of adult passengers.", "default": 1, "minimum": 1, "maximum": 9, "editor": "number" }, "children": { "title": "Children", "type": "integer", "description": "Number of child passengers.", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "infantsInSeat": { "title": "Infants in seat", "type": "integer", "description": "Number of infants with their own seat.", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "infantsOnLap": { "title": "Infants on lap", "type": "integer", "description": "Number of infants on lap (must be <= adults).", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "seatClass": { "title": "Seat class", "type": "string", "description": "Cabin class.", "default": "economy", "enum": [ "economy", "premium-economy", "business", "first" ], "editor": "select" }, "stops": { "title": "Stops filter", "type": "integer", "description": "0 = any, 1 = nonstop, 2 = max 1 stop", "default": 0, "minimum": 0, "maximum": 2, "editor": "number" }, "preferred_airlines": { "title": "Preferred airlines", "type": "string", "description": "Comma-separated airline codes or alliance names, for example BA,AA or STAR_ALLIANCE.", "default": "", "editor": "textfield" }, "sort": { "title": "Sort", "type": "string", "description": "Sorting preference.", "default": "best", "enum": [ "best", "price", "duration" ], "editor": "select" }, "currency": { "title": "Currency", "type": "string", "description": "Currency code used by Google Flights (e.g. USD, EUR, BDT).", "default": "USD", "editor": "textfield" }, "language": { "title": "Language", "type": "string", "description": "Language/locale code (e.g. en-US, en-GB).", "default": "en-US", "editor": "textfield" } }, "additionalProperties": false }, "roundTrip": { "title": "Round-trip input", "type": "object", "description": "Search round-trip flights with a departure date and a return date.", "properties": { "origin": { "title": "Origin (IATA)", "type": "string", "description": "3-letter origin airport code (IATA), for example JFK, CDG, LHR.", "default": "JFK", "editor": "textfield" }, "dest": { "title": "Destination (IATA)", "type": "string", "description": "3-letter destination airport code (IATA).", "default": "LHR", "editor": "textfield" }, "date": { "title": "Departure date", "type": "string", "description": "Departure date in YYYY-MM-DD format. Leave empty to use a valid future date automatically.", "default": "", "editor": "datepicker", "dateType": "absolute" }, "returnDate": { "title": "Return date", "type": "string", "description": "Return date in YYYY-MM-DD format. Leave empty to use a valid future return date automatically.", "default": "", "editor": "datepicker", "dateType": "absolute" }, "adults": { "title": "Adults", "type": "integer", "description": "Number of adult passengers.", "default": 1, "minimum": 1, "maximum": 9, "editor": "number" }, "children": { "title": "Children", "type": "integer", "description": "Number of child passengers.", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "infantsInSeat": { "title": "Infants in seat", "type": "integer", "description": "Number of infants with their own seat.", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "infantsOnLap": { "title": "Infants on lap", "type": "integer", "description": "Number of infants on lap (must be <= adults).", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "seatClass": { "title": "Seat class", "type": "string", "description": "Cabin class.", "default": "economy", "enum": [ "economy", "premium-economy", "business", "first" ], "editor": "select" }, "stops": { "title": "Stops filter", "type": "integer", "description": "0 = any, 1 = nonstop, 2 = max 1 stop", "default": 0, "minimum": 0, "maximum": 2, "editor": "number" }, "preferred_airlines": { "title": "Preferred airlines", "type": "string", "description": "Comma-separated airline codes or alliance names, for example BA,AA or STAR_ALLIANCE.", "default": "", "editor": "textfield" }, "sort": { "title": "Sort", "type": "string", "description": "Sorting preference.", "default": "best", "enum": [ "best", "price", "duration" ], "editor": "select" }, "currency": { "title": "Currency", "type": "string", "description": "Currency code used by Google Flights (e.g. USD, EUR).", "default": "USD", "editor": "textfield" }, "language": { "title": "Language", "type": "string", "description": "Language/locale code (e.g. en-US).", "default": "en-US", "editor": "textfield" } }, "additionalProperties": false }, "multiCity": { "title": "Multi-city input", "type": "object", "description": "Search multi-city itineraries across two or more legs.", "properties": { "legs": { "title": "Multi-City JSON", "type": "string", "description": "At least 2 legs; each includes origin, dest, and date in YYYY-MM-DD format. Expired dates are moved to valid future dates automatically.", "editor": "textarea", "default": "[\n {\n \"origin\": \"JFK\",\n \"dest\": \"LHR\",\n \"date\": \"2026-06-01\"\n },\n {\n \"origin\": \"LHR\",\n \"dest\": \"CDG\",\n \"date\": \"2026-06-05\"\n }\n]" }, "adults": { "title": "Adults", "type": "integer", "description": "Number of adult passengers.", "default": 1, "minimum": 1, "maximum": 9, "editor": "number" }, "children": { "title": "Children", "type": "integer", "description": "Number of child passengers.", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "infantsInSeat": { "title": "Infants in seat", "type": "integer", "description": "Number of infants with their own seat.", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "infantsOnLap": { "title": "Infants on lap", "type": "integer", "description": "Number of infants on lap (must be <= adults).", "default": 0, "minimum": 0, "maximum": 9, "editor": "number" }, "seatClass": { "title": "Seat class", "type": "string", "description": "Cabin class.", "default": "economy", "enum": [ "economy", "premium-economy", "business", "first" ], "editor": "select" }, "stops": { "title": "Stops filter", "type": "integer", "description": "0 = any, 1 = nonstop, 2 = max 1 stop", "default": 0, "minimum": 0, "maximum": 2, "editor": "number" }, "preferred_airlines": { "title": "Preferred airlines", "type": "string", "description": "Comma-separated airline codes or alliance names, for example BA,AA or STAR_ALLIANCE.", "default": "", "editor": "textfield" }, "maxStops": { "title": "Max stops (override)", "type": "integer", "description": "Optional stop-count override for advanced multi-city searches.", "default": 0, "editor": "number" }, "sort": { "title": "Sort", "type": "string", "description": "Sorting preference.", "default": "best", "enum": [ "best", "price", "duration" ], "editor": "select" }, "currency": { "title": "Currency", "type": "string", "description": "Currency code used by Google Flights (e.g. USD, EUR).", "default": "USD", "editor": "textfield" }, "language": { "title": "Language", "type": "string", "description": "Language/locale code (e.g. en-US).", "default": "en-US", "editor": "textfield" }, "fetchAllLegs": { "title": "Fetch all legs", "type": "boolean", "description": "When enabled (default), the scraper fetches complete multi-leg itineraries by making additional requests for each subsequent leg. Disable for faster results that only include first-leg options.", "default": true } }, "additionalProperties": false }, "proxyConfiguration": { "title": "Proxy Settings", "type": "object", "description": "Select proxies to be used.", "default": { "useApifyProxy": false } } } }, "runsResponseSchema": { "type": "object", "properties": { "data": { "type": "object", "properties": { "id": { "type": "string" }, "actId": { "type": "string" }, "userId": { "type": "string" }, "startedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "finishedAt": { "type": "string", "format": "date-time", "example": "2025-01-08T00:00:00.000Z" }, "status": { "type": "string", "example": "READY" }, "meta": { "type": "object", "properties": { "origin": { "type": "string", "example": "API" }, "userAgent": { "type": "string" } } }, "stats": { "type": "object", "properties": { "inputBodyLen": { "type": "integer", "example": 2000 }, "rebootCount": { "type": "integer", "example": 0 }, "restartCount": { "type": "integer", "example": 0 }, "resurrectCount": { "type": "integer", "example": 0 }, "computeUnits": { "type": "integer", "example": 0 } } }, "options": { "type": "object", "properties": { "build": { "type": "string", "example": "latest" }, "timeoutSecs": { "type": "integer", "example": 300 }, "memoryMbytes": { "type": "integer", "example": 1024 }, "diskMbytes": { "type": "integer", "example": 2048 } } }, "buildId": { "type": "string" }, "defaultKeyValueStoreId": { "type": "string" }, "defaultDatasetId": { "type": "string" }, "defaultRequestQueueId": { "type": "string" }, "buildNumber": { "type": "string", "example": "1.0.0" }, "containerUrl": { "type": "string" }, "usage": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "integer", "example": 1 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } }, "usageTotalUsd": { "type": "number", "example": 0.00005 }, "usageUsd": { "type": "object", "properties": { "ACTOR_COMPUTE_UNITS": { "type": "integer", "example": 0 }, "DATASET_READS": { "type": "integer", "example": 0 }, "DATASET_WRITES": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_READS": { "type": "integer", "example": 0 }, "KEY_VALUE_STORE_WRITES": { "type": "number", "example": 0.00005 }, "KEY_VALUE_STORE_LISTS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_READS": { "type": "integer", "example": 0 }, "REQUEST_QUEUE_WRITES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_INTERNAL_GBYTES": { "type": "integer", "example": 0 }, "DATA_TRANSFER_EXTERNAL_GBYTES": { "type": "integer", "example": 0 }, "PROXY_RESIDENTIAL_TRANSFER_GBYTES": { "type": "integer", "example": 0 }, "PROXY_SERPS": { "type": "integer", "example": 0 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Google Flights Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: