Concert Archives APIconcertarchives.org ↗
Access concert history, performer profiles, setlists, and venue data from Concert Archives via 4 REST endpoints. Search performers, concerts, and repertoire.
What is the Concert Archives API?
The Concert Archives API exposes 4 endpoints covering performer search, concert history, setlists, and event details from concertarchives.org. Use search_performers to find bands or orchestras by name and retrieve their slugs, then feed those into get_performer_concerts to pull a paginated timeline of dated shows with venues. get_concert_details returns the full picture: performers, setlists broken down by artist, and location data for any individual concert.
curl -X GET 'https://api.parse.bot/scraper/1c8b7b2a-4685-482e-802b-ebf2c3d135db/search_performers?page=1&query=Radiohead' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace concertarchives-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.concert_archives_api import ConcertArchives, Performer, ConcertSummary, Concert, ConcertSearchResult
client = ConcertArchives()
# Search for performers by name
for performer in client.performers.search(query="Radiohead", limit=5):
print(performer.name, performer.slug, performer.concert_count)
# Navigate from a performer to their concerts
radiohead = client.performer(slug="radiohead")
for concert in radiohead.concerts.list(limit=3):
print(concert.date, concert.title, concert.venue)
# Drill into concert details including setlist
details = concert.details()
print(details.title, details.date, details.venue, details.location)
for setlist in details.setlists:
print(setlist.performer, setlist.songs)
# Search concerts directly by keyword
for result in client.concertsearchresults.search(query="MTV Unplugged", limit=5):
print(result.date, result.title, result.venue_location)
full = result.details()
print(full.url, full.location)
Full-text search over performers (bands, orchestras, solo artists) by name. Returns paginated results with performer name, slug, and concert count. The slug is the identifier for fetching a performer's concert history via get_performer_concerts.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination. |
| queryrequired | string | Search query for the performer name. |
{
"type": "object",
"fields": {
"page": "current page number",
"results": "array of performer objects with name, slug, and concert_count",
"has_next": "boolean indicating whether more pages are available"
},
"sample": {
"data": {
"page": 1,
"results": [
{
"name": "Radiohead",
"slug": "radiohead",
"concert_count": 1270
},
{
"name": "Just Radiohead",
"slug": "just-radiohead",
"concert_count": 63
}
],
"has_next": true
},
"status": "success"
}
}About the Concert Archives API
Performer Search and Concert History
search_performers accepts a query string and returns paginated results — each with a name, slug, and concert_count. The slug field is the key input for get_performer_concerts, which returns a chronological list of concerts for that performer. Each concert record includes date, title, venue, and a slug you can pass downstream to retrieve full details. Both endpoints support a page integer parameter and return a has_next boolean for cursor-style pagination.
Concert Detail and Setlists
get_concert_details is the richest endpoint. Given a concert slug (sourced from either get_performer_concerts or search_concerts), it returns the canonical url, date, title, venue, location (city/region/country), a performers array with names and slugs, and a setlists array. Each setlist object contains the performer name and a songs array of strings — making it possible to reconstruct what was played and by whom at a specific event.
Concert Keyword Search
search_concerts lets you query concerts directly by keyword rather than going through a performer first. Results include date, title, slug, and venue_location as a combined string. This is useful when you know an event name or venue but not the performing artist. Like the other endpoints, it paginates via page and has_next.
Data Shape Notes
All date fields are returned as strings; format consistency depends on how the source records each entry. The setlists array in get_concert_details may be empty for concerts where repertoire was not logged. The performers array on a concert detail can include multiple acts, each with their own slug usable in subsequent performer lookups.
The Concert Archives API is a managed, monitored endpoint for concertarchives.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when concertarchives.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official concertarchives.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a setlist tracker that maps a band's song history across concerts using
setlists[*].songsfromget_concert_details. - Generate a venue-performance timeline for a classical orchestra by chaining
search_performersandget_performer_concerts. - Identify which artists co-performed at specific events using the
performersarray in concert detail responses. - Create an artist discography companion that links studio recordings to confirmed live performances by date.
- Research how often a specific piece of music has been performed by querying setlists across multiple performer histories.
- Aggregate concert counts per performer from
search_performersresults to rank touring activity. - Cross-reference venue strings from
get_performer_concertsto map historical performance locations geographically.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Concert Archives have an official developer API?+
What does `get_concert_details` return beyond basic event info?+
setlists — an array where each object has a performer name and a songs array of strings listing what was played — plus a performers array with slugs, venue, location (city/region/country), and the canonical url for the concert page. It is the only endpoint that exposes repertoire data.Can I filter performer concerts by date range or venue?+
get_performer_concerts returns the full paginated concert history for a performer without date-range or venue filters. You can fork this API on Parse and revise it to add filtering parameters to the endpoint.Are ticket purchase links or event attendance figures included?+
How should I handle concerts where the setlist is empty?+
setlists array in get_concert_details may return as an empty array when repertoire was not recorded for that event on Concert Archives. This is a data-availability limitation of the source, not an API error. Check setlists.length before processing song data.