# Songkick Events Scraper (`parseforge/songkick-events-scraper`) Actor

Pull upcoming Songkick concerts from any concerts page, artist profile, or venue URL. Each record carries artist, venue, city, date, lineup, image, and event URL. Useful for tour tracking, fan alerts, music marketing, and feeding ticket discovery into planning.

- **URL**: https://apify.com/parseforge/songkick-events-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Automation, For creators, Integrations
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $7.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🎟️ Songkick Events Scraper

> 🚀 **Export Songkick concerts and tour dates in seconds. Artist, venue, city, date, lineup and event image.**

> 🕒 **Last updated:** 2026-06-05 · **📊 9 fields** per record · Worldwide coverage · Past and upcoming events

The Songkick Events Scraper turns Songkick concerts, artist or venue pages into a clean dataset of upcoming and past shows.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| 🎤 Promoters | Track competing concerts in your market |
| 📊 Live-music analysts | Map tour patterns and venue activity |
| 🧑‍💻 Developers | Build concert-discovery apps |
| 📰 Local news outlets | Auto-populate "what's on" pages |
| 🎓 Researchers | Study live performance trends |
| 💼 Travel and hospitality | Pair hotels and venues with show calendars |

### 📋 What the Songkick Events Scraper does

- Reads any Songkick concerts, artist or venue page.
- Extracts every event card with artist, venue, city, date, lineup and image.
- Pushes one flat record per event into your Apify dataset.

> 💡 **Why it matters.** Songkick is one of the largest live-music indexes worldwide, but its data is locked in HTML lists. This actor flattens it.

### 🎬 Full Demo

_🚧 Coming soon._

### ⚙️ Input

<table>
<tr><th>Field</th><th>Type</th><th>Required</th><th>Description</th></tr>
<tr><td><code>startUrl</code></td><td>string</td><td>No</td><td>Songkick concerts, artist or venue URL.</td></tr>
<tr><td><code>maxItems</code></td><td>integer</td><td>No</td><td>Free users 10. Paid users up to 1,000,000.</td></tr>
</table>

