823,323 observed fares on 49,726 city pairs, collected continuously since 2026-06-14. Not a search engine snapshot: the same routes are observed again and again, so what you get here is the distribution of a route's price, which is the thing a live search can never tell you. Updated daily. Source: https://piratefly.com/?src=github

Prices are in EUR, per one-way fare as advertised, including the price shown at collection time.

A search engine tells you today's price. This tells you whether today's price is good: the median of what the same route has actually cost, the 10th percentile (what a good deal looks like), the lowest ever observed, and which departure months are cheap on that route. That judgement needs a history, and a history cannot be reconstructed after the fact — which is why this file exists.

The live version of this judgement, per route and in one call, is a free public MCP server

(flight_price_verdict, cheapest_months, when_to_book): https://piratefly.com/?src=github

- Every row is an observed advertised fare, stored at collection time, never a modelled estimate.

- A route × month group is published only with at least 5 observations; thinner groups are left out entirely instead of being filled with a plausible-looking median.

- Observation window: 2026-06-14 → 2026-09-22. Anything older than that does not exist here.

- Coverage follows where fares were found, not a designed sample: city pairs are unevenly represented and this is not a random sample of the world's air traffic.

- One-way advertised fares only. No taxes breakdown, no seat class, no availability guarantee, and a fare observed is not a fare you can still buy.

Piratefly flight fare history, 2026-09-23. 823,323 observed fares, 25,389 routes. https://piratefly.com/?src=github

Licence: CC BY 4.0 — use it, say where it came from.