Bandsintown Events Scraper
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
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
- Open the Actor input page.
- Add one or more artist names, IDs, or profile URLs.
- Choose the records to return.
- Select an event date scope.
- Set a reasonable maximum event count.
- Enable event detail enrichment only when needed.
- Start the run and open the dataset.
A low-cost first run:
{"artists": ["Coldplay"],"queryType": "events","dateFilter": "past","includeEventDetails": false,"maxResults": 10}
Input reference
| Field | Type | Default | Purpose |
|---|---|---|---|
artists | string[] | Coldplay | Artist names, numeric IDs, or profile URLs |
queryType | string | events | Return events, artists, or both |
dateFilter | string | past | Upcoming, past, all, or custom dates |
dateFrom | date | empty | Inclusive custom range start |
dateTo | date | empty | Inclusive custom range end |
includeEventDetails | boolean | false | Add geo, lineup, descriptions, and offers |
maxResults | integer | 10 | Global cap for event rows |
proxyConfiguration | object | residential | Connection settings |
Artist profile rows do not consume the event limit.
Artist input formats
Use any of these values in the artists list:
Coldplay99https://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
| Field | Description |
|---|---|
recordType | Always event |
id | Bandsintown event ID |
title | Event or billing title |
url | Canonical public event URL |
datetime | Local ISO event start |
endDatetime | Optional event end |
timezone | Venue timezone when available |
artistId | Queried artist ID |
artistName | Queried artist name |
venueName | Venue name |
venueCity | City |
venueRegion | State or region |
venueCountry | Country |
venueLatitude | Optional latitude |
venueLongitude | Optional longitude |
lineup | Optional performer names |
offers | Optional ticket offer objects |
streamingEvent | Whether the listing is a stream |
scrapedAt | UTC extraction time |
Artist fields
| Field | Description |
|---|---|
recordType | Always artist |
id | Bandsintown artist ID |
name | Artist name |
url | Canonical profile URL |
imageUrl | Public profile image |
followerCount | Public Bandsintown followers |
upcomingEventCount | Upcoming events visible in the page payload |
verified | Verified profile flag |
genre | Public genre label |
hometown | Public hometown label |
scrapedAt | UTC 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
maxResultslow 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 ApifyClientclient = 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().itemsprint(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.
Related scrapers
Combine this Actor with other automation-lab Store tools when your workflow needs broader event or lead data:
- AllEvents Scraper for cross-category public events.
- Eventbrite Events Scraper for organizer and Eventbrite listing workflows.
- Google Maps Lead Finder for venue and local-business enrichment.
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.