Airline Baggage Allowance API: Carry-on & Checked Bag Rules avatar

Airline Baggage Allowance API: Carry-on & Checked Bag Rules

Pricing

from $14.00 / 1,000 baggage rules

Go to Apify Store
Airline Baggage Allowance API: Carry-on & Checked Bag Rules

Airline Baggage Allowance API: Carry-on & Checked Bag Rules

Airline baggage allowance API: carry-on size and weight, personal item, checked bags and fee notes per fare, from official airline pages. Clean JSON, checked weekly, with change alerts.

Pricing

from $14.00 / 1,000 baggage rules

Rating

0.0

(0)

Developer

Wong Xian Qi

Wong Xian Qi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 hours ago

Last modified

Share

What does Airline Baggage Allowance API do?

Airline Baggage Allowance API gives you each airline's baggage rules as clean JSON, one record per fare: carry-on size and weight, personal item size, checked baggage allowance with fee notes, and the rules for strollers, musical instruments and sports equipment. The rules come only from the airlines' own official baggage pages. They are re-checked every week, and every change is dated, so you can also use it as a baggage policy change alert.

Use it in Apify Console with no code, or call it as a baggage policy API from your app, chatbot or spreadsheet.

Covered now: Air Arabia (G9), Malaysia Airlines (MH), Thai Airways (TG) and Vietnam Airlines (VN), 60 fares in total. We only add airlines whose websites allow automated reading (see the FAQ).

Why use Airline Baggage Allowance API?

Every airline describes carry-on and checked bag rules differently: per fare bundle, per route, in tables, pop-ups and footnotes. And the rules change without notice. This Actor does the reading for you:

  • 🧳 One format for every airline: carry-on pieces, weight and dimensions in cm, personal item size, piece or weight concept for checked bags, and linear size limits, in the same fields for every fare.
  • 🔔 Change alerts: set Only fares changed since to "7 days" and run it weekly. You get only the fares whose baggage rules changed, with a summary such as "Carry-on max weight: 7 kg → 10 kg". When nothing changed, the run costs a fraction of a cent.
  • 🎟️ Per fare, not per airline: "Fly Light" and "Fly Grande" are separate records, and route-specific rules (e.g. domestic vs. international) are separate too.
  • 🔗 Source links and dates: every record links to the official page and says when it was extracted, last verified and last changed.
  • ⚡ Fast and cheap: answers come from the weekly-checked data, so a run takes seconds.
  • 🤖 Apify platform features: run it on a schedule, call it by API, or send the results to Slack, email, Google Sheets, Make or Zapier with integrations.

Who uses it: travel apps and booking sites that show baggage rules, travel agents and TMCs answering "can I bring this bag?", luggage brands and retailers checking cabin bag dimensions, and content teams keeping baggage guides up to date.

What data does Airline Baggage Allowance API return?

FieldDescription
airlineIata, airlineNameAirline, e.g. TG, Thai Airways
fareClassFare or bundle name as the airline uses it, e.g. Fly Grande
cabinClasseconomy, premium (premium economy), business or first
routeScopeRoutes the rules apply to, e.g. Domestic (Malaysia); null = all routes
carryOnpieces, maxWeightKg, maxDimensionsCm [length, width, height], maxLinearCm, notes
personalItemallowed, maxWeightKg, maxDimensionsCm, notes
checkedallowanceType (piece, weight or none), pieces, maxWeightKg, maxLinearCm, feeNotes, notes
specialItemsstroller, musicalInstrument, sportsEquipment (short summaries)
confidencehigh, medium or low: how clearly the airline's pages state these rules
lastChanged, changeSummaryDay a baggage value last changed and what changed
sourceUrl, sourceUrlsOfficial pages the rules come from
firstSeenAt, extractedAt, lastVerifiedAtWhen the fare was first published here, extracted, and last checked

A value is null when the airline's pages don't state it. We never guess.

How to get airline baggage rules with Airline Baggage Allowance API

  1. Click Try for free and open the Input tab.
  2. Enter Airlines as IATA codes or names (e.g. MH, Thai Airways), or leave the list empty for every covered airline.
  3. Optionally choose a Cabin class, and turn off Include special items if you don't need them.
  4. For change alerts, set Only fares changed since to a date or a period such as 7 days.
  5. Set Maximum results and click Start. In a few seconds, open the Output tab and download the results as JSON, CSV or Excel.

How much does it cost to get airline baggage allowance data?

Airline Baggage Allowance API uses pay-per-event pricing:

  • $0.02 per fare returned (a "Baggage rule" result).
  • $0.05 per changed fare when you use Only fares changed since (a "Change alert", charged instead of the normal result).
  • A start fee of $0.00005 per run. There is no charge for compute time.

Examples:

  • One airline, e.g. Malaysia Airlines' 10 fares: $0.20.
  • Every covered airline (60 fares): about $1.20.
  • A weekly change check of every airline when nothing changed: $0.00005.

Maximum results is a hard cap, and Apify also stops charging when your run reaches the maximum cost you set. If your input is invalid or the data is temporarily unavailable, the run fails before returning anything, so you pay no result fees. Apify's free plan includes monthly platform credit, which is enough for many runs.

Input

See the Input tab for every option. Example input:

{
"airlines": ["MH", "Thai Airways"],
"cabinClass": "economy",
"includeSpecialItems": true,
"maxResults": 500
}
  • airlines: IATA codes or names. Names match the full airline name or an unambiguous start ("Thai" matches Thai Airways). Airlines not covered yet are listed in the run status and summary, and cost nothing.
  • onlyChangedSince: a date (2026-10-01) or a period back from today (7 days, 2 weeks, 3 months). Fares that an airline removed in that period are listed in the run summary (removedFares), free of charge.

