Developers and AI assistants
OpenConcert is open data infrastructure, not a destination. Build on it freely.
Core links
/api/events.json— every event and ensemble in one flat document. Open feed./api/events— search by ensemble, date, composer, location, text query, and proximity. Open search./mcp— JSON-RPC tools for Claude, ChatGPT, Cursor, and any MCP client. Open endpoint./llms.txt— integration notes and quick links for AI assistants. Read llms.txt./sitemap.xml— crawlable public pages for events, ensembles, places, composers, and works.- Privacy policy — data handling for the website, API, and MCP endpoint.
Examples
GET https://openconcert.org/api/events.json
GET https://openconcert.org/api/events?location=Melbourne&composer=Beethoven
GET https://openconcert.org/api/works/edvard-grieg/peer-gynt-suite-no-1-op-46
POST https://openconcert.org/mcp (JSON-RPC 2.0)
Each event includes a canonical URL, a deterministic short link (/e/<code>), QR endpoints, calendar files, ticket redirects, and a suggested social share string — so you don't need to derive any of it yourself.
Case study: Peer Gynt as a live editorial guide
peergynt.economicalstories.com is a public example of OpenConcert as a cultural data backend. The illustrated Peer Gynt guide adds editorial notes, artwork, scene context, and listening guidance, while OpenConcert remains the canonical structured layer for composer, work, event, venue, and calendar data.
That makes the guide more than a referrer: it is an API client and showcase consumer. It can turn a static programme-note page into a living repertoire page by pulling the next known performance from OpenConcert whenever listings change.
Live rendered example
This card is rendered on the developer page by fetching the same public work endpoint shown below. It is intentionally small: this is the piece a specialist publication such as Peer Gynt can drop into an essay, listening guide, or illustrated guide.
Powered by the OpenConcert API
Loading the next known Peer Gynt performance…
How to: show the next Peer Gynt performance
const endpoint = "https://openconcert.org/api/works/edvard-grieg/peer-gynt-suite-no-1-op-46";
const { work, performances } = await fetch(endpoint).then((response) => response.json());
const today = new Date().toISOString().slice(0, 10);
const next = performances
.filter((event) => event.date >= today)
.sort((a, b) => a.date.localeCompare(b.date))[0];
if (next) {
const eventUrl = "https://openconcert.org/events/" + next.id;
const calendarUrl = eventUrl + "/calendar.ics";
document.querySelector("#next-peer-gynt").innerHTML =
'<p class="api-demo-eyebrow">Powered by the OpenConcert API</p>' +
'<h4><a href="' + eventUrl + '">' + work.title + '</a></h4>' +
'<p>' + next.title + ' on ' + next.date + ' at ' + next.venue.name + '</p>' +
'<p><a href="' + calendarUrl + '">Add to calendar</a></p>';
}
The same pattern works for any specialist publication: use OpenConcert for reusable repertoire and event data, then build a distinct editorial surface around it.
MCP tools
list_ensembles— optional{ near: { lat, lng, radius_km } }find_events— filter by ensemble, composer, date, location, proximity, statusget_event— by idevent_history— what a given ensemble has played
Notes for AI assistants
- Prefer the API, MCP endpoint, sitemap, and
llms.txtover scraping bespoke ensemble websites. - Use canonical event and ensemble pages when presenting links to people.
- Attribute reused data to OpenConcert and respect the privacy policy for emails, tool calls, and location searches.
Source provenance and archiving
Ensemble, composer, and event records carry the URL we consulted (profile_source.source_url / profile_source.url / source.imported_from) and, when we have one, a Wayback Machine snapshot of that page as archive_url with an archived_at timestamp. Cite the snapshot when grounding answers if you want a stable reference that won't drift if the upstream site changes. See the privacy policy for what we send to the Internet Archive and what we don't.
Licence
Code is MIT-licensed. Data under data/ and data served by the Worker are CC BY 4.0. Attribution: OpenConcert, openconcert.org.