# Show HN: Hermes – RyanAir price API with historical data

> Source: <https://hermes.brinkhorst.dev/>
> Published: 2026-09-11 14:58:37+00:00

Hermes · REST + MCP · free, no signup.

**Hermes** is an unofficial REST API and
    [MCP server](#mcp) for Ryanair flight prices. Every observation
    is kept, so it knows what a fare cost last week. Ryanair’s own
    endpoints only know today.
  

[Swagger UI](/docs/) ·
    [OpenAPI 3.1](/openapi.json) ·
    [ReDoc](/redoc/) ·
    [llms.txt](/llms.txt)

Fare observations

87.1M

append-only, never overwritten

Active routes

5278

224 airports, 36 countries

Requests served

99726

all-time, across every endpoint

Last 24 hours

20257

hourly buckets, peak-normalised

Point an AI assistant at Hermes and it answers flight questions for you.

`https://hermes.brinkhorst.dev/mcp`

```
claude mcp add --transport http hermes https://hermes.brinkhorst.dev/mcp
```

Or any client that takes JSON config:

```
{
  "mcpServers": {
    "hermes": {
      "type": "http",
      "url": "https://hermes.brinkhorst.dev/mcp"
    }
  }
}
```

Six read-only tools:

`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
Try: “is €60 a good price for Dublin to Barcelona in October?”

```
curl https://hermes.brinkhorst.dev/api/v1/routes/DUB/BCN/cheapest
curl "https://hermes.brinkhorst.dev/api/v1/anomalies/?kind=drop&limit=10"
```

`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
Guest 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.

These URLs return a page to a browser, JSON to a client.

    Full lists: [all 5278 routes](/api/v1/routes/),
    [all 224 airports](/api/v1/airports/),
    [latest price drops](/api/v1/anomalies/).
  

    Not a public one for fares. Ryanair's internal endpoints are undocumented
    and unstable; Hermes wraps them behind a versioned
    [OpenAPI 3.1](/openapi.json) contract.
  

    Yes — [this one](#mcp). Streamable HTTP at
    `/mcp`, six read-only tools, no key required.
  

No, and not endorsed by Ryanair. Fares are observations, not offers — confirm on ryanair.com before booking.

    Nothing, and no signup. Limits under [guest tier](#guest-tier).
