Booking Flights Scraper avatar
Booking Flights Scraper

Pricing

$29.00/month + usage

Go to Apify Store
Booking Flights Scraper

Booking Flights Scraper

Developed by

Lexis Solutions

Lexis Solutions

Maintained by Community

Scrape flight listings from Booking.com—including routes, airlines, prices, dates, availability, and booking links. Ideal for travel platforms, price comparison, and market analysis. Fast, structured, and customizable extraction from Booking.com’s flights section.

5.0 (1)

Pricing

$29.00/month + usage

1

2

2

Last modified

3 days ago

Booking Flights Scraper

Booking Flights Scraper

The Booking Flights Scraper is an Apify actor that searches Booking.com Flights and extracts flight offers based on trip type, routes, dates, passenger counts, cabin class, sorting, and direct-flight preference.


✨ Key Features

  • Flexible trip types: One-way or round-trip searches.
  • Route resolution: Query departure and arrival locations using plain text terms.
  • Passenger and cabin controls: Set adults count, optional children ages, and cabin class.
  • Smart filtering: Sort by best/cheapest/fastest and optionally restrict to direct flights.
  • Structured output: Returns normalized flight itineraries with pricing and timing breakdowns.

💡 Why It's Important

Booking aggregates flight options from multiple carriers and partners. With this actor, you can:

  • Compare prices and itineraries quickly across different routes and dates.
  • Analyze schedule characteristics such as total flight time and number of legs.
  • Automate monitoring of pricing and availability for business intelligence and alerts.

👤 Who Is It For?

  • Travel agencies and OTAs optimizing content and pricing.
  • Analysts and researchers tracking route competitiveness and seasonality.
  • Developers and data teams building dashboards and travel products.

🚀 Business Use Cases

  • Price monitoring across dates, routes, and cabin classes.
  • Route analysis for total times, stops, and carrier combinations.
  • Customer experience: Surface best/cheapest/fastest options or direct-only alternatives.

🛠 Input Schema

The actor accepts the following input:

{
"tripType": "ONEWAY", // ["ONEWAY", "ROUNDTRIP"]
"fromLocationQuery": "Amsterdam",
"toLocationQuery": "London",
"departureDate": "YYYY-MM-DD",
"returnDate": "YYYY-MM-DD", // required if tripType is roundTrip
"numberOfAdults": 1,
"childrenAges": "2,5", // children ages (comma separated), e.x: 2,5 (represents two children ages 2 and 5), leave empty for no children
"cabinClass": "ECONOMY", // ["ECONOMY", "PREMIUM_ECONOMY", "BUSINESS", "FIRST"]
"sortType": "BEST", // ["BEST", "CHEAPEST", "FASTEST"]
"isDirectFlight": false, // if true -> no stopovers
"maxItems": 10,
"proxyConfiguration": {
"useApifyProxy": false
}
}

Notes:

  • Required fields: tripType, fromLocationQuery, toLocationQuery.
  • Trip type: ONEWAY or ROUNDTRIP.
    • If you choose ROUNDTRIP, provide a valid returnDate (YYYY-MM-DD).
  • Dates: departureDate and returnDate must match YYYY-MM-DD as per the schema pattern.
  • Adults: numberOfAdults is an integer between 1 and 9 (inclusive).
  • Children: childrenAges is a comma-separated string of ages, e.g. "2,5" for two children aged 2 and 5. Leave empty for no children.
  • Cabin class: one of ECONOMY, PREMIUM_ECONOMY, BUSINESS, FIRST.
  • Sort type: one of BEST, CHEAPEST, FASTEST.
  • Direct flights: Set isDirectFlight to true to allow only itineraries with no stopovers.
  • Limit: maxItems caps how many offers to return.
  • Proxies: Results vary by request origin. Use country-specific proxies via proxyConfiguration (e.g., US proxies for US results, FR proxies for France) because Booking may return different availability and prices per country.

📦 Output Schema

Each dataset item resembles the following structure:

