Air Premia APIairpremia.com ↗
Access Air Premia lowest daily fares by route and cabin class, plus active promotions. 2 endpoints covering fare calendars and discount campaigns.
What is the Air Premia API?
The Air Premia API exposes 2 endpoints to retrieve fare and promotion data from airpremia.com. The get_sector_fares endpoint returns a per-day fare calendar for any supported origin-destination pair, breaking down costs by cabin class (Economy and Premium Economy) with base fare, taxes, and total. The list_promotions endpoint surfaces active and past discount campaigns with pagination support.
curl -X GET 'https://api.parse.bot/scraper/2b9336e1-2c30-459b-819c-5168290ff518/get_sector_fares?adults=1&origin=ICN&infants=0&children=0&end_date=2026-10-19&trip_type=OW&begin_date=2026-09-19&destination=LAX' \ -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 airpremia-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.
"""Walkthrough: Air Premia SDK — bounded, re-runnable; every call capped."""
from parse_apis.airpremia_com_api import AirPremia, TripType, InvalidInput
client = AirPremia()
# Search lowest fares for ICN → LAX sector
calendar = client.fare_calendars.search(origin="ICN", destination="LAX", trip_type=TripType.ONE_WAY)
for route in calendar.results[:3]:
for day in route.daily_fares[:3]:
if day.fares:
print(day.date, day.fares[0].total_fare, day.fares[0].cabin_class)
# Browse current promotions
for promo in client.promotions.list(limit=3):
print(promo.id, promo.name, promo.is_in_progress)
# Typed error handling
try:
client.fare_calendars.search(origin="ZZZ", destination="LAX")
except InvalidInput as e:
print("invalid input:", e)
print("exercised: fare_calendars.search, promotions.list")
Retrieve the lowest daily fare calendar for a given Air Premia route (origin-destination pair) over a date range. Returns per-day availability with fares broken down by cabin class (Economy and Premium Economy), including base fare, taxes, and total. Dates with no availability are marked as sold out. The API requires end_date to align to the last day of its month; any provided end_date is automatically snapped to the month's end. The maximum date span is 2 calendar months (e.g. begin in August allows end in September at most); wider ranges are automatically clamped.
| Param | Type | Description |
|---|---|---|
| adults | string | Number of adult passengers. |
| origin | string | 3-letter IATA airport code for departure (e.g. ICN, LAX, NRT). |
| infants | string | Number of infant passengers. |
| children | string | Number of child passengers. |
| end_date | string | End date for fare search in YYYY-MM-DD format. Automatically snapped to the last day of the given month, then clamped to at most 2 calendar months from begin_date. Defaults to end of next month. |
| trip_type | string | Trip type for fare lookup. |
| begin_date | string | Start date for fare search in YYYY-MM-DD format. Must be today or later; dates in the past are automatically adjusted to today. Defaults to today. |
| destination | string | 3-letter IATA airport code for arrival (e.g. LAX, NRT, HKG, SFO, EWR, HNL, BKK, IAD). |
{
"type": "object",
"fields": {
"origin": "string — departure airport code",
"results": "array of route fare results with daily_fares",
"end_date": "string — end date of the fare calendar",
"trip_type": "string — OW or RT",
"begin_date": "string — start date of the fare calendar",
"destination": "string — arrival airport code"
},
"sample": {
"data": {
"origin": "ICN",
"results": [
{
"origin": "ICN",
"daily_fares": [
{
"date": "2026-08-04",
"fares": [],
"sold_out": true,
"no_flights": false
},
{
"date": "2026-08-05",
"fares": [
{
"base_fare": 1625000,
"total_fare": 1875600,
"cabin_class": "EY",
"product_class": "YS",
"taxes_and_fees": 250600,
"available_count": 1
},
{
"base_fare": 2015000,
"total_fare": 2265600,
"cabin_class": "PE",
"product_class": "PS",
"taxes_and_fees": 250600,
"available_count": 4
}
],
"sold_out": false,
"no_flights": false
}
],
"destination": "LAX"
}
],
"end_date": "2026-09-30",
"trip_type": "OW",
"begin_date": "2026-08-04",
"destination": "LAX"
},
"status": "success"
}
}About the Air Premia API
Fare Calendar by Route
The get_sector_fares endpoint accepts IATA airport codes for origin and destination, a begin_date and end_date in YYYY-MM-DD format, passenger counts (adults, children, infants), and a trip_type (one-way or round-trip). It returns a structured response containing a results array of route fare objects, each with a daily_fares breakdown. Each day entry distinguishes Economy from Premium Economy fares and includes base fare, taxes, and total. Dates with no available inventory are omitted from the results. The default date window runs from today through 57 days out if no dates are specified.
Promotions Listing
The list_promotions endpoint returns Air Premia promotional events with full pagination via page (1-based) and size parameters. The response includes a promotions array of campaign objects and page_info metadata. Promotions cover a range of types including route-specific fare sales, credit card partnership deals, and seasonal discount campaigns — both currently active and historical.
Route Coverage and Data Shape
Air Premia operates a focused long-haul network with destinations including ICN (Seoul Incheon), LAX, SFO, NRT, HKG, EWR, HNL, BKK, and IAD. The fare calendar endpoint is built around these sectors. The API does not expose seat maps, individual flight schedules with departure times, or booking/reservation functionality — it is scoped to lowest-fare discovery and promotional awareness.
The Air Premia API is a managed, monitored endpoint for airpremia.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when airpremia.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 airpremia.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 fare alert tool that monitors daily_fares across Air Premia routes for price drops below a target threshold
- Populate a flight price comparison widget with lowest Economy and Premium Economy fares for ICN-LAX or ICN-SFO
- Track round-trip vs. one-way fare spreads over a 57-day window using the trip_type parameter
- Aggregate Air Premia promotions to surface current discount campaigns alongside fares in a travel deals dashboard
- Analyze fare patterns across multiple origin-destination pairs to identify low-fare travel windows
- Display a fare calendar heatmap for a specific route, highlighting cheapest days using daily_fares data
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.