Sources · verification · updates

How we know what your bag costs.

Every baggage fee, fare-tier allowance, and credit-card benefit number BaggageIQ shows you traces back to a published source. This page documents what those sources are, how often we re-check them, and what to do when a number is wrong.

Short version: Airline baggage policies come directly from each airline's published fee pages, refreshed via a monitored research pipeline. Credit-card benefits come from each card issuer's published terms. Every row in the database carries a sourceUrl, a lastVerifiedAt date, and a confidence rating. When something changes, we ship the update in the next snapshot. When you spot a wrong number, the extension has a built-in correction button that goes straight to a queue we review.

The two databases

BaggageIQ runs on two bundled databases that ship inside the extension:

Both databases are encrypted at rest with AES-256-GCM and decrypted in the extension's service worker. The encryption is operational hygiene, not a confidence signal — the data itself comes from public sources we credit on every row.

Where airline baggage data comes from

The primary source for every airline is that airline's own published baggage policy page (typically /baggage, /baggage-policy, /fees, or equivalent). For each airline we capture:

Where airlines publish fees in multiple currencies, we capture each currency the airline officially quotes (USD, EUR, GBP, INR, AED, AUD, SGD, etc.). At runtime BaggageIQ converts to your search currency using daily rates from open.er-api.com, the same FX feed used in the extension.

Where credit-card data comes from

Every card benefit row sources from the card issuer's official terms-and-conditions document or benefits guide for that specific card. We do not source from credit-card review sites, points-and-miles blogs, or affiliate marketing pages — they go stale faster than the issuer pages and they're written to sell cards.

For each card we capture: the issuer, the card network, the region the card is issued in, and the benefits relevant to flight cost (free checked bags, seat-selection credits, lounge access, priority boarding). Each benefit row records the conditions that gate it: cardholder-only versus cardholder + companions, whether it requires booking the flight on the card, whether it requires a co-branded airline, and which airlines it applies to.

Confidence ratings

Every row in both databases carries a confidence field with three values:

High Sourced directly from the airline or card issuer's official page within the last 90 days. The page was machine-readable and the number is stated explicitly. Most rows fall here.
Medium Source is verified but either older than 90 days, requires interpretation (e.g. policy stated in prose rather than a table), or has fare-tier ambiguity that we resolved by best-effort inference.
Low Reserved for cases where the airline doesn't publish a clear fee schedule and we've reconstructed the rule from booking flow observations. Rare.

The extension's tooltip shows confidence implicitly through the "Estimated baggage cost" framing — we don't claim exactness on numbers we're not sure about.

How often the data is refreshed

The bundled databases inside the extension are refreshed on a regular cadence — typically every few weeks for the airline DB, more often when an airline announces a fee change. Card benefits move slower; those refresh quarterly unless an issuer announces a benefit change.

Between extension releases, BaggageIQ also performs lazy hydration: if the extension encounters an airline IATA code that isn't in the bundled snapshot (a small carrier, or a new partnership code), it queries the BaggageIQ data API for the latest data on that airline specifically. This is the only network round-trip per flight search, and it's cached for 7 days locally.

What we don't do

To keep the methodology honest, here are things BaggageIQ explicitly does not do:

Reporting wrong numbers

Every flight badge in the extension has a small footer with a "Report wrong fee" link. Clicking it opens a tiny form that captures what you observed (the actual fee at checkout) and sends it through the corrections endpoint at api.baggageiq.app/v1/corrections. The payload is minimal: airline IATA, route, cabin class, fare type, the observed fee, and your anonymous client ID. No personal data, no booking info, no flight numbers.

Corrections go into a review queue. We re-check the airline's published source and either confirm the new number or note that the original was correct (sometimes the booking site quoted the wrong fee — that's a different bug). Confirmed corrections ship in the next database refresh, usually within two weeks.

You can also email corrections directly to support@baggageiq.app with screenshots if the in-extension flow doesn't fit what you saw.

Where this methodology breaks

Three known limits of the current approach:

Last updated · May 9, 2026