Esdeveniments.cat API
A free public REST API for Catalonia's cultural agenda: events, news, categories and places, in Catalan, Spanish and English. Use it in your app, your website or an AI agent.
API keys
You don't need a key. Read (GET) endpoints are public and need no authentication. Please stay under 60 requests per minute per IP. The MCP server enforces it and answers a 429 with a Retry-After header above it.
Quickstart
Make your first call with curl. Lists are paginated: when the last field is false, ask for the next page.
# Today's events in Barcelona
curl "https://www.esdeveniments.cat/api/events?place=barcelona&byDate=avui"
# Search events by keyword
curl "https://www.esdeveniments.cat/api/events?term=jazz&size=10"
# One event
curl "https://www.esdeveniments.cat/api/events/{slug}"Documentation
Try the API
Read calls change nothing, so you can try them right against the production API. Open these examples in your browser:
AI agents and MCP
Connect an AI agent to our MCP server, or use the WebMCP tools the site registers in the browser.
Esdeveniments.cat MCP serverWrites and idempotency
Sponsor checkout (POST /api/sponsors/checkout) accepts an Idempotency-Key header. Send a new key (a UUID) for each attempt and reuse it when you retry: only one checkout session is created.
await fetch("/api/sponsors/checkout", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Idempotency-Key": crypto.randomUUID(), // reuse it on retries
},
body: JSON.stringify({ duration: "7days", geoScope: "town", place: "barcelona", placeName: "Barcelona" }),
});GitHub and contact
Follow the project on GitHub, or email us if you need more data or a higher limit.