Hopper Flight Scraper
Pricing
from $5.00 / 1,000 dataset items
Hopper Flight Scraper
Scrape live Hopper flight prices, full itineraries (airlines, stops, layovers, times) and Hopper's exclusive buy/wait price prediction for any route and dates. Structured JSON for fare monitoring, travel research and price alerts. Pay only for the results you get.
Get live flight prices, full itineraries, and Hopper's signature buy/wait price prediction for any route and dates — as clean, structured JSON. Powered by Hopper's own mobile API, so results are fast and reliable with no browser or proxy juggling.
Hopper is famous for one thing no other flight source gives you: a data-driven "should I book now or wait?" recommendation plus a forecast target price. This actor is the only way to pull that signal at scale.
Who is this for?
- Travel agencies & OTAs — benchmark fares and surface "book now" moments to clients.
- Fare-alert & price-tracking SaaS — power alerts with Hopper's prediction and forecast price.
- Travel analysts & researchers — study route pricing, seasonality, and how often "wait" beats "buy".
- Affiliates & content sites — enrich route pages with live prices and a trusted recommendation.
What you get (output fields)
| Field | Type | Description |
|---|---|---|
origin / destination | string | Airport IATA codes of the itinerary |
searchOrigin / searchDestination | string | Codes resolved from your input |
departureDate / returnDate | string | Travel dates (YYYY-MM-DD; return null for one-way) |
tripType | string | round_trip or one_way |
carrier | string | Primary marketing airline (e.g. B6, AA) |
stops | integer | Number of stops on the outbound |
durationMinutes | integer | Total outbound duration |
departureTime / arrivalTime | string | Local datetimes |
segments | array | Per-leg detail: origin, destination, carrier, flight number, times, layover |
price | number | Lowest total price for the itinerary |
currency | string | Price currency |
pricePerCabin | object | Lowest price per fare cabin/shelf |
predictionRecommendation | string | Hopper's buy / wait call |
predictionTitle / predictionBody | string | Human-readable recommendation |
forecastTargetPrice | number | Hopper's forecast/target price |
currentLowestPrice | string | Formatted current lowest price |
dealness | string | Deal-quality label |
scrapedAt | string | UTC ISO-8601 scrape time |
High-value use cases
- "Book now vs wait" automation — trigger a customer alert whenever
predictionRecommendationflips tobuyon a watched route. - Fare benchmarking — compare Hopper's lowest fare against your own inventory or other OTAs, per route and date.
- Seasonality research — schedule daily runs across routes/dates and chart how
forecastTargetPriceanddealnessevolve. - Content enrichment — drop live prices + a trusted recommendation onto route landing pages to boost affiliate conversion.
Input parameters
| Field | Type | Required | Default | Example |
|---|---|---|---|---|
origin | string | yes | — | New York or JFK |
destination | string | yes | — | Los Angeles or LAX |
departureDate | string | yes | — | 2026-09-15 |
returnDate | string | no | — | 2026-09-22 (omit for one-way) |
adults | integer | no | 1 | 2 |
children | integer | no | 0 | 1 |
seatedInfants | integer | no | 0 | 0 |
lapInfants | integer | no | 0 | 1 |
currency | string | no | USD | EUR |
maxResults | integer | no | 100 | 50 |
Example input
{"origin": "New York","destination": "Los Angeles","departureDate": "2026-09-15","returnDate": "2026-09-22","adults": 1,"currency": "USD","maxResults": 50}
Example output row
{"searchOrigin": "NYC","searchDestination": "LAX","origin": "JFK","destination": "LAX","departureDate": "2026-09-15","returnDate": "2026-09-22","tripType": "round_trip","carrier": "B6","stops": 1,"durationMinutes": 597,"departureTime": "2026-09-15T11:29:00.000","arrivalTime": "2026-09-15T18:27:00.000","segments": [{ "origin": "JFK", "destination": "FLL", "carrier": "B6", "flightNumber": "685", "departureTime": "2026-09-15T11:29:00.000", "arrivalTime": "2026-09-15T14:42:00.000", "durationMinutes": 193, "layoverMinutes": 73 }],"price": 326.19,"currency": "USD","predictionRecommendation": "wait","predictionTitle": "You should wait for a better price, but book before August 23.","forecastTargetPrice": 303.98,"currentLowestPrice": "$327","scrapedAt": "2026-07-23T12:00:00Z"}
Scheduling & integrations
- Schedule daily/hourly runs (Apify Scheduler) to track a route over time.
- Webhooks fire on run completion — push new fares straight into your app.
- Export to Google Sheets, CSV, JSON, Excel, or pull via the Apify API into Make, Zapier, n8n, or your data warehouse.
Use it from an AI agent (MCP)
This actor is callable over the Apify MCP server, so assistants like Claude or ChatGPT can fetch Hopper fares and the buy/wait signal as a tool — great for "find me the cheapest week to fly and tell me whether to book" agents.
FAQ
How many results per run? Up to maxResults outbound options for the route
and dates (typically 50–250 available). Each is one dataset row.
Is the price prediction included on every row? Yes — the search-level recommendation, forecast target price, and dealness are attached to each row so they're self-contained.
How fresh is the data? Live — every run queries Hopper in real time.
One-way and round-trip? Both. Omit returnDate for one-way.
Do I need proxies? No. The actor uses Hopper's mobile API directly; no browser or proxy configuration required.
Is it reliable? The mobile API is anonymous and has no anti-bot challenge, so runs are stable and low-maintenance.
Is scraping legal? You are responsible for complying with applicable laws and Hopper's terms. This actor collects only publicly available fare data and no personal data.