Discover/Air Canada API
live

Air Canada APIaircanada.com

Search Air Canada flights by route, date, and passenger count. Returns full fare family pricing, segment details, and schedules via a single API endpoint.

Endpoint health
verified 4d ago
search_flights
1/1 passing latest checkself-healing
Endpoints
1
Updated
26d ago

What is the Air Canada API?

The Air Canada API provides one endpoint — search_flights — that returns all available flights between two airports on a given date, covering up to six fare families (Basic, Standard, Flex, Comfort, Latitude, Business) per itinerary. Each response includes at least 10 structured fields per flight object: departure and arrival times, total duration, segment breakdown, aircraft type, and per-cabin pricing, along with a summary of the cheapest fare by cabin across the full result set.

Try it
Departure date in YYYY-MM-DD format
Number of youth passengers
Number of adult passengers
Origin airport IATA code (e.g., LGA, YVR, JFK, YYZ)
Country code for pricing (e.g., US, CA)
Number of child passengers
Trip type: OneWay or RoundTrip
Destination airport IATA code (e.g., YYZ, YUL, LAX, YVR)
Number of infants on lap
Return date in YYYY-MM-DD format (required when trip_type is RoundTrip)
Number of infants with seat
api.parse.bot/scraper/d1ff8525-8a52-45df-910a-5b13ba14d6d9/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/d1ff8525-8a52-45df-910a-5b13ba14d6d9/search_flights?date=2026-07-25&youth=0&adults=1&origin=YYZ&country=US&children=0&trip_type=OneWay&destination=YVR&infants_lap=0&return_date=2026-08-01&infants_seat=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 aircanada-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.

"""Air Canada Flight Search — find flights, compare fares, inspect segments."""
from datetime import datetime, timedelta
from parse_apis.air_canada_flight_search_api import AirCanada, TripType, RouteNotFound

client = AirCanada()

# Search for one-way flights from Toronto to Vancouver, capped at 5 results.
departure = (datetime.now() + timedelta(days=14)).strftime("%Y-%m-%d")
for flight in client.flights.search(
    origin="YYZ", destination="YVR", date=departure,
    trip_type=TripType.ONE_WAY, limit=5
):
    print(flight.departure_datetime, flight.duration, flight.number_of_stops)

# Drill into the first result's segments and fares.
flight = client.flights.search(
    origin="LGA", destination="YUL", date=departure, limit=1
).first()
if flight:
    for seg in flight.segments:
        print(seg.marketing_airline.code, seg.marketing_airline.flight_number,
              seg.aircraft.name, seg.departure.airport, seg.arrival.airport)
    for cabin in flight.fares:
        for offer in cabin.offers:
            print(cabin.cabin_code, offer.fare_family, offer.total_fare_rounded)

# Handle a route that may not exist.
try:
    result = client.flights.search(
        origin="YYZ", destination="YVR", date=departure, limit=1
    ).first()
    if result:
        print(result.origin, result.destination, result.duration)
except RouteNotFound as exc:
    print(f"No flights: {exc.origin} → {exc.destination} on {exc.date}")

print("exercised: flights.search / segment details / fare comparison / RouteNotFound handling")
All endpoints · 1 totalmissing one? ·

Search for available Air Canada flights between two airports on a given date. Returns all flight options with detailed pricing, fare rules, aircraft info, and segment details. Supports one-way and round-trip searches with multiple passenger types. Each flight includes segments with aircraft details, and fares across cabin classes (Economy Y, Premium Economy O, Business J) with multiple fare families per cabin.

Input
ParamTypeDescription
daterequiredstringDeparture date in YYYY-MM-DD format
youthintegerNumber of youth passengers
adultsintegerNumber of adult passengers
originrequiredstringOrigin airport IATA code (e.g., LGA, YVR, JFK, YYZ)
countrystringCountry code for pricing (e.g., US, CA)
childrenintegerNumber of child passengers
trip_typestringTrip type: OneWay or RoundTrip
destinationrequiredstringDestination airport IATA code (e.g., YYZ, YUL, LAX, YVR)
infants_lapintegerNumber of infants on lap
return_datestringReturn date in YYYY-MM-DD format (required when trip_type is RoundTrip)
infants_seatintegerNumber of infants with seat
Response
{
  "type": "object",
  "fields": {
    "search": "object containing origin, destination, departure_date, trip_type, and currency",
    "filters": "object containing airlines array, connectionAirports array, and stops array",
    "flights": "array of flight objects each with id, ranking, departure/arrival times, duration, segments, and fares across cabins",
    "summary": "object containing total_flights count, minimum_travel_time_minutes, and cheapest_by_cabin prices"
  }
}

About the Air Canada API

What the API Returns

