{"slug": "show-hn-hermes-ryanair-price-api-with-historical-data", "title": "Show HN: Hermes – RyanAir price API with historical data", "summary": "An unofficial REST API and MCP server called Hermes now exposes Ryanair flight prices with historical data, holding 87.1 million append-only fare observations across 5,278 active routes and 224 airports in 36 countries, according to its developer. Hermes offers six read-only MCP tools, including get_cheapest_fares, get_price_history and find_price_drops, and a free guest tier with no signup that provides 90 days of history per route and 120 list/detail plus 30 time-series requests per minute. The service is not endorsed by Ryanair, and its fares are observations rather than offers that must be confirmed on ryanair.com before booking.", "body_md": "Hermes · REST + MCP · free, no signup.\n\n**Hermes** is an unofficial REST API and\n    [MCP server](#mcp) for Ryanair flight prices. Every observation\n    is kept, so it knows what a fare cost last week. Ryanair’s own\n    endpoints only know today.\n  \n\n[Swagger UI](/docs/) ·\n    [OpenAPI 3.1](/openapi.json) ·\n    [ReDoc](/redoc/) ·\n    [llms.txt](/llms.txt)\n\nFare observations\n\n87.1M\n\nappend-only, never overwritten\n\nActive routes\n\n5278\n\n224 airports, 36 countries\n\nRequests served\n\n99726\n\nall-time, across every endpoint\n\nLast 24 hours\n\n20257\n\nhourly buckets, peak-normalised\n\nPoint an AI assistant at Hermes and it answers flight questions for you.\n\n`https://hermes.brinkhorst.dev/mcp`\n\n```\nclaude mcp add --transport http hermes https://hermes.brinkhorst.dev/mcp\n```\n\nOr any client that takes JSON config:\n\n```\n{\n  \"mcpServers\": {\n    \"hermes\": {\n      \"type\": \"http\",\n      \"url\": \"https://hermes.brinkhorst.dev/mcp\"\n    }\n  }\n}\n```\n\nSix read-only tools:\n\n`get_cheapest_fares` cheapest fare per day for a route`get_price_history` the observed price time series`find_price_drops` fares that just moved, network-wide`explore_destinations` where can I go from here, cheapest first`search_airports` / `list_routes` network lookup\nTry: “is €60 a good price for Dublin to Barcelona in October?”\n\n```\ncurl https://hermes.brinkhorst.dev/api/v1/routes/DUB/BCN/cheapest\ncurl \"https://hermes.brinkhorst.dev/api/v1/anomalies/?kind=drop&limit=10\"\n```\n\n`GET /api/v1/airports/` list airports (filter by country, base)`GET /api/v1/routes/` list directed routes`GET /api/v1/routes/{origin}/{destination}/cheapest`` GET /api/v1/routes/{origin}/{destination}/history` price time series`GET /api/v1/anomalies/` recent price drops and spikes`GET /api/v1/explore?country=es` cheapest destinations from a country\nGuest tier: no key, 90 days of history per route, the full 90-day look-ahead window, 120 list/detail and 30 time-series requests per minute.\n\nThese URLs return a page to a browser, JSON to a client.\n\n    Full lists: [all 5278 routes](/api/v1/routes/),\n    [all 224 airports](/api/v1/airports/),\n    [latest price drops](/api/v1/anomalies/).\n  \n\n    Not a public one for fares. Ryanair's internal endpoints are undocumented\n    and unstable; Hermes wraps them behind a versioned\n    [OpenAPI 3.1](/openapi.json) contract.\n  \n\n    Yes — [this one](#mcp). Streamable HTTP at\n    `/mcp`, six read-only tools, no key required.\n  \n\nNo, and not endorsed by Ryanair. Fares are observations, not offers — confirm on ryanair.com before booking.\n\n    Nothing, and no signup. Limits under [guest tier](#guest-tier).", "url": "https://wpnews.pro/news/show-hn-hermes-ryanair-price-api-with-historical-data", "canonical_source": "https://hermes.brinkhorst.dev/", "published_at": "2026-09-11 14:58:37+00:00", "updated_at": "2026-09-11 15:15:01.625935+00:00", "lang": "en", "topics": ["ai-tools", "ai-products", "developer-tools"], "entities": ["Hermes", "Ryanair", "MCP", "OpenAPI 3.1", "Claude"], "alternates": {"html": "https://wpnews.pro/news/show-hn-hermes-ryanair-price-api-with-historical-data", "markdown": "https://wpnews.pro/news/show-hn-hermes-ryanair-price-api-with-historical-data.md", "text": "https://wpnews.pro/news/show-hn-hermes-ryanair-price-api-with-historical-data.txt", "jsonld": "https://wpnews.pro/news/show-hn-hermes-ryanair-price-api-with-historical-data.jsonld"}}