Skyscanner Flights Scraper
Pricing
from $1.20 / 1,000 flights
Go to Apify Store
Skyscanner Flights Scraper
Search Skyscanner one-way and return flights, apply baggage, stop, and time filters, and optionally collect booking-panel details.
Skyscanner Flights Scraper
Pricing
from $1.20 / 1,000 flights
Search Skyscanner one-way and return flights, apply baggage, stop, and time filters, and optionally collect booking-panel details.
You can access the Skyscanner 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 API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "1.0", "x-build-id": "EBBWTgxnhmu3Ec7e2" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/rigelbytes~skyscanner-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-rigelbytes-skyscanner-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/rigelbytes~skyscanner-scraper/runs": { "post": { "operationId": "runs-sync-rigelbytes-skyscanner-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/rigelbytes~skyscanner-scraper/run-sync": { "post": { "operationId": "run-sync-rigelbytes-skyscanner-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", "required": [ "origin", "destination", "departDate" ], "properties": { "origin": { "title": "Origin", "type": "string", "description": "Departure city, airport, or IATA code, such as Berlin or BER." }, "destination": { "title": "Destination", "type": "string", "description": "Arrival city, airport, or IATA code, such as Islamabad or ISB." }, "departDate": { "title": "Depart date", "type": "string", "description": "Outbound date in YYYY-MM-DD format." }, "returnDate": { "title": "Return date", "type": "string", "description": "Return date in YYYY-MM-DD format. Leave empty for a one-way search." }, "searches": { "title": "Searches", "type": "array", "description": "Optional list of routes. When this list is not empty, it replaces Origin, Destination, and the dates above. Passenger, cabin, market, and filter settings still apply to every route.", "items": { "type": "object", "properties": { "origin": { "title": "Origin", "type": "string", "editor": "textfield", "description": "Departure city, airport, or IATA code." }, "destination": { "title": "Destination", "type": "string", "editor": "textfield", "description": "Arrival city, airport, or IATA code." }, "departDate": { "title": "Depart date", "type": "string", "editor": "textfield", "description": "Outbound date in YYYY-MM-DD format." }, "returnDate": { "title": "Return date", "type": "string", "editor": "textfield", "description": "Return date in YYYY-MM-DD format. Omit for one-way." } } } }, "adults": { "title": "Adults", "minimum": 1, "maximum": 8, "type": "integer", "description": "Number of adult passengers.", "default": 1 }, "childAges": { "title": "Child ages", "type": "array", "description": "Age of each child passenger, from 0 to 17. Leave empty when there are no children.", "items": { "type": "integer", "minimum": 0, "maximum": 17 }, "default": [] }, "cabinClass": { "title": "Cabin class", "enum": [ "economy", "premiumeconomy", "business", "first" ], "type": "string", "description": "Cabin to search.", "default": "economy" }, "market": { "title": "Market", "type": "string", "description": "Skyscanner market code, such as DE, US, or UK.", "default": "DE" }, "locale": { "title": "Locale", "type": "string", "description": "Language and region, such as en-GB.", "default": "en-GB" }, "currency": { "title": "Currency", "type": "string", "description": "Price currency, such as EUR, USD, or GBP.", "default": "EUR" }, "checkedBag": { "title": "Checked baggage", "type": "boolean", "description": "Only return fares that include a checked bag.", "default": false }, "cabinBag": { "title": "Cabin bag", "type": "boolean", "description": "Only return fares that include a cabin bag.", "default": false }, "includeDirect": { "title": "Direct flights", "type": "boolean", "description": "Include non-stop flights.", "default": true }, "includeOneStop": { "title": "One-stop flights", "type": "boolean", "description": "Include flights with one stop.", "default": true }, "includeTwoPlusStops": { "title": "Two or more stops", "type": "boolean", "description": "Include flights with two or more stops.", "default": true }, "maxDurationMinutes": { "title": "Maximum duration (minutes)", "minimum": 0, "type": "integer", "description": "Drop a flight when any leg is longer than this. 0 means no limit.", "default": 0 }, "outboundDepartureFrom": { "title": "Outbound takeoff from", "type": "string", "description": "Earliest outbound departure, HH:MM in local time. Leave empty for no limit." }, "outboundDepartureTo": { "title": "Outbound takeoff to", "type": "string", "description": "Latest outbound departure, HH:MM in local time. Leave empty for no limit." }, "outboundArrivalFrom": { "title": "Outbound landing from", "type": "string", "description": "Earliest outbound arrival, HH:MM in local time. Leave empty for no limit." }, "outboundArrivalTo": { "title": "Outbound landing to", "type": "string", "description": "Latest outbound arrival, HH:MM in local time. Leave empty for no limit." }, "returnDepartureFrom": { "title": "Return takeoff from", "type": "string", "description": "Earliest return departure, HH:MM in local time. Leave empty for no limit." }, "returnDepartureTo": { "title": "Return takeoff to", "type": "string", "description": "Latest return departure, HH:MM in local time. Leave empty for no limit." }, "returnArrivalFrom": { "title": "Return landing from", "type": "string", "description": "Earliest return arrival, HH:MM in local time. Leave empty for no limit." }, "returnArrivalTo": { "title": "Return landing to", "type": "string", "description": "Latest return arrival, HH:MM in local time. Leave empty for no limit." }, "includeFlightDetails": { "title": "Include flight details", "type": "boolean", "description": "Also load the booking panel for each flight: agents, baggage, amenities, and booking links. This is billed as a separate flight-details event.", "default": false }, "maxItems": { "title": "Maximum flights", "minimum": 0, "type": "integer", "description": "Maximum number of flights to save. 0 means no limit.", "default": 20 }, "proxyConfiguration": { "title": "Proxy configuration", "type": "object", "description": "Proxy settings. Residential proxies are used by default.", "default": { "useApifyProxy": true, "apifyProxyGroups": [ "RESIDENTIAL" ] } } } }, "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 }, "PROXY_UNBLOCKER_UNITS": { "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 }, "PROXY_UNBLOCKER_UNITS": { "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 Skyscanner 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: