Bandsintown Events Scraper avatar

Bandsintown Events Scraper

Pricing

Pay per event

Go to Apify Store
Bandsintown Events Scraper

Bandsintown Events Scraper

Extract public Bandsintown concert dates, tour history, artist profiles, venues, lineups, coordinates, and ticket offers by artist name, ID, or URL.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

3 days ago

Last modified

Categories

Share

Extract public Bandsintown concert dates, tour history, venues, artist profiles, lineups, coordinates, and ticket offers into a clean Apify dataset.

Use an artist name, numeric Bandsintown ID, or profile URL. Choose upcoming shows, past concerts, every available event, or a custom date range. No Bandsintown login or API key is required.

What does Bandsintown Events Scraper do?

This Actor turns artist-centric Bandsintown pages into structured records.

  • 🎤 Resolve artists by name, ID, or URL.
  • 📅 Collect upcoming or historical concert dates.
  • 🏟️ Capture venue, city, region, and country.
  • 🎟️ Optionally enrich ticket offers and availability.
  • 🗺️ Optionally extract venue latitude and longitude.
  • 👥 Preserve full event lineups when exposed.
  • 📈 Export follower counts and verified status.
  • 🔁 Deduplicate the same event across queried artists.

The default output is a table that can be downloaded as JSON, CSV, Excel, XML, or RSS.

Who is it for?

Event aggregators

Build concert calendars and refresh announced dates on a schedule.

Ticketing and resale teams

Monitor ticket links, offer availability, and on-sale information.

Music marketers

Track tours for a roster of artists and identify active markets.

Venue analysts

Create venue inventories and compare tour routing by city or country.

Artist and label teams

Monitor public follower counts, verified profiles, and concert history.

Data engineers

Feed normalized concert records into warehouses, dashboards, and alerting pipelines.

Why use this Actor?

Bandsintown pages are protected by Cloudflare and direct HTTP requests are commonly blocked. This Actor uses conservative residential browser sessions, blocks unnecessary media, retries bounded failures, and extracts server-rendered public data.

You receive:

  • consistent field names across artists;
  • a global event limit for predictable runs;
  • partial success when one artist fails;
  • source URLs for verification;
  • timestamps for monitoring workflows;
  • separate event and artist dataset views.

Quick start

  1. Open the Actor input page.
  2. Add one or more artist names, IDs, or profile URLs.
  3. Choose the records to return.
  4. Select an event date scope.
  5. Set a reasonable maximum event count.
  6. Enable event detail enrichment only when needed.
  7. Start the run and open the dataset.

A low-cost first run:

{
"artists": ["Coldplay"],
"queryType": "events",
"dateFilter": "past",
"includeEventDetails": false,
"maxResults": 10
}

Input reference

FieldTypeDefaultPurpose
artistsstring[]ColdplayArtist names, numeric IDs, or profile URLs
queryTypestringeventsReturn events, artists, or both
dateFilterstringpastUpcoming, past, all, or custom dates
dateFromdateemptyInclusive custom range start
dateTodateemptyInclusive custom range end
includeEventDetailsbooleanfalseAdd geo, lineup, descriptions, and offers
maxResultsinteger10Global cap for event rows
proxyConfigurationobjectresidentialConnection settings

Artist profile rows do not consume the event limit.

Artist input formats

Use any of these values in the artists list:

Coldplay
99
https://www.bandsintown.com/a/99-coldplay

Names use Bandsintown's public artist route. IDs are the least ambiguous choice when different artists share a name.

Event date filters

Upcoming

Returns currently announced future events from the artist page.

Past

Returns historical concerts and follows public historical pages while the result cap requires more records.

All

Combines available upcoming and historical events.

Custom

Applies inclusive dateFrom and dateTo bounds. At least one bound is required.

{
"artists": ["Coldplay"],
"queryType": "events",
"dateFilter": "custom",
"dateFrom": "2024-01-01",
"dateTo": "2025-12-31",
"maxResults": 200
}

Event detail enrichment

Set includeEventDetails to true when you need deeper fields.

The Actor opens each event page and looks for public MusicEvent structured data. Depending on the event, enrichment can add:

  • venue coordinates;
  • complete lineup;
  • event description;
  • end datetime;
  • ticket offer URLs;
  • availability status;
  • price and currency;
  • on-sale datetime.

Enrichment requires one additional page load per event. Leave it off for fast roster monitoring.

Output data

The default dataset contains two typed record shapes.

Event fields

