bachtrack.com APIbachtrack.com ↗
Access Bachtrack classical music events, reviews, festivals, and masterclasses via 8 API endpoints. Filter by city, performer, venue, or work.
curl -X GET 'https://api.parse.bot/scraper/c5f56a43-2d5a-4389-8465-79ddc5d60a5d/search_events?city=London' \ -H 'X-API-Key: $PARSE_API_KEY'
Search for upcoming classical music events (concerts, opera, dance) with optional filters. Returns paginated results in increments of 50.
| Param | Type | Description |
|---|---|---|
| city | string | City name to filter by (resolved via autocomplete) |
| work | string | Musical work name to filter by (resolved via autocomplete) |
| venue | string | Venue name to filter by (resolved via autocomplete) |
| category | integer | Category ID: 1 for Concert, 2 for Opera, 3 for Dance/Festival |
| festival | string | Festival name to filter by (resolved via autocomplete) |
| performer | string | Performer name to filter by (resolved via autocomplete) |
| start_row | integer | Starting row for pagination (increments of 50) |
{
"type": "object",
"fields": {
"count": "integer number of events in this page",
"total": "integer total number of matching events",
"events": "array of event objects with id, url, title, venue, city, dates, performers, program, buy_tickets_url",
"start_row": "integer starting row of this page"
},
"sample": {
"data": {
"count": 50,
"total": 999,
"events": [
{
"id": "440324",
"url": "https://bachtrack.com/concert-event/transfigured-night-sinfonia-smith-square-smith-square-hall-7-may-2026/440324",
"city": null,
"dates": "Thu 7 May at 13:05",
"title": "Transfigured Night",
"venue": "London",
"program": [
{
"work": "Verklärte Nacht (Transfigured Night), Op.4",
"composer": "Schoenberg"
}
],
"performers": [
{
"name": "Sinfonia Smith Square",
"role": ""
}
],
"buy_tickets_url": "https://bachtrack.com/handler/listing/click/440324/Search"
}
],
"start_row": 0
},
"status": "success"
}
}About the bachtrack.com API
The Bachtrack API gives developers structured access to classical music data across 8 endpoints, covering upcoming concerts, opera, and dance events worldwide. The search_events endpoint accepts filters for city, performer, venue, musical work, and category, while get_review_detail returns full critic review text and star ratings. Between events, reviews, festivals, masterclasses, news, and editorial articles, the API covers every major content type on Bachtrack.
Events and Program Data
The search_events endpoint returns paginated arrays of event objects (50 results per page, controlled via start_row). Each event includes an id, url, title, venue, city, dates, performers, program, and a buy_tickets_url. To narrow results, pass any combination of city, work, venue, performer, festival, or the category integer (1 = Concert, 2 = Opera, 3 = Dance/Festival). For a deeper look at a single event, pass its URL to get_event_detail, which returns address, start_date, end_date, program as an array of work name strings, performers, image_url, and a short description.
Reviews
search_reviews filters critic reviews by city and category, returning a list of objects each containing title, url, author, teaser, rating, and city. Passing a review URL to get_review_detail returns the full content string alongside the author, rating, date, and title. Ratings may be null for reviews where no star rating is published.
Festivals, Masterclasses, News, and Articles
search_festivals returns upcoming festivals with title, url, location, and dates. search_masterclasses uses the same event object shape as search_events, exposing venue, city, performers, and program fields for masterclass listings. get_news and get_articles each return a simple array of objects with title and url, providing entry points into Bachtrack's news feed and editorial features respectively. Neither endpoint currently accepts filter parameters.
- Build a concert discovery app filtered by city and performer using
search_events. - Aggregate classical music critic ratings across cities using
search_reviewsandget_review_detail. - Display full event program and artist lineup on a venue page using
get_event_detail. - List upcoming summer music festivals with dates and locations via
search_festivals. - Surface recent classical music news headlines in a newsletter digest using
get_news. - Track which musical works are being performed most frequently by parsing
programarrays from event results. - Find upcoming piano or vocal masterclasses in a specific city using
search_masterclasses.
| 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 | 250 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 Bachtrack have an official public developer API?+
How does pagination work in `search_events` and `search_reviews`?+
search_events returns up to 50 events per call. Use the start_row parameter to page through results — pass 0 for the first page, 50 for the second, and so on. The response includes a total field indicating the full count of matching events, so you can calculate how many pages to fetch. search_reviews uses the same start_row mechanism.Can I filter events by country or date range?+
search_events endpoint filters by city, venue, performer, work, festival, and category. Country-level filtering and date range parameters are not currently exposed. The API does return dates fields on each event object. You can fork this API on Parse and revise it to add date range or country filtering.Do reviews always include a star rating?+
rating field in both search_reviews and get_review_detail can be null when Bachtrack has published a review without an explicit star rating. The content field in get_review_detail will still contain the full review text in those cases.Can I get ticket price information from the API?+
search_events and get_event_detail include a buy_tickets_url that links to the ticketing page, but pricing data is not returned as a structured field. You can fork this API on Parse and revise it to add a ticket price extraction endpoint.