Dice.fm Scraper
Pricing
from $1.00 / 1,000 results
Dice.fm Scraper
Fetch events from Dice.fm by city, artist, venue, genre, or date range. No API key required.
No API key. No account. Look up an artist's or venue's upcoming shows, browse a city's events, search by name, filter by genre or date — or pull the full worldwide city and venue directories. Clean JSON back.
Updated October 2026 (v2.0): city browsing, search and artist/venue lookups by name work again. search now matches an artist, venue or city name (not words inside event titles) and returns full event detail; city/country/date/genre filters now also apply to search, artist and venue results; the city directory covers ~800 cities (fields changed — see below). Page inputs are replaced by one Max results setting (limit, default 1000; 0 = all), and city no longer defaults to London.
Fetches event data from Dice.fm: dates, venues, lineups, ticket types, pricing, images, and genre tags.
Why this scraper?
- No Dice.fm account or API key required
- Six query modes — artist events, venue events, browse (city/country/genre/date filters), name search, and the city + venue directories
- Rich event data — dozens of fields per event including ticket pricing, lineup with set times, multiple image formats, age limits, and sold-out status
- Exact artist, venue & city filtering — every result is genuinely scoped to what you asked for (not a fuzzy keyword match), with full pagination
What you can fetch
- Artist events — all upcoming shows for a specific artist, filtered exactly by artist ID
- Venue events — all upcoming events at a specific venue, filtered exactly by venue ID
- Browse events — filter by city, country, date range, and/or genre/type tag
- Search by name — type an artist, venue or city name and get its upcoming events
- City directory — ~800 cities with Dice venues, with IDs, country codes and timezones
- Venue directory — ~5,900 venues worldwide with names, coordinates, and IDs
How artist / venue / city lookup works: you pass a name, and the scraper matches it exactly (ignoring case and accents) against Dice's own public lists — the artist pages Dice publishes, its venue directory and its city directory — then fetches that ID's exact event list. Partial names don't match (
Four Tetworks,Fourdoesn't). If nothing matches you get an empty result with theresolvedIDnull, never an unfiltered feed.
- Shared names: several artists (e.g.
Ash) or venues can share a name — all of them are listed inresolved.matchesand their events come back together. Pass a numeric ID to pick one. For cities (Manchester, Portland, London…) the one with the most Dice venues is used; addcountryto pick another.- IDs skip the lookup: numeric artist/venue IDs and city IDs are used directly. Get city IDs from
queryType=cities, venue IDs fromqueryType=venues.- Speed: the first artist-name lookup in a run loads Dice's artist list (~139,000 artists), which takes about 30 seconds. Lookups by ID, venue and city don't need it.
Not supported (confirmed genuinely dead upstream): filtering by status, sold-out, or sort order. Dice's public events API has no working parameter for these in any form (checked singular, plural, and ID variants). Results come date-ascending by default. See
core/api.mdfor the full investigation.
Usage
Choose a queryType and provide the appropriate inputs.
Get all upcoming shows for an artist
{ "queryType": "artist", "performer": "Bicep" }
Get all events at a venue
{ "queryType": "venue", "venue": "Public Records" }
Browse events in a city
{ "queryType": "browse", "city": "London" }
Browse events across a country
{ "queryType": "browse", "country": "GB", "genreTag": "gig:techno" }
Browse events in a date range
{ "queryType": "browse", "dateFrom": "2027-03-01", "dateTo": "2027-03-31" }
Search by artist, venue or city name
{ "queryType": "search", "q": "Four Tet" }
q is tried as an artist name, then a venue name, then a city name; the first
that has upcoming events wins (resolved.matchedAs says which). Words that only
appear in event titles (e.g. halloween party) don't match anything.
Get the city or venue directory
{ "queryType": "cities" }
Input fields
| Field | Type | Description |
|---|---|---|
queryType | select | browse (default), search, artist, venue, cities, or venues |
q | string | An artist, venue or city name (e.g. Four Tet, fabric, Berlin). Required for queryType=search |
performer | string | Artist name (exact, e.g. Bicep), or a numeric Dice artist ID to skip name lookup. Required for queryType=artist |
venue | string | Venue name (exact, e.g. Public Records), or a numeric Dice venue ID (from queryType=venues) to skip name lookup. Required for queryType=venue |
city | string | Filter by city — a city name (e.g. London, New York) or a Dice city ID (from queryType=cities) — honored (browse, search, artist, venue) |
country | string | Filter by ISO-2 country code (e.g. GB, US, DE) — events across all of that country's Dice cities — honored (browse, search, artist, venue) |
dateFrom | string | Start of date range in YYYY-MM-DD format — honored (every event mode) |
dateTo | string | End of date range in YYYY-MM-DD format — honored |
genreTag | string | Filter by genre tag (e.g. gig:techno, gig:hardrock, culture:foodanddrink) — honored |
typeTag | string | Filter by top-level type tag (e.g. music:gig, culture:sport) — honored |
limit | integer | Max results — stop after this many events (default 1000). Set 0 for every matching event. The scraper pages through Dice for you and stops as soon as it has enough. |
Output
Each run pushes one item per event (or venue) to the dataset.
Note on
queryType=search: results are full events (same fields asbrowse), because search resolves the name to an artist, venue or city and then fetches that ID's events.
Note on
resolved(artist / venue / search / city-filtered modes): the response includes aresolvedobject showing what your names matched — e.g.{ "artistId": "620", "artistIds": ["620"], "matches": [{ "artistId": "620", "name": "BICEP", "url": "https://dice.fm/artist/bicep-dkko" }], "name": "Bicep" },{ "q": "fabric", "matchedAs": "venue", "matches": [...] }for search, or{ "city": "London", "country": null, "cityIds": ["54d8a23438fe5d27d500001c"] }. If nothing matched, the IDs arenull/empty anddatais empty (the filter is never silently dropped).
Note on
artistsandprice(browse results): in practice, Dice.fm's browse feed returns[]forartistsandnullforpriceon the large majority of events (confirmed across 100+ live events) — most listings carry their lineup inlineupinstead and their pricing inticket_types. Fields are documented as-is (not removed) since they're real, populated fields onqueryType=searchresults and on some browse events.
Event item
| Field | Description |
|---|---|
id | Dice.fm event ID |
name | Event name |
date | Start date/time (ISO 8601, UTC) |
date_end | End date/time — set for multi-day events |
timezone | IANA timezone (e.g. Europe/London) |
status | on-sale, off-sale, or cancelled |
sold_out | Whether the event is sold out |
venue | Venue name |
venues | Array of venue objects with ID, name, city, and Dice.fm URL |
location | Object with street, city, state, zip, country, lat, lng |
cities | Array of city objects with code, name, and country |
description | Full event description |
age_limit | Age restriction text (e.g. 18+) |
presented_by | Presenter/organizer |
artists | Array of artist objects on the bill — see empty-fields note above |
lineup | Array of lineup entries with set times |
ticket_types | Array of ticket types with face value, fees, and total price |
price | Base ticket price (null if free, variable, or not exposed — see note above) |
currency | Currency code (e.g. USD, GBP) |
genre_tags | Genre tags (e.g. gig:techno, gig:hardrock) |
type_tags | Event type tags (e.g. music:gig, culture:sport) |
event_images | Object with landscape, portrait, square, and brand image URLs |
url | Dice.fm event link |
flags | Feature flags (e.g. qr-code, going_ahead, cancelled) |
Venue item (queryType=venues)
| Field | Description |
|---|---|
venue_id | Dice.fm venue ID (string, not numeric) |
name | Venue name |
bundle_url | Dice.fm venue slug |
location.full_address | Full street address |
location.city.name | City name |
location.country | Country |
location.lat / location.long | Coordinates |
location.place | IANA timezone (e.g. America/New_York) |
City item (queryType=cities)
| Field | Description |
|---|---|
id | Dice.fm city ID — pass as city to queryType=browse |
name | City name (e.g. London) |
country_code | ISO-2 country code (e.g. GB) — pass as country to browse |
country_name | Country name (English) |
venue_count | Number of Dice venues in the city |
location.place | IANA timezone (e.g. Europe/London) |
Changed in v2.0:
perm_nameandlocation.lat/location.lngare no longer returned (Dice's public city list doesn't carry them);venue_countis new. Use the venue directory for coordinates.
Use cases
- City event feeds — browse everything happening in a city (
queryType=browse,city=) or across a whole country (country=) - Artist tour tracking — pull an artist's full upcoming Dice show list by name (
queryType=artist), exactly filtered - Venue calendars — pull a venue's full upcoming schedule (
queryType=venue) by name or ID - Concert discovery apps — combine city, genre, and date filters to power location-aware feeds
- Ticket monitoring — watch sold-out status and ticket availability across an artist's, venue's, or city's events
- Event aggregation — combine Dice.fm with other scrapers for cross-platform coverage
- Analytics — genre trends by city, promoter activity
This scraper is not affiliated with Dice.fm. Please use responsibly and in accordance with Dice.fm's terms of service.