Expedia Scraper

Expedia Scraper
TLDR
- Search airports and find one-way flights with full itineraries, multiple fare tiers, and real-time pricing — all via a simple REST API.
- 5,000 free queries per month.
- Contact us if you need more Expedia Hotels, Car Rentals, Packages, or other data in addition to flights. Reach out here
Here's a sample response for a one-way flight search:
{
"offer_id": "eyJkIjp7ImoiOl...",
"departure_time": "8:20am",
"arrival_time": "8:32pm",
"time_range": "8:20am - 8:32pm",
"headline": "Los Angeles to New York",
"travel_date": "Mon, Feb 23",
"duration_summary": "8:20am - 8:32pm (9h 12m, 2 stops)",
"starting_price": "$948",
"fare_type": "One way per traveler",
"stop_count": 2,
"onboard_amenities": ["Wi-Fi", "In-seat power outlet", "In-flight entertainment"],
"airlines": [
{
"name": "Multiple airlines",
"logo_url": "https://images.trvl-media.com/media/..."
}
],
"itineraries": [
{
"route": "Los An... (LAX) - New York (JFK)",
"travel_time": "9h 12m (2 stops)",
"layover_summary": "47m in IAH • 34m in BNA",
"segments": [
{
"origin_airport": "Los Angeles Intl. (LAX)",
"origin_code": "LAX",
"departure_time": "8:20am",
"destination_airport": "George Bush Intercontinental (IAH)",
"destination_code": "IAH",
"arrival_time": "1:38pm",
"details": ["3h 18m flight", "United 1416", "Boeing 737-900", "Economy/Coach (U)"],
"layover_note": "Layover: 47m in Houston"
}
]
}
],
"fare_options": [
{
"fare_name": "Economy",
"cabin": "Cabin: Economy",
"display_price": "$948",
"price_detail": "$947.33 one way for 1 traveler",
"inclusions": [
{"label": "Seat choice included", "fee": null},
{"label": "Personal item included", "fee": null},
{"label": "Carry-on bag included", "fee": null},
{"label": "1st checked bag:", "fee": "$40"},
{"label": "Non-refundable", "fee": null}
],
"booking_url": "https://www.expedia.com/Flight-Information?..."
}
]
}What is this?
The Expedia Scraper API gives you real-time access to Expedia flight data.
Search airports by keyword, find one-way flights between any two airports, and get structured results with fare tiers, segment-by-segment itineraries, airline info, amenities, and booking links — all as clean JSON.
Perfect for flight price comparison tools, travel aggregators, fare monitoring dashboards, or any app that needs live flight data.
Why use it?
1. Detailed Data with 100% Accuracy
Get complete flight data pulled live from Expedia. Every price, every fare tier, every itinerary — fetched in real time. No stale caches, no guesswork.
Airport codes, coordinates, country info, fare inclusions, baggage fees, layover details, airline logos, booking URLs — it's all there. 30+ data points per flight offer.
2. Generous Free Plan
5,000 queries per month. Free. No credit card required.
That's 5,000 airport lookups or flight searches every month at no cost. Build and test your travel app without big upfront costs.
3. Affordable Pricing
When you need more, our paid plans cost less than alternatives:
- $25 gets you 100K queries/month
- $75 gets you 1M queries/month
- $150 gets you 10M queries/month
How to use it?
Simple REST API. Here's how it works:
- Create an account at omkar.cloud to get your API key.
It takes just 2 minutes to sign up. You get 5,000 free requests every month — more than enough for most users to get their job done without paying a dime.
This is a well built product, and your search for the best Expedia Scraper API ends right here.
- Make a request with it:
cURL:
curl -X GET "https://expedia-scraper.omkar.cloud/expedia/flights/one-way?departure_airport_code=LAX&arrival_airport_code=JFK" \
-H "API-Key: YOUR_API_KEY"Python:
import requests
api_key = "YOUR_API_KEY"
# Search one-way flights
response = requests.get(
"https://expedia-scraper.omkar.cloud/expedia/flights/one-way",
params={
"departure_airport_code": "LAX",
"arrival_airport_code": "JFK",
"cabin_class": "coach",
},
headers={"API-Key": api_key}
)
print(response.json())- Get structured flight data and use it.
That's it. Airport code to flight offers in seconds.
API Reference
Airport Search
GET https://expedia-scraper.omkar.cloud/expedia/flights/airports
keyword(required) — Search text to find airports. City name, airport name, or IATA code.
Example:
import requests
response = requests.get(
"https://expedia-scraper.omkar.cloud/expedia/flights/airports",
params={"keyword": "london"},
headers={"API-Key": "YOUR_API_KEY"}
)
print(response.json())Sample Response:
{
"total_results": 7,
"locations": [
{
"region_id": "6139104",
"location_type": "METROCODE",
"name": "London (LON - All Airports)",
"full_name": "London, United Kingdom (LON-All Airports)",
"short_name": "London (LON-All Airports)",
"display_label": "London (LON - All Airports), United Kingdom",
"secondary_label": "United Kingdom",
"latitude": "51.54783319395783",
"longitude": "0.021250695442023394",
"country": {
"name": "United Kingdom",
"code": "GB",
"code_alpha3": "GBR"
},
"airport": {
"iata_code": "LON",
"airport_id": "6139104",
"metro_code": "LON",
"multi_city_id": "178279"
},
"distance_from_center": null,
"is_minor_airport": false
},
{
"region_id": "5392460",
"location_type": "AIRPORT",
"name": "London (LHR - Heathrow)",
"full_name": "London, United Kingdom (LHR-Heathrow)",
"short_name": "London (LHR-Heathrow)",
"display_label": "London (LHR - Heathrow), 23 km from city centre",
"secondary_label": "23 km from city centre",
"latitude": "51.470878",
"longitude": "-0.449753",
"country": {
"name": "United Kingdom",
"code": "GB",
"code_alpha3": "GBR"
},
"airport": {
"iata_code": "LHR",
"airport_id": "5392460",
"metro_code": "LON",
"multi_city_id": "178279"
},
"distance_from_center": {
"km": 22.66774624656282,
"miles": 14.085119518910124
},
"is_minor_airport": false
}
]
}One-Way Flight Search
GET https://expedia-scraper.omkar.cloud/expedia/flights/one-way
departure_airport_code(required) — IATA code of the departure airport (e.g.,LAX).arrival_airport_code(required) — IATA code of the destination airport (e.g.,JFK).departure_date(optional, default: tomorrow) — Travel date inYYYY-MM-DDformat. Must be today or a future date.cabin_class(optional, default:coach) — Cabin preference:coach,premium_economy,business,first.
Example:
import requests
response = requests.get(
"https://expedia-scraper.omkar.cloud/expedia/flights/one-way",
params={
"departure_airport_code": "LAX",
"arrival_airport_code": "JFK",
"departure_date": "2026-03-15",
"cabin_class": "coach",
},
headers={"API-Key": "YOUR_API_KEY"}
)
print(response.json())Sample Response:
{
"total_results": 14,
"flights": [
{
"offer_id": "eyJkIjp7ImoiOl...",
"departure_time": "8:20am",
"arrival_time": "8:32pm",
"time_range": "8:20am - 8:32pm",
"headline": "Los Angeles to New York",
"travel_date": "Mon, Feb 23",
"duration_summary": "8:20am - 8:32pm (9h 12m, 2 stops)",
"starting_price": "$948",
"fare_type": "One way per traveler",
"stop_count": 2,
"onboard_amenities": ["Wi-Fi", "In-seat power outlet", "In-flight entertainment"],
"airlines": [
{
"name": "Multiple airlines",
"logo_url": "https://images.trvl-media.com/media/content/expus/graphics/static_content/fusion/v0.1b/images/airlines/s/multiple_airlines_logo_sq.jpg"
}
],
"itineraries": [
{
"route": "Los An... (LAX) - New York (JFK)",
"travel_time": "9h 12m (2 stops)",
"arrives_next_day": null,
"layover_summary": "47m in IAH \u2022 34m in BNA",
"operated_by": "\u2022 Delta 4909 operated by Endeavor Air DBA Delta Connection",
"urgency": "1 left at",
"segments": [
{
"origin_airport": "Los Angeles Intl. (LAX)",
"origin_code": "LAX",
"origin_city": "Los Angeles",
"departure_time": "8:20am",
"destination_airport": "George Bush Intercontinental (IAH)",
"destination_code": "IAH",
"destination_city": "Houston",
"arrival_time": "1:38pm",
"details": [
"3h 18m flight",
"United 1416",
"Boeing 737-900",
"Economy/Coach (U)"
],
"layover_note": "Layover: 47m in Houston"
},
{
"origin_airport": "George Bush Intercontinental (IAH)",
"origin_code": "IAH",
"origin_city": "Houston",
"departure_time": "2:25pm",
"destination_airport": "Nashville Intl. (BNA)",
"destination_code": "BNA",
"destination_city": "Nashville",
"arrival_time": "4:26pm",
"details": [
"2h 1m flight",
"United 1540",
"Boeing 737 MAX 8",
"Economy/Coach (U)"
],
"layover_note": "Layover: 34m in Nashville"
},
{
"origin_airport": "Nashville Intl. (BNA)",
"origin_code": "BNA",
"origin_city": "Nashville",
"departure_time": "5:00pm",
"destination_airport": "John F. Kennedy Intl. (JFK)",
"destination_code": "JFK",
"destination_city": "New York",
"arrival_time": "8:32pm",
"details": [
"2h 32m flight",
"Delta 4909 operated by Endeavor Air DBA Delta Connection",
"Canadair Regional Jet 900",
"Economy/Coach (K)"
],
"layover_note": null
}
]
}
],
"fare_options": [
{
"fare_name": "Economy",
"cabin": "Cabin: Economy",
"display_price": "$948",
"price_detail": "$947.33 one way for 1 traveler",
"original_price": null,
"inclusions": [
{"label": "Seat choice included", "fee": null},
{"label": "Personal item included", "fee": null},
{"label": "Carry-on bag included", "fee": null},
{"label": "1st checked bag:", "fee": "$40"},
{"label": "Non-refundable", "fee": null},
{"label": "Changes included, only pay fare difference", "fee": null}
],
"booking_url": "https://www.expedia.com/Flight-Information?journeyContinuationId=..."
}
],
"badges": []
}
]
}FAQs
❓ What data does the API return?
Airport Search returns per location:
- Region ID, location type (airport, metro area, city)
- Full name, short name, display label
- IATA code, airport ID, metro code
- Latitude, longitude, country (name + ISO codes)
- Distance from city center (km and miles)
One-Way Flight Search returns per flight offer:
- Departure/arrival times, duration, stop count
- Starting price, fare type, airline name and logo
- Full itinerary with segment-by-segment details (airports, flight numbers, aircraft types, layover info)
- Multiple fare tiers (Basic, Economy, Comfort, Premium) with individual pricing
- Fare inclusions (seat choice, bags, refund policy, change fees)
- Booking URL for each fare option
- Onboard amenities (Wi-Fi, power, entertainment)
All in structured JSON. Ready to use in your app.
❓ How accurate is the data?
Data is pulled from Expedia in real time. Every API call fetches live data — not cached or stale results.
Prices, availability, and itineraries reflect what's on Expedia right now.
❓ What airports and routes are supported?
Any airport or route available on Expedia. That covers thousands of airports worldwide.
Use the Airport Search endpoint to find IATA codes for any city, then pass those codes to the flight search. Works for domestic and international routes.
❓ Can I search different cabin classes?
Yes. Pass the cabin_class parameter with one of: coach, premium_economy, business, first.
Defaults to coach if not specified.
❓ What if I don't pass a departure date?
The API defaults to tomorrow. You can pass any future date in YYYY-MM-DD format.
❓ Do I get booking links?
Yes. Every fare option includes a direct booking_url to Expedia's booking page for that specific flight and fare tier.
❓ Tell me about Omkar Cloud.
We're an API services company with 20+ tools for OCR, document processing, and developer APIs. Some things we are proud of:
- We built Botasaurus, an open-source framework with 3.7K+ GitHub stars
- Sponsored by 1000+ developers on GitHub
❓ How much does it cost?
- Free — $0 — 5,000 queries/month
- Starter — $25 — 100,000 queries/month
- Grow — $75 — 1,000,000 queries/month
- Scale — $150 — 10,000,000 queries/month
Why we're affordable: Low overhead. We run lean and pass the savings to you.
Note: You get 5,000 free queries every month. Most users find this covers their needs.
❓ How do I get a refund?
If the product doesn't meet your needs within 90 days, get a refund in 2 clicks.
-
Go to Transactions Page

-
Click "Request Refund"

-
Confirm by clicking Request Refund again. The amount will be refunded within 1-2 business days. We'll email you updates.

No emails. No explanations. Simple 2-click process.
❓ Is there a catch in refunds?
No catch.
It's a simple 2-click process, exactly as described above.
Questions? We have answers.
Reach out anytime. We will solve your query within 1 working day.

