Docs API reference
API reference
6 read endpoints over the same canonical record the directory and MCP serve. JSON, cursor pagination, problem+json errors, key optional on the free tier.
Open /openapi.json Coding agents read the spec and integrate themselves — it is documentation and onboarding in one file.
| path | returns |
|---|---|
GET /events | Filter by city, date range, category, price, free flag, quality floor. Cursor paginated. |
GET /events/nearby | Radius search on lat/lng, ordered by distance then start time. |
GET /events/{id} | One canonical record with sources, confidence, quality score and last_verified. |
GET /cities | Coverage and alias resolution: ?q=milano returns the canonical slug. |
GET /cities/{slug}/summary | Counts by category and timeframe for one city — the hub, as data. |
GET /changes | Created, updated, cancelled and expired records since a cursor. Growth tier and above. |
Request
curl -H "X-API-Key: $EVENTINDEX_KEY" \ "https://eventindex.ai/v1/events?city=milan\ &date_from=2026-10-01&is_free=true&limit=2"
Response · 200
{
"count": 0,
"next": null,
"results": []
}
Errors
RFC 9457Errors are application/problem+json with type, title, status and detail. Rate limits state the window and the reset time. Nothing is silently truncated: if a filter is unknown you get 400, not an empty list.
Field reference
rendered from /docs/schema.mddocs content block · the canonical field table renders here
same names in the ORM, the serializer and the markdown frontmatter
read it as markdown →