The search_flights endpoint accepts an origin and destination as IATA codes (e.g., YYZ, LAX, JFK), a departure date in YYYY-MM-DD format, and optional passenger counts for adults, youth, and children. It returns a flights array where each entry includes a unique flight id, a ranking score, departure and arrival timestamps, total duration, and a nested segments array for multi-leg itineraries. The fares object within each flight breaks down pricing across all available cabin classes for that specific routing.

Filters and Summary Data

Alongside the flights array, the response includes a filters object listing the airlines, connectionAirports, and stops arrays — useful for building UI filter controls without a separate metadata call. The summary object provides total_flights count, minimum_travel_time_minutes for the route, and cheapest_by_cabin prices so you can surface lowest fares per cabin class without iterating the full result set yourself.

Search Configuration

The trip_type parameter accepts OneWay or RoundTrip. A country code (e.g., US, CA) can be passed to control the currency context of returned prices. All pricing in the response reflects the currency indicated in the top-level search object, which also echoes back the origin, destination, departure_date, and trip_type for confirmation.

Reliability & maintenanceVerified

The Air Canada API is a managed, monitored endpoint for aircanada.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when aircanada.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 aircanada.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.

Last verified
4d ago
Latest check
1/1 endpoint passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Compare fare family pricing (Basic vs. Latitude vs. Business) for a specific route and date before booking
  • Build a flight price tracker that monitors cheapest_by_cabin across multiple dates for budget alerts
  • Aggregate connection airport options from the filters.connectionAirports field to analyze Air Canada hub routing
  • Display minimum travel time for a corridor using summary.minimum_travel_time_minutes in a route comparison tool
  • Calculate per-passenger total cost by combining fare data with adult, youth, and child passenger counts
  • Populate a search results UI with stop-count filters using the filters.stops array from the response
  • Analyze aircraft type distribution across Air Canada routes using segment-level aircraft data
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Air Canada have an official developer API?+
Air Canada does not publish a public developer API or self-serve API portal. There is no official documentation or API key program available to third-party developers.
What does the `fares` field in each flight object contain?+
The fares object contains pricing and fare rule data for each available cabin class on that flight — spanning up to six fare families: Basic, Standard, Flex, Comfort, Latitude, and Business. Not every fare family will be present for every flight; the response only includes cabins actually available for that routing and date.
Does the API return return-leg flight options for round-trip searches?+
The trip_type parameter accepts RoundTrip, but the current API structure surfaces outbound flight options with pricing. Full return-leg itinerary results as a separate bookable set are not currently broken out in the response schema. You can fork this API on Parse and revise it to add a return-date parameter and a dedicated return-flights response array.
Does the API cover codeshare or partner airline flights on Air Canada routes?+
The filters.airlines array in the response reflects which airlines appear in results for a given search, which can include partner carriers on shared routes. However, non-Air Canada-operated itineraries are not guaranteed to appear, and separate endpoints for partner or codeshare-only searches are not currently included. You can fork this API on Parse and revise it to scope results to specific airline codes from the filters array.
How fresh is the pricing data returned by the API?+
The API returns pricing as it appears on aircanada.com at the time of the request. Airfares change frequently — sometimes multiple times per day — so results reflect a point-in-time snapshot and should not be cached for extended periods if fare accuracy matters to your use case.
Page content last updated . Spec covers 1 endpoint from aircanada.com.
Related APIs in TravelSee all →
skiplagged.com API
Search for flights across airlines including hidden-city ticketing options, and look up airport information by name or code to find the best travel deals. Access Skiplagged's flight inventory and routing data to discover cheaper itineraries and alternative airport combinations.
us.trip.com API
Search for flights across Trip.com and view a low-price calendar to find the cheapest travel dates for your destination. Compare flight options and prices to book your next trip at the best rates available.
alaskaair.com API
Search for Alaska Airlines award flight availability and pricing in miles, including taxes, fees, and seat details across airports and cities. Look up airport and city codes to find the perfect mileage redemption for your next trip.
flightconnections.com API
Search for flights with detailed information about pricing, schedules, and layover options to find the best travel connections for your trips. Compare multiple flight choices and their costs in one convenient search.
virginaustralia.com API
Search Virgin Australia flights and browse fare calendars to find the best prices, while exploring available destinations and current flight specials all in one place. Get real-time flight options and pricing information to plan your next trip with ease.
united.com API
Search United Airlines flights, check real-time flight status, and view detailed seat maps to plan your perfect trip. Compare fare options and use airport autocomplete to quickly find your departure and arrival cities.
smiles.com.br API
Search for available flights on Smiles and compare fares across one-way and round-trip routes. Retrieve pricing for standard Smiles, Clube Smiles, and Smiles+Money fare types, including miles requirements, cash portions, and applicable taxes.
kayak.com.hk API
Search for flights and compare prices across airlines and routes, including flexible-date searches across multiple origin airports. View monthly price calendars to find the cheapest travel dates and get real-time fare information for any route.