**Example 1, concerts feed**
```json
{ "startUrl": "https://www.songkick.com/concerts", "maxItems": 100 }
````

**Example 2, artist page**

```json
{ "startUrl": "https://www.songkick.com/artists/253846-radiohead", "maxItems": 50 }
```

> ⚠️ **Good to Know.** Songkick layouts vary across feeds. The scraper falls back across known card patterns.

### 📊 Output

| Field | Type | Description |
|---|---|---|
| 🖼️ `imageUrl` | string | Event or artist image. |
| 🎤 `artist` | string | Headline artist. |
| 🏟️ `venue` | string | Venue name. |
| 🏙️ `city` | string | City and country. |
| 📅 `date` | string | Event date. |
| 👥 `lineup` | array | Other artists on the bill. |
| 🔗 `url` | string | Event page URL. |
| 🕒 `scrapedAt` | string | When this row was fetched. |
| ❌ `error` | string | Set if extraction failed. |

**Sample record**

```json
{
  "imageUrl": "https://images.sk-static.com/images/media/profile_images/artists/253846/huge_avatar",
  "artist": "Radiohead",
  "venue": "O2 Arena",
  "city": "London, UK",
  "date": "2026-09-12T19:30:00",
  "lineup": ["Radiohead", "The Smile"],
  "url": "https://www.songkick.com/concerts/40000000",
  "scrapedAt": "2026-06-05T12:00:00.000Z",
  "error": null
}
```

### ✨ Why choose this Actor

| 🌐 | Songkick concerts, artist and venue pages all supported. |
| 🖼️ | Includes event image URLs for downstream UIs. |
| 🧹 | Flat one-row-per-event records. |
| 🔌 | Native Apify integrations. |
| 💾 | Push to dataset and download in every Apify format. |

### 📈 How it compares to alternatives

| Approach | Setup time | Pagination | Maintenance |
|---|---|---|---|
| Manual copy | Hours | Painful | High |
| Custom scraper | A day | DIY | High |
| **This Actor** | 5 seconds | Built in | None |

### 🚀 How to use

1. Click **Try for free**.
2. Paste a Songkick URL.
3. Set `maxItems`.
4. Click **Start**.

### 💼 Business use cases

**🎟️ Local market intelligence.** Build a what's-on calendar for any city.

**📊 Booking strategy.** See which venues book which artist tiers.

**📰 Editorial calendars.** Automate event listings for music publications.

**🏨 Travel and hospitality.** Pair hotel availability with surrounding shows.

### 🔌 Automating Songkick Events Scraper

- **Make and Zapier**, trigger and push to Airtable, Sheets, Slack.
- **Cron schedule**, native Apify scheduler.
- **Webhooks**, hit your endpoint on completion.
- **Pipe to BigQuery, Snowflake, Postgres**, native Apify integrations.

### 🌟 Beyond business use cases

**🎓 Education.** Build live-music history modules.

**🧪 Personal research.** Track your favourite artists' touring.

**🤝 Non-profit and open data.** Power public live-music datasets.

**🧰 Tinkering and prototyping.** Wire Songkick into your hobby project.

### 🤖 Ask an AI assistant about this scraper

Pop this README into any AI assistant and ask it to map your workflow to actor inputs.

### ❓ Frequently Asked Questions

**❓ Do you cover all cities?** Anything Songkick indexes works.

**❓ Are past events included?** Yes, on artist pages with a past-events tab.

**❓ Are lineups always present?** When listed on the event card.

**❓ Does it follow pagination?** It captures the first feed page; pass paginated URLs directly for deeper crawls.

**❓ Can I schedule runs?** Yes, native Apify scheduler.

**❓ Will it break if layout changes?** Resilient selectors with fallbacks.

**❓ Is this scraping or API?** Public HTML pages only.

**❓ Will the schema change?** Stable core fields.

**❓ How fresh is the data?** Real-time at the moment of run.

**❓ What output format can I download?** Every format the Apify dataset UI offers.

### 🔌 Integrate with any app

Apify ships native integrations with Make, Zapier, Slack, Discord, Google Drive, Google Sheets, Gmail, Airbyte, Keboola, Telegram, GitHub, and any REST API or webhook endpoint.

### 🔗 Recommended Actors

| Actor | What it does |
|---|---|
| [ParseForge Setlist.fm Scraper](https://apify.com/parseforge/setlistfm-artist-tour-scraper) | Concert setlists by artist and venue. |
| [ParseForge Tunefind Scraper](https://apify.com/parseforge/tunefind-soundtracks-scraper) | Soundtracks for TV and film. |
| [ParseForge WhoSampled Scraper](https://apify.com/parseforge/whosampled-songs-scraper) | Sample, cover and remix relationships. |
| [ParseForge Official Charts UK Scraper](https://apify.com/parseforge/officialcharts-uk-scraper) | UK Top 40 chart positions. |

> 💡 **Pro Tip.** Browse the complete [ParseForge collection](https://apify.com/parseforge) for 900+ production-grade scrapers.

***

**Disclaimer.** This actor scrapes only publicly available data. ParseForge is not affiliated with, endorsed by, or sponsored by any of the third-party services referenced. Users are responsible for complying with the target site's terms of service and applicable law. [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp).

# Actor input Schema

## `startUrl` (type: `string`):

Songkick concerts, artist or venue page URL.

## `maxItems` (type: `integer`):

Free users limited to 10 items (preview). Paid users optional, max 1,000,000.

## Actor input object example

```json
{
  "startUrl": "https://www.songkick.com/concerts",
  "maxItems": 10
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrl": "https://www.songkick.com/concerts",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/songkick-events-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrl": "https://www.songkick.com/concerts",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/songkick-events-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrl": "https://www.songkick.com/concerts",
  "maxItems": 10
}' |
apify call parseforge/songkick-events-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/songkick-events-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Songkick Events Scraper",
        "description": "Pull upcoming Songkick concerts from any concerts page, artist profile, or venue URL. Each record carries artist, venue, city, date, lineup, image, and event URL. Useful for tour tracking, fan alerts, music marketing, and feeding ticket discovery into planning.",
        "version": "0.1",
        "x-build-id": "jcXzfNDlnVWgTrfOM"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~songkick-events-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-songkick-events-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~songkick-events-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-songkick-events-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~songkick-events-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-songkick-events-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrl": {
                        "title": "Start URL",
                        "type": "string",
                        "description": "Songkick concerts, artist or venue page URL."
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users limited to 10 items (preview). Paid users optional, max 1,000,000."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