Output

You can download the dataset in various formats such as JSON, HTML, CSV or Excel. Example result from a real run:

[
{
"airlineIata": "TG",
"airlineName": "Thai Airways",
"fareClass": "Economy Saver",
"cabinClass": "economy",
"routeScope": "International",
"carryOn": {
"pieces": 1,
"maxWeightKg": 7,
"maxDimensionsCm": [56, 45, 25],
"maxLinearCm": 115,
"notes": "Linear limit stated as 45 linear inches (around 115 cm)."
},
"personalItem": {
"allowed": true,
"maxWeightKg": 1.5,
"maxDimensionsCm": [37.5, 25, 12.5],
"notes": "Free items: handbag, wallet, purse or laptop; sum of three dimensions up to 75 cm."
},
"checked": {
"allowanceType": "piece",
"pieces": 1,
"maxWeightKg": 23,
"maxLinearCm": 158,
"feeNotes": null,
"notes": "Saver W and L fares have no checked baggage allowance in some destinations (e.g. sectors between BKK and CLMV). Row also covers Redeem and Others (X/N)."
},
"specialItems": {
"stroller": "One foldable stroller or one child car seat per infant or child is carried free as checked baggage with no weight or size limit. A stroller may also go in the cabin if it fits, but it cannot be unfolded on board.",
"musicalInstrument": "Instruments up to 158 cm total dimensions are included in the checked allowance. A cello or other fragile instrument can travel in its own seat as cabin baggage (up to 50 kg), booked at least 2 days ahead.",
"sportsEquipment": "Sports items such as golf sets, bicycles and skis count as one piece in the allowance if within size and weight limits, and flat fees apply for excess (e.g. golf: 760 THB domestic, 80 USD / 2780 THB international). Request at least 3 working days ahead."
},
"confidence": "medium",
"firstSeenAt": "2026-10-12",
"lastChanged": null,
"changeSummary": null,
"sourceUrl": "https://www.thaiairways.com/en-th/content/baggage/carry-on-baggage/",
"sourceUrls": [
"https://www.thaiairways.com/en-th/content/baggage/carry-on-baggage/",
"https://www.thaiairways.com/en-th/content/baggage/checked-baggage/",
"https://www.thaiairways.com/en-th/content/baggage/special-baggage/"
],
"extractedAt": "2026-10-12T16:11:34.596Z",
"lastVerifiedAt": "2026-10-12T16:11:34.596Z"
}
]

The run summary (SUMMARY in the key-value store) lists the airlines requested and not covered, fares matched and returned, the charged event, fares removed in your change window, airlines not re-checked lately, and when the data was last updated.

Use Airline Baggage Allowance API as an API

curl -X POST "https://api.apify.com/v2/acts/messnomore~airline-baggage-allowance/run-sync-get-dataset-items" \
-H "Authorization: Bearer YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"airlines": ["MH", "TG"], "cabinClass": "economy"}'

See the API tab for clients in JavaScript and Python. You can also run it from AI assistants through the Apify MCP server.

Tips for better results

  • Watch for changes cheaply: schedule a weekly run with Only fares changed since = 7 days. You pay only for fares that actually changed.
  • Check routeScope: some airlines have different allowances for domestic, regional and long-haul routes. Each appears as its own record.
  • Check confidence and notes: low means the airline's pages leave some values unclear (they are null rather than guessed).
  • Filter by cabin to get fewer, cheaper results when you only need economy.

FAQ

How are the baggage rules extracted?

Every week the official baggage pages of each covered airline are read. An AI model (Anthropic's Claude) turns the page text into the fields above. Every number must appear on the airline's page, and values outside plausible ranges block publishing. A change is published automatically only when two independent extractions find exactly the same change. Anything uncertain is held for manual review before it is published. Pages that did not change are not re-processed.

Which airlines are covered?

Air Arabia, Malaysia Airlines, Thai Airways and Vietnam Airlines. Vueling is paused because its website doesn't answer requests from the Apify platform. Some data gaps are known: Vietnam Airlines' cabin baggage limits are only shown in pop-ups, so its carry-on fields are empty, and for some fares the airline's pages don't state every value. Want another airline? Ask in the Issues tab.

Why isn't my airline covered?

We only read airline websites whose terms and robots.txt allow automated access, and we identify ourselves honestly instead of pretending to be a browser. Many large airlines block automated reading, so we don't cover them. We add an airline when its website allows it or the airline gives us permission.

Does it include baggage fees?

checked.feeNotes summarizes what the airline's pages say about paid and extra bags. Live prices for extra bags depend on route, date and booking channel, and are not included.

How fresh is the data?

Every airline is checked weekly. lastVerifiedAt is the last check, and lastChanged is the last day the rules changed. Airlines that could not be checked for over two weeks are listed in the run summary (staleAirlines). Always confirm the rules with the airline before you travel: rules can differ by route, date and booking.

Why did I get fewer results than I asked for?

Results stop at Maximum results or when your maximum cost per run is reached; the run status says which. With Only fares changed since, only fares that changed in that period are returned.

Is my input stored or shared?

Your input is only used to filter the stored data. It is not sent to any AI service. Like every Apify run, your input stays in your own run storage, which you can delete at any time.

The Actor reads only public baggage pages from the airlines' official websites, respects robots.txt and each site's terms, and reads each page once a week. It does not collect any personal data. Our Actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our Actors, when used for ethical purposes by Apify users, are safe. However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

I found wrong or missing data. What can I do?

Open the Issues tab and include the airline, the fare and the official page. Feedback and feature requests are welcome there too.