FieldDescription
recordTypeAlways event
idBandsintown event ID
titleEvent or billing title
urlCanonical public event URL
datetimeLocal ISO event start
endDatetimeOptional event end
timezoneVenue timezone when available
artistIdQueried artist ID
artistNameQueried artist name
venueNameVenue name
venueCityCity
venueRegionState or region
venueCountryCountry
venueLatitudeOptional latitude
venueLongitudeOptional longitude
lineupOptional performer names
offersOptional ticket offer objects
streamingEventWhether the listing is a stream
scrapedAtUTC extraction time

Artist fields

FieldDescription
recordTypeAlways artist
idBandsintown artist ID
nameArtist name
urlCanonical profile URL
imageUrlPublic profile image
followerCountPublic Bandsintown followers
upcomingEventCountUpcoming events visible in the page payload
verifiedVerified profile flag
genrePublic genre label
hometownPublic hometown label
scrapedAtUTC extraction time

Example event record

{
"recordType": "event",
"id": "1036391781",
"title": "Coldplay at Wembley Stadium",
"url": "https://www.bandsintown.com/e/1036391781",
"datetime": "2025-09-12T16:45:00",
"timezone": "Europe/London",
"artistId": "99",
"artistName": "Coldplay",
"venueName": "Wembley Stadium",
"venueCity": "London",
"venueCountry": "United Kingdom",
"streamingEvent": false,
"scrapedAt": "2026-07-13T06:38:13.530Z"
}

Fields not exposed by a page are omitted instead of filled with misleading null values.

Example artist record

{
"recordType": "artist",
"id": "99",
"name": "Coldplay",
"url": "https://www.bandsintown.com/a/99",
"followerCount": 8919492,
"upcomingEventCount": 0,
"verified": true,
"genre": "Alternative, Rock",
"hometown": "London, United Kingdom",
"scrapedAt": "2026-07-13T06:38:13.530Z"
}

How much does it cost to scrape Bandsintown events?

The Actor uses pay-per-event pricing: $0.075 per run plus one result event for each dataset row. The BRONZE result price is $0.0017186 per record (about $1.72 per 1,000 rows), with canonical loyalty-tier discounts from FREE through DIAMOND.

The start charge covers fixed browser startup and residential proxy warmup so even tiny runs remain sustainable. Browser and proxy work is paid by the Actor owner under PPE, not billed separately to the user. The live Apify pricing panel is authoritative.

Control cost by:

  • keeping maxResults low for initial runs;
  • disabling detail enrichment when base event fields are enough;
  • batching several artists into one run;
  • using artist IDs to avoid ambiguous resolution.

Roster monitoring workflow

Run a list of managed artists daily:

{
"artists": ["99", "Metallica", "System of a Down"],
"queryType": "both",
"dateFilter": "upcoming",
"includeEventDetails": false,
"maxResults": 500
}

Store event IDs in your database. On each run, compare new IDs and changed ticket fields to trigger announcements.

Tour history analysis workflow

Use past or custom mode to build a historical table. Group events by year, country, city, or venue. Join follower snapshots from artist records to enrich reporting.

For large artists, start with a narrow date range and a moderate cap before requesting the full archive.

Venue and ticket intelligence workflow

Enable detail enrichment for the subset of events that needs geographic or offer data. Send coordinates to a mapping tool, group venues by market, and retain source URLs for analyst verification.

Ticket availability changes over time. Schedule recurring runs rather than treating one extraction as permanent truth.

Integrations

Google Sheets

Export the dataset to a sheet for editorial calendars and tour planning.

Zapier and Make

Trigger notifications when a scheduled run finishes and route new event rows into CRM or messaging tools.

n8n

Compare event IDs with a previous dataset and notify teams about newly announced concerts.

Webhooks

Attach an Actor run webhook to start downstream ETL as soon as extraction completes.

Data warehouses

Use the Apify API to ingest JSON into BigQuery, Snowflake, PostgreSQL, or object storage.

API usage with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/bandsintown-events-scraper').call({
artists: ['Coldplay', 'Metallica'],
queryType: 'events',
dateFilter: 'upcoming',
maxResults: 100,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

API usage with Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/bandsintown-events-scraper').call(run_input={
'artists': ['Coldplay'],
'queryType': 'both',
'dateFilter': 'past',
'maxResults': 50,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

API usage with cURL

curl -X POST \
'https://api.apify.com/v2/acts/automation-lab~bandsintown-events-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"artists":["Coldplay"],"queryType":"events","dateFilter":"past","maxResults":25}'

