Songkick APIsongkick.com ↗
Search Songkick concerts by artist, city, or venue. Get event details including lineup, ticket links, venue coordinates, and scheduling status via 2 endpoints.
What is the Songkick API?
The Songkick API gives developers access to live event data across artists, venues, and cities through 2 endpoints. search_concerts returns categorized results covering artists, upcoming events, venues, and cities from a single query. get_event_details returns full event records including performer lineup with billing roles, ticket provider links, venue coordinates, and event status for any numeric Songkick event ID.
curl -X GET 'https://api.parse.bot/scraper/5dc18b63-9774-4cc8-bc71-3576a6fd78ef/search_concerts?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 songkick-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.
"""Walkthrough: Songkick SDK — bounded, re-runnable; every call capped."""
from parse_apis.songkick_com_api import Songkick, EventNotFound
client = Songkick()
# Search for concerts by artist name
for event in client.search_results.search(query="Radiohead", limit=3):
print(event.name, event.date, event.venue_name, event.city_name)
# Drill into the first event's full details
hit = client.search_results.search(query="New York", limit=1).first()
if hit:
try:
full = client.events.get(event_id=str(hit.id))
print(full.name, full.start_date)
print(full.venue.name, full.venue.city, full.venue.country)
for performer in full.lineup:
print(performer.name, performer.billing)
for provider in full.ticket_providers:
print(provider.provider)
except EventNotFound as e:
print("event gone:", e.event_id)
print("exercised: search_results.search, events.get")
Full-text search across Songkick's catalog of artists, upcoming events, venues, and cities. Returns categorized results ranked by relevance. Use event IDs from results to fetch full details via get_event_details.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Search term — artist name, city name, venue name, or event name. |
{
"type": "object",
"fields": {
"query": "the search term used",
"cities": "array of matching cities with id, name, number_of_upcoming_events",
"events": "array of upcoming matching events with id, name, date, venue, city, country, artist_ids",
"venues": "array of matching venues with id, name, address",
"artists": "array of matching artists with id, name, number_of_events, popularity"
},
"sample": {
"data": {
"query": "Radiohead",
"cities": [],
"events": [
{
"id": 42877417,
"date": "2026-11-07T00:00:00Z",
"name": "Just Radiohead",
"venue_id": 38323,
"city_name": "London",
"artist_ids": [
10285575
],
"event_type": "Concert",
"venue_name": "O2 Academy Islington",
"country_name": "UK",
"number_of_users_tracking": 8
}
],
"venues": [
{
"id": 1888398,
"name": "Radiohead After-show",
"address": "Lausanne, Switzerland",
"number_of_events": 1
}
],
"artists": [
{
"id": 253846,
"name": "Radiohead",
"popularity": 0.626473,
"number_of_events": 1093
}
]
},
"status": "success"
}
}About the Songkick API
What the API Covers
The Songkick API exposes two endpoints that together cover event discovery and event detail retrieval. search_concerts accepts a single query string — an artist name, city, venue name, or event name — and returns up to four categorized result arrays: artists (with popularity and number_of_events), events (with date, venue, city, country, and artist_ids), venues (with address), and cities (with number_of_upcoming_events). Results are ranked by relevance.
Event Detail Fields
get_event_details takes a numeric event_id — typically sourced from a prior search_concerts call — and returns a detailed record for that event. The lineup array lists each performer with their name and billing value (headliner or support). The venue object includes street_address, city, country, postal_code, latitude, longitude, and website. Additional fields include start_date (ISO datetime), end_date, event_status (e.g. EventScheduled, EventCancelled), description, image, and one or more ticket provider links.
Workflow
The typical workflow is two calls: run search_concerts with an artist or city name to collect event_id values, then call get_event_details for each event you need full records on. The event_status field makes it straightforward to filter out cancelled events before surfacing results to end users. Venue latitude and longitude are available on every event detail response, making geographic filtering straightforward on the client side.
The Songkick API is a managed, monitored endpoint for songkick.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when songkick.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 songkick.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.
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 concert calendar app that maps upcoming shows by city using venue latitude and longitude from get_event_details.
- Display a touring schedule for a specific artist by searching their name and retrieving dates, venues, and cities from the events array.
- Send ticket availability alerts by monitoring event_status for changes from EventScheduled to EventCancelled.
- Aggregate headliner and support act lineups for festival event pages using the lineup billing field.
- Surface ticket provider links directly in a music player app when a user views an artist's profile.
- Enrich venue directory records with address, postal code, and website data from the venue object in get_event_details.
- Power a city-based event discovery feed ranked by number_of_upcoming_events returned in the cities array.
| 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.