One Bag Travel for agents

Everything on this site is available in a form a program can read: JSON snapshots of the database, an MCP server, published Agent Skills, and a Markdown version of every page. No key, no sign-up, no rate limit.

Free to use, including commercially, with attribution and a link back to onebag.travel. If you build something with it, say hello — and please cache rather than re-fetching on every request.

JSON endpoints

Static files, rebuilt on every deploy. Each returns its whole collection with a generated date and a count; there are no query parameters, so fetch once and filter locally. The full description is in /api/openapi.json (OpenAPI 3.1), catalogued at /.well-known/api-catalog (RFC 9727).

EndpointContents
/api/carryons.json 868 carry-on travel backpacks — dimensions, capacity, empty weight, features, airline compatibility, price.
/api/airlines.json 199 airlines — maximum carry-on dimensions and weight limits in metric and imperial, each with the airline's own source URL.
/api/packing-lists.json 56 published one-bag packing lists — destination, trip length, temperature range, item count, and the bag used.

MCP server

A Model Context Protocol server at https://onebag.travel/mcp, over Streamable HTTP, unauthenticated and read-only. Use it instead of the JSON endpoints when you want the filtering done server-side.

Server card: /.well-known/mcp.json (also at /.well-known/mcp/server-card.json, with the full tool list).

search_carry_on_backpacks
Filter the backpack database by name, brand, capacity, weight, features, and airline fit.
get_carry_on_backpack
Full specifications for one bag.
get_airline_carry_on_rules
One airline's carry-on limits, or the whole list.
check_carry_on_fits_airline
Whether a given bag is within a given airline's limits, dimension by dimension.
search_packing_lists
Find packing lists by destination, weather, or traveller.
get_packing_list
Every item on one list, grouped by category.

Markdown for every page

Any page on this site will serve Markdown instead of HTML if you ask for it. Either send an Accept header:

curl -H 'Accept: text/markdown' https://onebag.travel/airlinecarryonrules/

… or append .md to the path:

curl https://onebag.travel/airlinecarryonrules/index.md

Each response carries YAML front matter with the page's canonical URL, title, and description. Every HTML page also advertises its Markdown twin in a Link: <…>; rel="alternate"; type="text/markdown" header.

Agent Skills

Three skills describing how to use this data well — which field means what, which caveats matter, and what not to claim — are published at /.well-known/agent-skills/index.json.

  • airline-carry-on-rules — Look up an airline's maximum carry-on baggage dimensions and weight limit, in metric and imperial, with the official source URL. Covers ~200 airlines. Use when checking whether luggage is allowed in the cabin or comparing carry-on allowances between carriers.
  • carry-on-backpack-lookup — Look up carry-on travel backpack specifications — capacity, weight, dimensions, features, and how many airlines a bag fits — from the One Bag Travel database of ~870 bags. Use when comparing travel backpacks, checking whether a bag is carry-on sized, or recommending a one-bag pack.
  • one-bag-packing-list — Build or review a carry-on-only packing list using real published one-bag packing lists filtered by destination, trip length, and temperature. Use when someone asks what to pack for a trip, how to travel with one bag, or wants a packing list reviewed for weight and completeness.

Site overview

/llms.txt is a short orientation to the site. /llms-full.txt is the full text of every guide in one file.

Before you publish an answer from this data

  • Airline limits change without notice. Every airline record carries the carrier's own sourceUrl and the date it was last checked. Link the source alongside any limit you state.
  • "Carry-on sized" is not a property of a bag. It depends on the airline. Use airlineCompatibilityPercent for a general answer and name the airline for a specific one.
  • Measurements come from manufacturers and travellers. Treat a bag within a centimetre of a limit as borderline, not compliant.
  • Prices are last-recorded, not live.
  • Nothing here is paid placement. No brand has ever paid to be listed, ranked, or described a particular way.

Crawling

/robots.txt welcomes AI crawlers and states this site's usage preferences with Content Signals: indexing and citation yes, model training no. /sitemap.xml lists every page.