Fetch dataset items after the run succeeds using its defaultDatasetId.

Use with Apify MCP

Connect AI assistants through the actor-specific Apify MCP endpoint:

https://mcp.apify.com?tools=automation-lab/bandsintown-events-scraper

Claude Code

Run this command in your terminal:

$claude mcp add --transport http apify-bandsintown 'https://mcp.apify.com?tools=automation-lab/bandsintown-events-scraper'

Claude Desktop

Add this entry to your Claude Desktop MCP configuration. The mcp-remote adapter connects Desktop's local MCP client to the remote HTTP endpoint:

{
"mcpServers": {
"apify-bandsintown": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.apify.com?tools=automation-lab/bandsintown-events-scraper"
]
}
}
}

Restart Claude Desktop after saving the configuration.

Cursor

Save this as .cursor/mcp.json in your project, or merge the server entry into your existing file:

{
"mcpServers": {
"apify-bandsintown": {
"url": "https://mcp.apify.com?tools=automation-lab/bandsintown-events-scraper"
}
}
}

VS Code

Save this as .vscode/mcp.json, then start the server from VS Code's MCP servers view:

{
"servers": {
"apify-bandsintown": {
"type": "http",
"url": "https://mcp.apify.com?tools=automation-lab/bandsintown-events-scraper"
}
}
}

Example prompts

  • “Extract upcoming events for my artist roster and group them by country.”
  • “Build a venue table from Coldplay's 2024–2025 concert history.”
  • “Find ticket links for these public concert dates.”
  • “Create a venue map from enriched event records.”

Tips for reliable results

  • Prefer numeric IDs for artists with ambiguous names.
  • Keep the residential proxy setting enabled.
  • Start with 10–50 events before scaling.
  • Enrich only when coordinates or ticket objects are needed.
  • Use source URLs to verify time-sensitive ticket information.
  • Schedule monitoring runs at a considerate frequency.
  • Remember that a profile can legitimately have no upcoming dates.

Troubleshooting

Why did an artist return no records?

Check the spelling or use the numeric artist ID. A profile can also be unavailable, blocked for the current session, or have no events in the selected date range.

Why are lineup or coordinates missing?

Enable includeEventDetails. Even then, Bandsintown may not expose every optional field for every listing.

Why is the run slower with enrichment?

Each event detail requires another browser request through a residential proxy. Disable enrichment for fast event-list monitoring.

Why does direct HTTP return 403?

Bandsintown uses Cloudflare. The Actor intentionally uses browser sessions and residential proxy rotation rather than direct HTTP extraction.

Data quality notes

Bandsintown is the source of record for the extracted public page fields. Event titles, times, venue spellings, ticket offers, and follower counts can change after extraction.

The Actor deduplicates by Bandsintown event ID. The same event queried through multiple lineup artists is saved once per run.

Local event times are preserved as supplied, together with timezone when available.

Responsible use and legality

This Actor extracts publicly visible event and artist information. Public availability does not remove your obligations.

You are responsible for:

  • complying with applicable law;
  • following Bandsintown's terms and policies;
  • respecting intellectual property rights;
  • using considerate run frequency;
  • avoiding spam or harmful profiling;
  • securing exported datasets;
  • honoring deletion or correction obligations.

This Actor does not access private accounts, user credentials, or private fan data.

FAQ

Does it require a Bandsintown API key?

No. It extracts public web pages.

Can I provide artist names and IDs together?

Yes. Mix names, numeric IDs, and URLs in the same list.

Can it scrape historical concerts?

Yes. Choose past, all, or a custom date range.

Can it return artist profiles without events?

Yes. Set queryType to artists.

Does the event limit include artist rows?

No. maxResults limits event rows only.

Does it support ticket prices?

When public event structured data exposes price and currency, detail enrichment preserves them in offers.

Can I export to CSV or Excel?

Yes. Use Apify dataset export formats.

Can I schedule recurring runs?

Yes. Use Apify schedules and webhooks.

Combine this Actor with other automation-lab Store tools when your workflow needs broader event or lead data:

Support

If a valid public artist page repeatedly fails, open an Actor issue with:

  • the exact artist input;
  • selected date filter;
  • whether enrichment was enabled;
  • the run URL;
  • the approximate time of failure.

Do not include private credentials or confidential data.

Start scraping Bandsintown

Add an artist, choose a date scope, keep the first result cap small, and run the Actor. Scale the same input after you verify the event and artist fields fit your workflow.