# Songkick API

> Songkick returns artist tour dates and concert listings as a workflow and API.

Songkick returns upcoming concerts and tour dates for an artist, with an optional country filter; provide an artist name. Search concerts returns upcoming city concerts between two dates; provide a city and optionally set the date range and results page.

- Page: https://fous.com/tools/songkick
- Handle: `@songkick`
- Category: [Entertainment](https://fous.com/tools/category/entertainment)
- Source website: https://songkick.com
- Last verified: Sep 29, 2026

## Methods

### Get artist tour dates

Operation `get_artist_tour_dates`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Get upcoming concerts and tour dates for an artist on Songkick, optionally by country. Ticket links and start times are included when listed.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `artist` | string | yes | `"BTS"` | Artist or band name, for example The Weeknd. |
| `country` | string | no | `"Singapore"` | Country name to filter concerts, for example Singapore. Defaults to all countries. |
| `max_results` | integer | no | `3` | Maximum number of concerts, for example 50; up to 200. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "artist"
  ],
  "properties": {
    "artist": {
      "type": "string",
      "minLength": 1,
      "description": "Artist or band name, for example The Weeknd.",
      "examples": [
        "BTS",
        "The Weeknd",
        "Billie Eilish"
      ]
    },
    "country": {
      "type": "string",
      "default": "all countries",
      "description": "Country name to filter concerts, for example Singapore. Defaults to all countries.",
      "examples": [
        "Singapore",
        "Germany"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1,
      "description": "Maximum number of concerts, for example 50; up to 200.",
      "x-fous-developer": true,
      "examples": [
        3,
        12
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "artist": "BTS",
      "country": "Singapore",
      "max_results": 3
    },
    {
      "artist": "The Weeknd"
    },
    {
      "artist": "Billie Eilish"
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `artist` | string | `"BTS"` |  |
| `concerts` | array |  |  |
| `concerts[].city` | string or null | `"Singapore"` |  |
| `concerts[].date` | string | `"2026-12-17"` | Local concert date. |
| `concerts[].venue` | string or null | `"National Stadium"` |  |
| `concerts[].country` | string or null | `"Singapore"` |  |
| `concerts[].event_name` | string or null | `"BTS @ National Stadium"` | Event name; festival name for festivals. |
| `concerts[].start_time` | string or null | `"2026-12-17T18:00:00+08:00"` | Listed local start time as an ISO 8601 timestamp with time zone, or null. |
| `concerts[].ticket_link` | string or null | `"https://www.songkick.com/tickets/34123020"` | Available ticket link, or null. |
| `concerts[].other_artists` | array |  |  |
| `concerts[].songkick_event_id` | string or null | `"43029458"` |  |
| `concerts[].songkick_event_link` | string | `"https://www.songkick.com/concerts/43029458-bts-at-national-stadium"` |  |
| `songkick_link` | string | `"https://www.songkick.com/artists/135912-bts"` |  |

**Example input**

```json
{
  "artist": "BTS",
  "country": "Singapore",
  "max_results": 3
}
```

**Example output**

```json
{
  "artist": "BTS",
  "concerts": [
    {
      "city": "Singapore",
      "date": "2026-12-17",
      "venue": "National Stadium",
      "country": "Singapore",
      "event_name": "BTS @ National Stadium",
      "start_time": "2026-12-17T18:00:00+08:00",
      "ticket_link": null,
      "other_artists": [],
      "songkick_event_id": "43029458",
      "songkick_event_link": "https://www.songkick.com/concerts/43029458-bts-at-national-stadium"
    },
    {
      "city": "Singapore",
      "date": "2026-12-19",
      "venue": "National Stadium",
      "country": "Singapore",
      "event_name": "BTS @ National Stadium",
      "start_time": "2026-12-19T18:00:00+08:00",
      "ticket_link": null,
      "other_artists": [],
      "songkick_event_id": "43029461",
      "songkick_event_link": "https://www.songkick.com/concerts/43029461-bts-at-national-stadium"
    },
    {
      "city": "Singapore",
      "date": "2026-12-20",
      "venue": "National Stadium",
      "country": "Singapore",
      "event_name": "BTS @ National Stadium",
      "start_time": "2026-12-20T18:00:00+08:00",
      "ticket_link": null,
      "other_artists": [],
      "songkick_event_id": "43029462",
      "songkick_event_link": "https://www.songkick.com/concerts/43029462-bts-at-national-stadium"
    }
  ],
  "songkick_link": "https://www.songkick.com/artists/135912-bts"
}
```

### Search concerts

Operation `search_concerts`, version 1. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.

Find upcoming concerts in a city between two dates, including artists, venues, festivals and available ticket links. Ticket links are null when Songkick shows no ticket destination.

**Input**

| Field | Type | Required | Example | Description |
|---|---|---|---|---|
| `city` | string | yes | `"Chicago"` | City to search, such as Chicago or London, UK. |
| `page` | integer | no | `2` | Page of results, for example 2. Defaults to 1. |
| `end_date` | string | no | `"2026-10-03"` | Last concert date, for example 2026-10-31. Defaults to 30 days after start_date. |
| `start_date` | string | no | `"2026-10-01"` | First concert date, for example 2026-10-01. Defaults to today. |
| `max_results` | integer | no | `3` | Concerts per page, for example 20. Defaults to 50. |

**Input schema**

```json
{
  "type": "object",
  "required": [
    "city"
  ],
  "properties": {
    "city": {
      "type": "string",
      "description": "City to search, such as Chicago or London, UK.",
      "examples": [
        "Chicago",
        "London, UK"
      ]
    },
    "page": {
      "type": "integer",
      "default": 1,
      "minimum": 1,
      "description": "Page of results, for example 2. Defaults to 1.",
      "x-fous-developer": true,
      "examples": [
        2,
        1
      ]
    },
    "end_date": {
      "type": "string",
      "format": "date",
      "description": "Last concert date, for example 2026-10-31. Defaults to 30 days after start_date.",
      "examples": [
        "2026-10-03",
        "2026-10-07",
        "2028-01-03"
      ]
    },
    "start_date": {
      "type": "string",
      "format": "date",
      "description": "First concert date, for example 2026-10-01. Defaults to today.",
      "examples": [
        "2026-10-01",
        "2028-01-01"
      ]
    },
    "max_results": {
      "type": "integer",
      "default": 50,
      "maximum": 200,
      "minimum": 1,
      "description": "Concerts per page, for example 20. Defaults to 50.",
      "x-fous-developer": true,
      "examples": [
        3,
        4,
        2
      ]
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "city": "Chicago",
      "end_date": "2026-10-03",
      "start_date": "2026-10-01",
      "max_results": 3
    },
    {
      "city": "London, UK",
      "page": 2,
      "end_date": "2026-10-07",
      "start_date": "2026-10-01",
      "max_results": 4
    },
    {
      "city": "Chicago",
      "end_date": "2028-01-03",
      "start_date": "2028-01-01",
      "max_results": 2
    }
  ]
}
```

**Output**

| Field | Type | Example | Description |
|---|---|---|---|
| `concerts` | array |  |  |
| `concerts[].date` | string | `"2026-10-01"` |  |
| `concerts[].venue` | string or null | `"Byline Bank Aragon Ballroom"` |  |
| `concerts[].artists` | array |  |  |
| `concerts[].event_id` | string | `"43430556"` |  |
| `concerts[].event_link` | string | `"https://www.songkick.com/concerts/43430556-steve-lacy-at-byline-bank-aragon-ballroom"` |  |
| `concerts[].ticket_link` | string or null | `"https://www.songkick.com/tickets/34347052"` |  |
| `concerts[].festival_name` | string or null |  |  |
| `metro_area` | string | `"Chicago, IL, US"` | Songkick metro area used. |
| `metro_area_id` | string | `"9426"` | Songkick metro area ID. |

**Example input**

```json
{
  "city": "Chicago",
  "end_date": "2026-10-03",
  "start_date": "2026-10-01",
  "max_results": 3
}
```

**Example output**

```json
{
  "concerts": [
    {
      "date": "2026-10-01",
      "venue": "Byline Bank Aragon Ballroom",
      "artists": [
        "Steve Lacy"
      ],
      "event_id": "43430556",
      "event_link": "https://www.songkick.com/concerts/43430556-steve-lacy-at-byline-bank-aragon-ballroom",
      "ticket_link": "https://www.songkick.com/tickets/34347052",
      "festival_name": null
    },
    {
      "date": "2026-10-01",
      "venue": "Chop Shop",
      "artists": [
        "Shwayze",
        "Sammy Adams",
        "Chiddy Bang"
      ],
      "event_id": "43313964",
      "event_link": "https://www.songkick.com/concerts/43313964-shwayze-at-chop-shop",
      "ticket_link": "https://www.songkick.com/tickets/34180372",
      "festival_name": null
    },
    {
      "date": "2026-10-01",
      "venue": "Lincoln Hall",
      "artists": [
        "Elder Island"
      ],
      "event_id": "43189695",
      "event_link": "https://www.songkick.com/concerts/43189695-elder-island-at-lincoln-hall",
      "ticket_link": "https://www.songkick.com/tickets/34005260",
      "festival_name": null
    }
  ],
  "metro_area": "Chicago, IL, US",
  "metro_area_id": "9426"
}
```

## Quick start

Replace `YOUR_API_KEY` with a Fous API key. To create one, open Developers at the bottom of Fous Studio, turn on Developer mode, then go to API keys (https://app.fous.com/keys). Change the values in `input` to run the same tool on new data.

```bash
curl 'https://api.fous.com/v1/query' \
  --fail-with-body --silent --show-error --max-time 180 \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "api": "@songkick",
  "visibility": "public",
  "operation": "get_artist_tour_dates",
  "version": 1,
  "input": {
    "artist": "BTS",
    "country": "Singapore",
    "max_results": 3
  },
  "response": {
    "format": "json"
  }
}'
```

```python
# Save as fous.py and run with python3 fous.py. No packages needed.
import json
import urllib.error
import urllib.request

api_key = "YOUR_API_KEY"

body = json.loads("{\n  \"api\": \"@songkick\",\n  \"visibility\": \"public\",\n  \"operation\": \"get_artist_tour_dates\",\n  \"version\": 1,\n  \"input\": {\n    \"artist\": \"BTS\",\n    \"country\": \"Singapore\",\n    \"max_results\": 3\n  },\n  \"response\": {\n    \"format\": \"json\"\n  }\n}")
request = urllib.request.Request(
    "https://api.fous.com/v1/query",
    data=json.dumps(body).encode("utf-8"),
    headers={
        "Authorization": f"Bearer {api_key}",
        "Content-Type": "application/json",
    },
    method="POST",
)
try:
    with urllib.request.urlopen(request, timeout=180) as response:
        result = json.load(response)
except urllib.error.HTTPError as error:
    raise RuntimeError(f"HTTP {error.code}: {error.read().decode('utf-8', errors='replace')}") from error
if result.get("success") is False:
    raise RuntimeError(result.get("error", {}).get("message", "Request failed"))
print(json.dumps(result["data"]["output"], indent=2))
```

```typescript
// Save as fous.mts and run with npx tsx fous.mts.
const apiKey = "YOUR_API_KEY";

const response = await fetch("https://api.fous.com/v1/query", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${apiKey}`,
    "Content-Type": "application/json",
  },
  signal: AbortSignal.timeout(180_000),
  body: JSON.stringify({
  "api": "@songkick",
  "visibility": "public",
  "operation": "get_artist_tour_dates",
  "version": 1,
  "input": {
    "artist": "BTS",
    "country": "Singapore",
    "max_results": 3
  },
  "response": {
    "format": "json"
  }
}),
});
type ApiResult = { success: boolean; data?: { output: unknown }; error?: { message: string } };
const result: ApiResult = await response.json();
if (!response.ok || result.success === false) {
  throw new Error(result.error?.message ?? `HTTP ${response.status}`);
}
if (!result.data) throw new Error("Missing API response data");
console.log(result.data.output);
```

## Use from an AI assistant

Connect this tool to Claude Code, Claude Desktop, Cursor, VS Code, Codex and any MCP client as its own MCP server. Each method is a typed tool whose arguments are the method’s input.

- Server URL: `https://api.fous.com/mcp/tools/songkick`
- Authorization: `Authorization: Bearer <Fous API key>`

**Tools**

- `get_artist_tour_dates`: Get artist tour dates. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `search_concerts`: Search concerts. 1 credit per completed call. Failed calls without a completed billing receipt are free; completed work can remain charged if delivery is interrupted.
- `fous_get_run`: the result of a run that was still going, by its `request_id`. Free.

Claude Code:

```bash
claude mcp add --scope user --transport http fous-songkick https://api.fous.com/mcp/tools/songkick --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"
```

To give the assistant every tool, connect `https://api.fous.com/mcp`: it finds one with `fous_search_tools` and runs it with `fous_run_tool`. Setup for other clients: https://fous.com/llms-full.txt.

## Use cases

- Find upcoming tour dates for an artist
- Filter an artist’s concerts by country
- Plan around concerts in a city and date range
- Review venues, festivals, artists, and available ticket links

## FAQ

### Can I run it with my own inputs?

Yes. Change the inputs in Studio and press Run, or send new inputs from your code, or ask a connected AI assistant.

### Can I call this Songkick tool as an API?

Yes. Send a POST request to /v1/query with your Fous API key and the inputs, and get JSON back.

### How much does it cost?

Each completed run costs 1 credit. Failed runs without a completed receipt are free; completed work can remain charged if delivery is interrupted. With pay as you go, a credit costs 1¢. Monthly plans cost less per credit.

### Do I need a Songkick account?

No. You only need a Fous account.

### How current is the data?

Fous gets the data from songkick.com when you run it. Some results are reused for up to 24 hours, and results that use your account or key are never reused. It was last verified on Sep 29, 2026.

### What concerts are coming up for an artist?

Get artist tour dates returns upcoming concerts for a named artist, optionally filtered by country.

### What concerts are happening in a city during a date range?

Search concerts returns upcoming city concerts between the requested dates, including artists and venues.

### Are ticket links available for these concerts?

Get artist tour dates and Search concerts include ticket links when available; links may be null.

## Related

- [Bandsintown API](https://fous.com/tools/bandsintown.md): Bandsintown provides artist tour dates and concert listings with venues, lineups and ticket or event links; results reflect listed upcoming shows and may include nearby venues.
- [Ticketmaster API](https://fous.com/tools/ticketmaster.md): Ticketmaster finds upcoming live events and shows available ticket options with prices, excluding partner-only listings and offers requiring a code or sign-in.
- [setlist.fm API](https://fous.com/tools/setlist-fm.md): setlist.fm provides artists’ newest past concerts with performed songs, individual concert details and songs, and most-played songs by tour or year based on published setlists.
- [Genius API](https://fous.com/tools/genius.md): Genius provides lyrics, annotations, credits, and music knowledge, plus song stories, relationships, page details, and artist song lists by popularity or release date; dates and views may be unavailable.
- [Last.fm API](https://fous.com/tools/last-fm.md): Last.fm provides listening statistics, artist profiles, discovery, up to 50 tracks or albums, similar artists without percentages, and upcoming events that may be absent.
- [MusicBrainz API](https://fous.com/tools/musicbrainz.md): MusicBrainz provides community-maintained recording and release information, matching songs to identifiers and release dates and providing artist details and links when available; some release information may be incomplete.
- [Spotify API](https://fous.com/tools/spotify.md): Spotify returns public artist profiles, album credits and ordered tracks, song details and play counts, up to 500 playlist songs, keyword results, and country-based podcast charts; dates and regional options vary.
- [Meetup API](https://fous.com/tools/meetup.md): Find local groups and public events.
- [All Entertainment tools](https://fous.com/tools/category/entertainment)
