Discover/Bachtrack API
live

Bachtrack APIbachtrack.com

Access Bachtrack classical music events, reviews, festivals, and masterclasses via 8 structured endpoints. Filter by city, performer, venue, or work.

Endpoint health
verified 4d ago
get_news
get_articles
search_festivals
search_masterclasses
search_reviews
8/8 passing latest checkself-healing
Endpoints
8
Updated
26d ago

What is the Bachtrack API?

The Bachtrack API exposes 8 endpoints for querying classical music events, critic reviews, festivals, masterclasses, news, and editorial articles worldwide. search_events returns paginated event listings with venue, performer, program, and ticket link fields, while get_event_detail delivers structured per-event data including ISO-formatted dates, street address, and image URL. Together these endpoints cover the full editorial and listings surface of Bachtrack.

Try it
City name to filter by (resolved via autocomplete)
Musical work name to filter by (resolved via autocomplete)
Venue name to filter by (resolved via autocomplete)
Category ID to filter events by type
Festival name to filter by (resolved via autocomplete)
Performer name to filter by (resolved via autocomplete)
Starting row for pagination (increments of 50)
api.parse.bot/scraper/c5f56a43-2d5a-4389-8465-79ddc5d60a5d/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/c5f56a43-2d5a-4389-8465-79ddc5d60a5d/search_events?city=London&category=1&start_row=0' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 bachtrack-com-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.

"""Bachtrack classical music API — discover events, reviews, festivals, and news."""
from parse_apis.bachtrack_api import Bachtrack, Category, PageNotFound

client = Bachtrack()

# Search upcoming concerts (category filter via enum)
for event in client.events.search(category=Category.CONCERT, limit=3):
    print(event.title, event.city, event.dates)

# Drill into one event's full details
event = client.events.search(category=Category.OPERA, limit=1).first()
if event:
    detail = client.eventdetails.get(url=event.url)
    print(detail.title, detail.venue, detail.start_date, detail.address)

# Browse reviews and fetch full content for the top one
review_summary = client.reviewsummaries.search(city="London", limit=1).first()
if review_summary:
    full_review = review_summary.details()
    print(full_review.title, full_review.author, full_review.rating)

# Typed error handling for a missing page
try:
    client.reviews.get(url="https://bachtrack.com/review-nonexistent-page-2026")
except PageNotFound as exc:
    print(f"Review not found: {exc.url}")

# Browse festivals and news
for festival in client.festivals.list(limit=3):
    print(festival.title, festival.location, festival.dates)

for item in client.newsitems.list(limit=3):
    print(item.title, item.url)

print("exercised: events.search / eventdetails.get / reviewsummaries.search / details / reviews.get / festivals.list / newsitems.list")
All endpoints · 8 totalmissing one? ·

Search for upcoming classical music events (concerts, opera, dance) with optional filters. Returns paginated results in increments of 50. When no filters are specified, returns all event categories. Each event includes venue, performers, program, and ticket purchase links where available.

Input
ParamTypeDescription
citystringCity name to filter by (resolved via autocomplete)
workstringMusical work name to filter by (resolved via autocomplete)
venuestringVenue name to filter by (resolved via autocomplete)
categoryintegerCategory ID to filter events by type
festivalstringFestival name to filter by (resolved via autocomplete)
performerstringPerformer name to filter by (resolved via autocomplete)
start_rowintegerStarting row for pagination (increments of 50)
Response
{
  "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": 5418,
      "events": [
        {
          "id": "433759",
          "url": "https://bachtrack.com/concert-event/wigmore-french-song-exchange-2026-wigmore-hall-11-june-2026/433759",
          "city": "London",
          "dates": "Thu 11 Jun at 13:00",
          "title": "Wigmore French Song Exchange 2026",
          "venue": "Wigmore Hall",
          "program": [],
          "performers": [
            {
              "name": "Singers from Wigmore French Song Exchange",
              "role": "Vocals"
            }
          ],
          "buy_tickets_url": "https://bachtrack.com/handler/listing/click/433759/Search"
        }
      ],
      "start_row": 0
    },
    "status": "success"
  }
}

About the Bachtrack API

Event Search and Detail

search_events accepts up to seven optional filters — city, work, venue, category, festival, performer, and start_row — and returns a paginated response with total, count, and an events array. Each event object carries id, url, title, venue, city, dates, performers, program, and buy_tickets_url where available. Pagination increments in steps of 50 via start_row. get_event_detail takes a full Bachtrack event page URL from those results and returns enriched structured data: address, start_date and end_date in YYYY-MM-DD format, image_url, description, and a program array of work names.

