A free, read-only, keyless JSON API with open CORS. Data is rebuilt nightly from public listings and cached for 5 minutes.
Usage rule : each event has url (our page, with utm_source=api) and source_links (the original listings). Show and link both: we only gather the work of venues and collectives. Cache on your side; about 1 request/second max.
Endpoints
| Path | What |
|---|---|
GET/api/v1/events | search events (filters below) |
GET/api/v1/events/{id} | one event |
GET/api/v1/venues | venues with upcoming events |
GET/api/v1/cities | areas and cities |
GET/api/v1/genres | genres |
GET/openapi.json | OpenAPI 3.1 |
GET/mcp | MCP server for AI agents |
/api/v1/events filters
| Parameter | Values | |
|---|---|---|
date | YYYY-MM-DD | one night |
from / to | YYYY-MM-DD | range of nights (default: from tonight) |
when | tonight | tomorrow | weekend | shortcut (weekend = Fri–Sun) |
city / area | geneve, lausanne, nyon, la-cote, france-voisine, annemasse… | area or city (slug) |
venue | les-docks-lausanne | venue slug (see /api/v1/venues) |
genre | techno, house, jazz, hip-hop, rock/indie… | genre |
free | true | free / pay-what-you-want |
q | texte | text search (title, venue, artist) |
lang | fr | en | language of descriptions and URLs |
limit | 1–100 (20) | page size |
offset / cursor | 0 / meta.next_cursor | paging |
Examples
- /api/v1/events?when=tonight&city=geneve · Tonight in Geneva
- /api/v1/events?when=weekend&city=lausanne&genre=techno&lang=en · Techno this weekend in Lausanne
- /api/v1/events?free=true&when=weekend · Free / pay-what-you-want this weekend
- /api/v1/events?from=2026-11-06&to=2026-11-08&city=nyon · Date range in Nyon
- /api/v1/events?q=jazz&limit=5&offset=5 · Text search + paging
- /api/v1/events?venue=les-docks-lausanne · One venue (slug)
- /api/v1/venues?city=france-voisine · Venues in neighbouring France
- /api/v1/cities · Areas and cities
- /api/v1/genres · Genres
curl -s 'https://geneversleep.ch/api/v1/events?when=tonight&city=geneve&limit=2&lang=en'
{ "meta": { "total": 9, "count": 2, "limit": 2, "next_cursor": "o2", "from": "2026-11-03", ... },
"events": [ { "id": "gns-2026-11-03-a01b1180", "title": "Fly Anakin & Quelle Chris",
"date": "2026-11-03", "start_time": "19:00", "venue": "Bongo Joe", "city": "Genève",
"genres": ["hip-hop"], "price": "10-15CHF", "is_free": false,
"url": "https://geneversleep.ch/en/event/2026-11-03-fly-anakin-quelle-chris-a01b1180?utm_source=api",
"source_links": [ { "name": "Bongo Joe", "url": "https://…" } ] } ] }
MCP server for AI agents
Remote Streamable HTTP endpoint, read-only, no authentication : https://geneversleep.ch/mcp. Tools : search_events, events_tonight, events_weekend, free_events, venue_events, list_venues.
Claude Code
claude mcp add --transport http geneversleep https://geneversleep.ch/mcp
Claude (claude.ai / Desktop) : Settings → Connectors → Add custom connector → URL https://geneversleep.ch/mcp. Older Claude Desktop (claude_desktop_config.json) :
{
"mcpServers": {
"geneversleep": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://geneversleep.ch/mcp"
]
}
}
}
ChatGPT : Settings → Apps & Connectors → Developer mode → Create → MCP server URL https://geneversleep.ch/mcp, authentication “None”.
Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"geneversleep": {
"url": "https://geneversleep.ch/mcp"
}
}
}
VS Code (.vscode/mcp.json)
{
"servers": {
"geneversleep": {
"type": "http",
"url": "https://geneversleep.ch/mcp"
}
}
}
Widgets for your site
Rather not code? Grab a ready-to-paste box (city, genre, free, newsletter): widget generator.
Discovery
Questions, higher volume, missing data? [email protected]
No events on this page match these filters.