FlightConnections APIflightconnections.com ↗
Search one-way flights between any two airports by IATA code and date. Returns pricing, schedules, layover details, and booking links via the FlightConnections API.
What is the FlightConnections API?
The FlightConnections API exposes a single search_flights endpoint that returns up to one-connection flight options between any two airports, covering 14 response fields per flight including price, currency, departure and arrival times, total duration, layover details, and direct booking links. Specify origin and destination as IATA codes, provide a date in any of three accepted formats, and optionally cap layover duration to filter results to your tolerance.
curl -X GET 'https://api.parse.bot/scraper/1f2490a2-e17c-4abc-b130-1e5d59bd7a66/search_flights?date=09%2F09%2F2026&origin=ARN&destination=IAH&max_layover_hours=5' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace flightconnections-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""FlightConnections SDK — search flights, inspect layovers, handle errors."""
from parse_apis.flightconnections_flight_search_api import (
FlightConnections,
Flight,
InvalidDateFormat,
)
client = FlightConnections()
# Search flights from Stockholm to Houston, capped at 5 results
for flight in client.flights.search(origin="ARN", destination="IAH", date="14/11/2026", limit=5):
print(flight.airline, flight.price, flight.currency, flight.departure_time)
# Drill into the first result to inspect layover details
flight = client.flights.search(
origin="ARN", destination="IAD", date="2026-12-01", max_layover_hours=3, limit=1
).first()
if flight:
print(flight.origin, "->", flight.destination, "duration:", flight.duration_total, "s")
for layover in flight.layovers:
print(" layover at", layover.airport, "for", layover.duration_hours, "hours")
# Typed error handling for invalid date format
try:
bad = client.flights.search(origin="JFK", destination="LAX", date="not-a-date", limit=1).first()
except InvalidDateFormat as exc:
print(f"Invalid date: {exc}")
print("exercised: flights.search / layover inspection / InvalidDateFormat catch")
Search for one-way flights between two airports on a specific date. Returns flight options with up to one connection, filtered by maximum layover duration. Each result includes pricing in USD, airline codes, departure/arrival times (UTC), total duration in seconds, layover details (connecting airport and wait time), and a booking link. Paginates as a single page of up to 50 results after server-side filtering by stopovers and layover ceiling.
| Param | Type | Description |
|---|---|---|
| daterequired | string | Date of flight. Accepted formats: 14Nov2026, 2026-11-14, 14/11/2026. |
| originrequired | string | Origin airport IATA code (3-letter uppercase, e.g. ARN, IAD, IAH). |
| destinationrequired | string | Destination airport IATA code (3-letter uppercase, e.g. IAH, IAD, ARN). |
| max_layover_hours | number | Maximum layover duration in hours for flights with one connection. |
{
"type": "object",
"fields": {
"count": "integer total number of flights returned",
"params": "object echoing the search parameters used (origin, destination, date, max_layover_hours)",
"flights": "array of flight objects, each containing id, price, currency, departure_time, arrival_time, origin, destination, duration_total (seconds), layovers (array), airline, and booking_link"
}
}About the FlightConnections API
What the API Returns
The search_flights endpoint accepts an origin IATA code, a destination IATA code, a travel date, and an optional max_layover_hours filter. It returns a count integer, a params object echoing your query, and a flights array. Each flight object carries a unique id, price, currency, departure_time, arrival_time, origin, destination, duration_total in seconds, airline information, layover details for connecting flights, and a booking link.
Filtering and Date Formats
The date field is flexible: you can pass 14Nov2026, 2026-11-14, or 14/11/2026 — all three are accepted. The max_layover_hours parameter is optional and only affects results that include a connection; direct flights are unaffected by it. The API covers itineraries with at most one connection, so multi-stop routes with two or more layovers are outside scope.
Coverage and Use
Results are scoped to one-way itineraries. The currency field travels alongside price, so you know the denomination without additional lookups. Booking links are included directly in each flight object, making it straightforward to surface deep-link calls to action in travel tools. The params echo in the response is useful for logging or UI confirmation without client-side state management.
The FlightConnections API is a managed, monitored endpoint for flightconnections.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when flightconnections.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official flightconnections.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a flight price comparison widget using the
priceandcurrencyfields across multiple origin-destination pairs. - Alert users when fares drop below a threshold by polling
search_flightsand comparing the returnedpricevalues. - Filter out long layovers in travel-planning apps using the
max_layover_hoursparameter before presenting results. - Populate itinerary builders with
departure_time,arrival_time, andduration_totalfor accurate schedule display. - Surface direct booking links from the
booking_linkfield inside flight aggregator or metasearch interfaces. - Analyze airline frequency and pricing on a given route by logging results over time from the
flightsarray. - Feed travel chatbots with structured one-stop flight options including layover duration and connecting airport details.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does FlightConnections have an official public developer API?+
What does the `search_flights` endpoint return for connecting flights?+
price, currency, departure_time, arrival_time, origin, destination, duration_total, and a booking link. The max_layover_hours parameter lets you exclude connections whose layover exceeds your limit.