Back to Prompts

Skyscanner Flight Tickets Data

vytenis kaubre avatar

Vytenis Kaubrė

Last updated on

2025-03-12

3 min read

OxyCopilot allows users to easily generate scraping and parsing instructions to collect public Skyscanner data without a need for manual coding. Simply describe your requirements in plain English, and the system will generate an API request code with logic for parsing complex travel pages into structured, actionable insights.

We've created a sample showcasing how to use OxyCopilot and the necessary details to collect public flight ticket search data from Skyscanner.

Before using OxyCopilot, you need to register for our dashboard, claim a free trial (or choose a suitable plan) for our Web Scraper API, and create an API user. OxyCopilot lets you build scrapers while leveraging Oxylabs’ advanced scraping infrastructure, so you won’t be able to generate scraping and parsing instructions without the mentioned steps. You can find more information about it in the Getting Started part.

Summary

Input prompt

Copy

Parse the flight tickets search page. Get the total results count and pricing details for Best, Cheapest, Fastest tabs. Then, from each ticket, extract the following data:
- Price text
- Total deals count
- Departure time
- Departure airport
- Arrival time
- Arrival airport
- Duration time
- Stops label
- Aviation company name
- Ticket link

We regularly update this tutorial, but errors can still occur. Feel free to regenerate the prompt or contact us if you need help.

An overview of OxyCopilot after providing all the necessary details to get results

Output

Once you complete all the steps and follow our recommendations for using OxyCopilot, this is the final result you will get:

Copy

{
    "tickets": [
        {
            "price_text": "$451",
            "stops_label": "Direct",
            "ticket_link": null,
            "arrival_time": "11:55 AM",
            "duration_time": "7h 45",
            "departure_time": "10:10 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": null,
            "aviation_company_name": "United"
        },
        {
            "price_text": "$443",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/12712-2512052210--32090-0-11616-2512061155?currency=USD&locale=en-US&market=US",
            "arrival_time": "11:55 AM",
            "duration_time": "7h 45",
            "departure_time": "10:10 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": 19,
            "aviation_company_name": "Lufthansa"
        },
        {
            "price_text": "$443",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/11442-2512051805--32090-0-11616-2512060725?currency=USD&locale=en-US&market=US",
            "arrival_time": "7:25 AM",
            "duration_time": "7h 20",
            "departure_time": "6:05 PM",
            "arrival_airport": "FRA",
            "departure_airport": "EWR",
            "total_deals_count": 19,
            "aviation_company_name": "Lufthansa"
        },
        {
            "price_text": "$451",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/12712-2512052210--31722-0-11616-2512061155?currency=USD&locale=en-US&market=US",
            "arrival_time": "11:55 AM",
            "duration_time": "7h 45",
            "departure_time": "10:10 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": 1,
            "aviation_company_name": "United"
        },
        {
            "price_text": "$443",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/12712-2512051545--32090-0-11616-2512060525?currency=USD&locale=en-US&market=US",
            "arrival_time": "5:25 AM",
            "duration_time": "7h 40",
            "departure_time": "3:45 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": 19,
            "aviation_company_name": "Lufthansa"
        },
        {
            "price_text": "$451",
            "stops_label": "Direct",
            "ticket_link": null,
            "arrival_time": "11:55 AM",
            "duration_time": "7h 45",
            "departure_time": "10:10 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": null,
            "aviation_company_name": "Lufthansa"
        },
        {
            "price_text": "$451",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/12712-2512051545--31722-0-11616-2512060525?currency=USD&locale=en-US&market=US",
            "arrival_time": "5:25 AM",
            "duration_time": "7h 40",
            "departure_time": "3:45 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": 1,
            "aviation_company_name": "United"
        },
        {
            "price_text": "$524",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/12712-2512052015--31876-0-11616-2512060950?currency=USD&locale=en-US&market=US",
            "arrival_time": "9:50 AM",
            "duration_time": "7h 35",
            "departure_time": "8:15 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": 19,
            "aviation_company_name": "Singapore Airlines"
        },
        {
            "price_text": "$570",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/12712-2512051625--32415-0-11616-2512060555?currency=USD&locale=en-US&market=US",
            "arrival_time": "5:55 AM",
            "duration_time": "7h 30",
            "departure_time": "4:25 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": 18,
            "aviation_company_name": "Condor"
        },
        {
            "price_text": "$620",
            "stops_label": "Direct",
            "ticket_link": "/transport/flights/nyca/fran/251205/config/11442-2512052155--32090-0-11616-2512061150?currency=USD&locale=en-US&market=US",
            "arrival_time": "11:50 AM",
            "duration_time": "7h 55",
            "departure_time": "9:55 PM",
            "arrival_airport": "FRA",
            "departure_airport": "EWR",
            "total_deals_count": 14,
            "aviation_company_name": "Lufthansa"
        },
        {
            "price_text": "$476",
            "stops_label": "1 stop",
            "ticket_link": null,
            "arrival_time": "10:40 AM",
            "duration_time": "11h 55",
            "departure_time": "4:45 PM",
            "arrival_airport": "FRA",
            "departure_airport": "JFK",
            "total_deals_count": null,
            "aviation_company_name": "ITA Airways"
        }
    ],
    "pricing_details": [
        {
            "price": "$443",
            "tab_name": "Best"
        },
        {
            "price": "$221",
            "tab_name": "Cheapest"
        },
        {
            "price": "$443",
            "tab_name": "Fastest"
        }
    ],
    "total_results_count": 361
}

Schema

OxyCopilot generates a parsing schema that defines the data structure, including object types, field names, and descriptions. AI uses this schema to generate instructions, which you can modify in the Web Scraper API Playground to match your parsing needs.

Object type Name Description
Number total_results_count Total results count from the flight tickets search page.
Array of objects pricing_details Pricing details for Best, Cheapest, Fastest tabs.
String tab_name Name of the tab (Best, Cheapest, Fastest).
String price Price for the respective tab.
Array of objects tickets List of tickets with detailed information.
String price_text
Number total_deals_count
String departure_time
String departure_airport
String arrival_time
String arrival_airport
String duration_time
String stops_label
String aviation_company_name
String ticket_link