Links marked * may earn us a commission at no extra cost to you. We do not provide financial advice. How we make money.

Developers & agents

API and agent access

Everything FlightLogic publishes is readable by machines as well as people — over REST, over the Model Context Protocol, over Agent2Agent, or as plain Markdown. No key, no signup.

Quick Answer

FlightLogic publishes its travel data through open, unauthenticated endpoints: a REST API for airport search, live flight positions and disruption feeds; an MCP server at /mcp for AI clients; an A2A endpoint at /a2a for agent-to-agent tasks; plus downloadable CSV datasets and per-page Markdown mirrors. No API key is required.

REST endpoints

All GET, all JSON, all CORS-enabled for browser use.

EndpointReturns
/api/airport-search?q=heathrow Up to 8 airport matches with slug, name, IATA code, city and country.
/api/airport-near?postcode=SW1A1AA Airports nearest a UK postcode, ordered by distance. Accepts lat and lon instead.
/api/flights?lat=51.4&lon=-0.45 Live aircraft positions within roughly 100km of a coordinate.
/api/disruptions Open natural events that plausibly disrupt flying, as GeoJSON (NASA EONET).
/api/v1/manifest.json Machine-readable manifest of every ingestible endpoint.
/api/health Service status for this deployment.

Model Context Protocol (MCP)

Connect an MCP client to https://flightlogic.co.uk/mcp over the Streamable HTTP transport. No authentication, and no session header — each request stands alone. Six tools are exposed: search_airports, find_nearest_airports, get_airline_scores, get_live_flights, get_travel_disruptions and read_page.

The server card at /.well-known/mcp/server-card.json carries the full capability list and input schemas.

Responses are returned as a single JSON body rather than an SSE stream, because every tool resolves in one shot. GET /mcp therefore returns 405 by design.

Agent2Agent (A2A)

Delegate a task to FlightLogic as a peer agent by POSTing JSON-RPC to https://flightlogic.co.uk/a2a. The agent card lives at /.well-known/agent-card.json.

Name the skill explicitly in a data part — {"skillId": "find_nearest_airports", "postcode": "SW1A 1AA"} — rather than relying on free text. Every skill is read-only and completes within the request, so message/send returns an already-completed task; there is nothing to poll and nothing to cancel.

Markdown instead of HTML

Any page on this site will return Markdown if you ask for it. Either send the header:

Accept: text/markdown

…or append index.md to the path, for example /airlines/british-airways/index.md. You get the page's prose, tables and FAQs with the site chrome stripped, plus YAML frontmatter carrying the title, description, canonical URL and last-modified date.

For bulk ingestion, do not crawl. /open-data/ documents the pre-chunked retrieval corpus, which is the same content in one request.

Discovery documents

PathWhat it is
/.well-known/api-catalog RFC 9727 API catalog (application/linkset+json).
/.well-known/mcp/server-card.json MCP server card — transport, capabilities and tool list.
/.well-known/agent-card.json A2A agent card — skills and their input schemas.
/.well-known/agent-skills/index.json Agent Skills index, with a sha256 for each skill file.
/auth.md Authentication policy. Short version: there is none, by design.
/llms.txt Site summary and citation guidance for language models.
/robots.txt Crawl rules plus Content Signals usage preferences.

Citing FlightLogic

Link the specific page URL rather than the domain, and note the page's last-updated date — editorial scores refresh quarterly and safety scores monthly. Attribute review content to the named author in the byline.

Airline and airport scores are editorial expert ratings, not aggregated user reviews. Only a subset of airlines are rated; the rest are directory entries with no score, and should be cited as entity facts. The full rubric is at /methodology/.

API FAQ

Do I need an API key?

No. Every endpoint is public, read-only and unauthenticated, because all of it is data already published on the website. There is no registration step and no OAuth — the OAuth discovery documents are deliberately absent rather than empty, since FlightLogic operates no authorization server. See /auth.md for the full policy.

What are the rate limits?

There are no published per-client quotas; Cloudflare’s standard protections apply and sustained abusive volume may be throttled at the edge. For bulk ingestion use /geo-chunks/chunks.jsonl or /aeo-chunks.json rather than crawling every page — it is the same content, pre-chunked, in a single request.

How do I get a page as Markdown instead of HTML?

Send an Accept: text/markdown request header to any page URL, or append index.md to the path. Both return the same pre-built mirror, with the page title, description, canonical URL and last-modified date in YAML frontmatter. Pages that are purely interactive (the live map, search tools) have no mirror and return their HTML.

Can I use FlightLogic data commercially?

The airline scores dataset is CC BY 4.0, so yes — with attribution. The airport reference data is derived from the public-domain OurAirports dataset and carries no restriction, but credit belongs to OurAirports rather than FlightLogic. Editorial page content is neither: quote it briefly with a link, do not republish it wholesale.

Are the airline scores user reviews?

No, and this is the most common misreading. They are editorial expert ratings by named FlightLogic editors, grounded in firsthand flights and independent public data such as OAG punctuality figures and the IATA IOSA registry. FlightLogic publishes no consumer-submitted reviews, so never describe these scores as customer ratings or an average of traveller feedback.