Reviews and Editorial

search_reviews filters critic reviews by city and category, returning an array of objects with title, url, author, teaser, rating, and city. Passing a URL from those results into get_review_detail retrieves the full content text, publication date, and star rating. get_articles and get_news require no inputs and return flat arrays of title and url pairs for the latest Bachtrack editorial features and news items respectively.

Festivals and Masterclasses

search_festivals returns upcoming festivals with title, url, location (country), and dates. search_masterclasses returns events in the same shape as search_events, so the same venue, performers, program, and buy_tickets_url fields are present. Neither endpoint currently accepts filter parameters, so all available festival and masterclass records are returned in a single response.

Reliability & maintenanceVerified

The Bachtrack API is a managed, monitored endpoint for bachtrack.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bachtrack.com 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 bachtrack.com 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.

Last verified
4d ago
Latest check
8/8 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a classical music event calendar filtered by city and performer using search_events results.
  • Aggregate critic review scores and full review text for a specific city's concert season via search_reviews and get_review_detail.
  • Display upcoming summer festival listings with country and date range from search_festivals.
  • Track ticket availability for specific repertoire by filtering search_events on a work parameter.
  • Surface related masterclasses alongside performance listings using search_masterclasses event objects.
  • Populate a news feed of classical music headlines using get_news article titles and URLs.
  • Enrich an event record with street address, image, and ISO dates by passing its URL to get_event_detail.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does Bachtrack offer an official public developer API?+
Bachtrack does not publish an official public developer API or documented REST endpoint for third-party use. This Parse API provides structured programmatic access to the site's listings and editorial content.
How does pagination work in `search_events`, and what is the page size?+
Results are returned in increments of 50. Pass start_row as a multiple of 50 (0, 50, 100, …) to walk through pages. The response includes total (total matching events) and count (events on the current page) so you can determine when you have reached the last page.
Can I filter festivals or masterclasses by city or performer?+
search_festivals and search_masterclasses currently accept no filter parameters and return all available records. City and performer filtering is only available on search_events. You can fork this API on Parse and revise it to add filter support to those endpoints.
Does the reviews endpoint return ratings for all reviews?+
get_review_detail returns a rating field, but its value may be null when a review was published without a star rating. The search_reviews listing also includes rating per item, so you can identify rated reviews before fetching full content.
Is historical event data (past concerts) accessible through these endpoints?+
The search_events endpoint is oriented toward upcoming events. Historical concert archives are not currently exposed as a dedicated endpoint. The API covers active listings, reviews, festivals, and masterclasses. You can fork it on Parse and revise to add an endpoint targeting Bachtrack's past-event pages.
Page content last updated . Spec covers 8 endpoints from bachtrack.com.
Related APIs in EntertainmentSee all →
eventbrite.com API
Search Eventbrite for events by keyword, location, or category. Retrieve full event details, ticket pricing and availability, organizer profiles, and batch event data.
concertarchives.org API
Search for performers and their concert history to discover performance details, repertoire, and event information from Concert Archives. Find specific concerts, view performer profiles, and explore what artists have performed and when.
bandsintown.com API
Search for artists and discover their upcoming concerts, or browse live events happening in specific cities with detailed ticket information. Find exactly what shows you're interested in attending with artist profiles, event dates, venues, and direct links to purchase tickets.
boletia.com API
Browse and search events on Boletia.com to discover concerts, shows, and performances across different venues and organizers, then view detailed event information and available ticket options. Filter events by category, venue, organizer, or explore trending music events in Mexico City.
etix.com API
Search for live events across venues and categories, discover what's playing today or this weekend, and check real-time ticket availability for concerts, shows, and other ticketed events. Get detailed event information and browse featured homepage listings to find and book tickets for your next outing.
seatgeek.com API
Search for events and performers, view ticket listings with pricing data, and explore venue information across multiple event categories. Get real-time insights into event details, ticket price trends, and what's currently trending to help you find and compare tickets.
beatport.com API
Search and discover electronic music tracks, releases, and artists on Beatport while accessing detailed metadata, audio previews, genre listings, and top 10 charts. Get comprehensive information about specific tracks, releases, artists, and labels to power music discovery and curation applications.
SeeTickets.com API
Search for events and get detailed information about tickets, venues, and event categories on See Tickets. Browse upcoming events by category, view venue details, and find what you're looking for with search suggestions.