{
"id": "d6a1f_H4sIAAAAAAAA_y2QW2...",
"price": 180,
"departureDate": "2025-10-10T15:35:00",
"arrivalDate": "2025-10-17T18:30:00",
"tripType": "ROUNDTRIP",
"pointOfSale": "us",
"cabinClass": "ECONOMY",
"totalFlightTime": 8700,
"segments": [
{
"departureAirport": {
"type": "AIRPORT",
"code": "CDG",
"name": "Paris - Charles de Gaulle Airport",
"city": "PAR",
"cityName": "Paris",
"country": "FR",
"countryName": "France",
"province": "Île de France"
},
"arrivalAirport": {
"type": "AIRPORT",
"code": "SEN",
"name": "London Southend Airport",
"city": "LON",
"cityName": "London",
"country": "GB",
"countryName": "United Kingdom",
"province": "Greater London"
},
"departureTime": "2025-10-10T15:35:00",
"arrivalTime": "2025-10-10T15:45:00",
"legs": [
{
"departureTime": "2025-10-10T15:35:00",
"arrivalTime": "2025-10-10T15:45:00",
"departureAirport": {
"type": "AIRPORT",
"code": "CDG",
"name": "Paris - Charles de Gaulle Airport",
"city": "PAR",
"cityName": "Paris",
"country": "FR",
"countryName": "France",
"province": "Île de France"
},
"arrivalAirport": {
"type": "AIRPORT",
"code": "SEN",
"name": "London Southend Airport",
"city": "LON",
"cityName": "London",
"country": "GB",
"countryName": "United Kingdom",
"province": "Greater London"
},
"cabinClass": "ECONOMY",
"flightInfo": {
"facilities": [],
"flightNumber": 4661,
"planeType": "",
"carrierInfo": {
"operatingCarrier": "U2",
"marketingCarrier": "U2",
"operatingCarrierDisclosureText": ""
}
},
"carriers": ["U2", "U2"],
"carriersData": [
{
"name": "Easyjet",
"code": "U2",
"logo": "https://r-xx.bstatic.com/data/airlines_logo/U2.png"
},
{
"name": "Easyjet",
"code": "U2",
"logo": "https://r-xx.bstatic.com/data/airlines_logo/U2.png"
}
],
"totalTime": 4200,
"flightStops": [],
"amenities": []
}
],
"totalTime": 4200,
"travellerCheckedLuggage": [],
"travellerCabinLuggage": [
{
"travellerReference": "1",
"luggageAllowance": {
"luggageType": "HAND",
"maxPiece": 0
},
"personalItem": true
},
{
"travellerReference": "2",
"luggageAllowance": {
"luggageType": "HAND",
"maxPiece": 0
},
"personalItem": true
}
],
"isAtolProtected": false,
"showWarningDestinationAirport": false,
"showWarningOriginAirport": false
},
{
"departureAirport": {
"type": "AIRPORT",
"code": "SEN",
"name": "London Southend Airport",
"city": "LON",
"cityName": "London",
"country": "GB",
"countryName": "United Kingdom",
"province": "Greater London"
},
"arrivalAirport": {
"type": "AIRPORT",
"code": "CDG",
"name": "Paris - Charles de Gaulle Airport",
"city": "PAR",
"cityName": "Paris",
"country": "FR",
"countryName": "France",
"province": "Île de France"
},
"departureTime": "2025-10-17T16:15:00",
"arrivalTime": "2025-10-17T18:30:00",
"legs": [
{
"departureTime": "2025-10-17T16:15:00",
"arrivalTime": "2025-10-17T18:30:00",
"departureAirport": {
"type": "AIRPORT",
"code": "SEN",
"name": "London Southend Airport",
"city": "LON",
"cityName": "London",
"country": "GB",
"countryName": "United Kingdom",
"province": "Greater London"
},
"arrivalAirport": {
"type": "AIRPORT",
"code": "CDG",
"name": "Paris - Charles de Gaulle Airport",
"city": "PAR",
"cityName": "Paris",
"country": "FR",
"countryName": "France",
"province": "Île de France"
},
"cabinClass": "ECONOMY",
"flightInfo": {
"facilities": [],
"flightNumber": 4662,
"planeType": "",
"carrierInfo": {
"operatingCarrier": "U2",
"marketingCarrier": "U2",
"operatingCarrierDisclosureText": ""
}
},
"carriers": ["U2", "U2"],
"carriersData": [
{
"name": "Easyjet",
"code": "U2",
"logo": "https://r-xx.bstatic.com/data/airlines_logo/U2.png"
},
{
"name": "Easyjet",
"code": "U2",
"logo": "https://r-xx.bstatic.com/data/airlines_logo/U2.png"
}
],
"totalTime": 4500,
"flightStops": [],
"amenities": []
}
],
"totalTime": 4500,
"travellerCheckedLuggage": [],
"travellerCabinLuggage": [
{
"travellerReference": "1",
"luggageAllowance": {
"luggageType": "HAND",
"maxPiece": 0
},
"personalItem": true
},
{
"travellerReference": "2",
"luggageAllowance": {
"luggageType": "HAND",
"maxPiece": 0
},
"personalItem": true
}
],
"isAtolProtected": false,
"showWarningDestinationAirport": false,
"showWarningOriginAirport": false
}
],
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 180,
"nanos": 760000000
},
"baseFare": {
"currencyCode": "USD",
"units": 85,
"nanos": 600000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 95,
"nanos": 160000000
},
"totalRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 181
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 180,
"nanos": 760000000
},
"totalWithoutDiscountRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 181
},
"carrierTaxBreakdown": [
{
"carrier": {
"name": "Easyjet",
"code": "U2",
"logo": "https://r-xx.bstatic.com/data/airlines_logo/U2.png"
},
"avgPerAdult": {
"currencyCode": "USD",
"units": 47,
"nanos": 580000000
}
}
],
"showPriceStrikethrough": false
},
"travellerPrices": [
{
"travellerPriceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 90,
"nanos": 380000000
},
"baseFare": {
"currencyCode": "USD",
"units": 42,
"nanos": 800000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 47,
"nanos": 580000000
},
"totalRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 91
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 90,
"nanos": 380000000
},
"totalWithoutDiscountRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 91
},
"showPriceStrikethrough": false
},
"travellerReference": "1",
"travellerType": "ADULT"
},
{
"travellerPriceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 90,
"nanos": 380000000
},
"baseFare": {
"currencyCode": "USD",
"units": 42,
"nanos": 800000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 47,
"nanos": 580000000
},
"totalRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 91
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 90,
"nanos": 380000000
},
"totalWithoutDiscountRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 91
},
"showPriceStrikethrough": false
},
"travellerReference": "2",
"travellerType": "ADULT"
}
],
"priceDisplayRequirements": [],
"includedProducts": {
"areAllSegmentsIdentical": true,
"segments": [
[
{
"luggageType": "PERSONAL_ITEM",
"maxPiece": 2,
"piecePerPax": 1
}
]
]
},
"extraProducts": [
{
"type": "flexibleTicket",
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"baseFare": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
}
}
},
{
"type": "cabinBaggagePerTraveller",
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 19,
"nanos": 990000000
},
"baseFare": {
"currencyCode": "USD",
"units": 19,
"nanos": 990000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 19,
"nanos": 990000000
}
}
},
{
"type": "checkedInBaggage",
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 68,
"nanos": 730000000
},
"baseFare": {
"currencyCode": "USD",
"units": 68,
"nanos": 730000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 68,
"nanos": 730000000
}
}
}
],
"offerExtras": {
"flexibleTicket": {
"airProductReference": "n/a",
"travellers": ["1", "2"],
"recommendation": {
"recommended": false,
"confidence": "UNKNOWN_LEVEL"
},
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"baseFare": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 13
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"totalWithoutDiscountRounded": {
"currencyCode": "USD",
"nanos": 0,
"units": 13
},
"showPriceStrikethrough": false
},
"supplierInfo": {
"name": "Gotogate, Inc.",
"termsUrl": "https://flights-us.gotogate.com/rf/travel-conditions",
"privacyPolicyUrl": "https://flights-us.gotogate.com/rf/privacy-policy"
}
}
},
"ancillaries": {
"cabinBaggagePerTraveller": {
"luggageAllowance": {
"luggageType": "HAND",
"maxPiece": 1,
"maxWeightPerPiece": 33,
"massUnit": "LB",
"sizeRestrictions": {
"maxLength": 22,
"maxWidth": 17,
"maxHeight": 9,
"sizeUnit": "INCH"
}
},
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 19,
"nanos": 990000000
},
"baseFare": {
"currencyCode": "USD",
"units": 19,
"nanos": 990000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 19,
"nanos": 990000000
}
},
"travellers": ["1", "2"]
},
"checkedInBaggage": {
"airProductReference": "n/a",
"options": [
{
"luggageAllowance": {
"luggageType": "CHECKED_IN",
"ruleType": "PIECE_BASED",
"maxPiece": 1,
"maxWeightPerPiece": 33.1,
"massUnit": "LB"
},
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 68,
"nanos": 730000000
},
"baseFare": {
"currencyCode": "USD",
"units": 68,
"nanos": 730000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 68,
"nanos": 730000000
},
"showPriceStrikethrough": false
},
"travellers": ["1", "2"],
"preSelected": false
}
]
},
"flexibleTicket": {
"airProductReference": "n/a",
"travellers": ["1", "2"],
"priceBreakdown": {
"total": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"baseFare": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"fee": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"discount": {
"currencyCode": "USD",
"units": 0,
"nanos": 0
},
"totalWithoutDiscount": {
"currencyCode": "USD",
"units": 12,
"nanos": 660000000
},
"showPriceStrikethrough": false
},
"preSelected": false,
"recommendation": {
"recommended": false,
"confidence": "UNKNOWN_LEVEL"
},
"supplierInfo": {
"name": "Gotogate, Inc.",
"termsUrl": "https://flights-us.gotogate.com/rf/travel-conditions",
"privacyPolicyUrl": "https://flights-us.gotogate.com/rf/privacy-policy"
}
}
},
"brandedFareInfo": {
"fareName": "Standard",
"cabinClass": "ECONOMY",
"features": [
{
"featureName": "PERSONAL_BAGGAGE",
"category": "BAGGAGE",
"code": "BK03",
"label": "2 personal items",
"availability": "INCLUDED",
"priority": 0,
"content": {}
}
],
"fareAttributes": [],
"nonIncludedFeaturesRequired": false,
"nonIncludedFeatures": [],
"featuresList": [],
"checkinBaggageExcluded": true,
"cabinBaggageExcluded": true
},
"fareRules": [
{
"segmentIdentifiers": [
{
"segmentIndex": 0,
"legIndex": 0
}
],
"availablePolicies": [
{
"type": "CHANGE_BEFORE",
"priceBreakdown": {
"total": {
"currencyCode": "",
"units": 56,
"nanos": 670000000
},
"baseFare": {
"currencyCode": "",
"units": 0,
"nanos": 0
},
"fee": {
"currencyCode": "",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "",
"units": 0,
"nanos": 0
}
}
}
],
"unavailablePolicies": [
{
"type": "CANCEL_BEFORE"
}
]
},
{
"segmentIdentifiers": [
{
"segmentIndex": 1,
"legIndex": 0
}
],
"availablePolicies": [
{
"type": "CHANGE_BEFORE",
"priceBreakdown": {
"total": {
"currencyCode": "",
"units": 49,
"nanos": 0
},
"baseFare": {
"currencyCode": "",
"units": 0,
"nanos": 0
},
"fee": {
"currencyCode": "",
"units": 0,
"nanos": 0
},
"tax": {
"currencyCode": "",
"units": 0,
"nanos": 0
}
}
}
],
"unavailablePolicies": [
{
"type": "CANCEL_BEFORE"
}
]
}
],
"appliedDiscounts": [],
"extraProductDisplayRequirements": {},
"unifiedPriceBreakdown": {
"id": "U24661.CDG2025-10-10T15:35:00.SEN2025-10-10T15:45:00.ECONOMY,U24662.SEN2025-10-17T16:15:00.CDG2025-10-17T18:30:00.ECONOMY_0_2ADULT_DIRECT_ETG",
"price": {
"currencyCode": "USD",
"units": 180,
"nanos": 760000000
},
"items": [
{
"scope": "FLIGHT_ADULT",
"id": "flight_adult",
"title": "Adults (2)",
"price": {
"currencyCode": "USD",
"units": 180,
"nanos": 760000000
},
"items": [
{
"id": "flight_adult-basefare",
"title": "Flight fare",
"price": {
"currencyCode": "USD",
"units": 85,
"nanos": 600000000
},
"items": []
},
{
"id": "flight_adult-tax",
"title": "Taxes and airline fees",
"price": {
"currencyCode": "USD",
"units": 95,
"nanos": 160000000
},
"items": []
}
]
}
],
"addedItems": []
},
"perTravellerPriceDifferences": []
}

👀 p.s.

Got feedback or need an extension?

Lexis Solutions is a certified Apify Partner. We can help you with custom solutions or data extraction projects.

Contact us over Email or LinkedIn

Image Credit: https://www.booking.com/