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.
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), text 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 events — full-text search across event names, artists, and venues
- City directory — the ~79 cities Dice operates in, with names and IDs
- Venue directory — ~5,000 venues worldwide with names, coordinates, and IDs
How artist / venue / city lookup works: you pass a name, and the scraper resolves it to Dice's internal ID before fetching that ID's exact event list — artists and venues via Dice's search, cities via the city directory. Name resolution is fuzzy, so an obscure artist/venue may not resolve — if it doesn't, you get an empty result with the
resolvedidnull. You can pass a numeric Dice ID (artist/venue) or a city ID directly to skip resolution. Get city IDs fromqueryType=cities, venue IDs fromqueryType=venues.
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": "2026-04-01", "dateTo": "2026-04-30" }
Search events by name
{ "queryType": "search", "q": "jazz festival" }
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 | Text to search. Required for queryType=search |
performer | string | Artist name (e.g. Bicep), or a numeric Dice artist ID to skip name lookup. Required for queryType=artist |
venue | string | Venue name (e.g. Public Records), or a numeric Dice venue ID (from queryType=venues) to skip name lookup. Required for queryType=venue |
city | string | Filter browse by city — a city name (e.g. London, New York) or a Dice city ID (from queryType=cities) — honored |
country | string | Filter browse by ISO-2 country code (e.g. GB, US, DE) — returns events across all of that country's Dice cities — honored |
dateFrom | string | Start of date range in YYYY-MM-DD format — honored (works with artist/venue/browse) |
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 |
page | integer | Page number for pagination (default 1) — honored |
pageSize | integer | Results per page (default 50, max 50) — honored |
Output
Each run pushes one item per event (or venue) to the dataset.
Note on
queryType=search: search results come from a different upstream endpoint than the others, so a few fields are always empty for search results specifically:description,age_limit,ticket_types,genre_tags. Everything else (dates, venue, artists, pricing, images, URL) is populated. UsequeryType=browse,artist, orvenuefor full ticket-type detail — those come through the events API with the complete event object.
Note on
resolved(artist / venue / city-filtered modes):queryType=artist,queryType=venue, and anybrowsewith acity/countryfilter include aresolvedobject showing which Dice ID(s) the name mapped to — e.g.{ "artistId": "620", "name": "Bicep" }or{ "city": "London", "country": null, "cityIds": ["54d8a23438fe5d27d500001c"] }. If nothing resolved, the ID(s) 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) |
perm_name | City slug |
country_code | ISO-2 country code (e.g. GB) — pass as country to browse |
country_name | Country name |
location.lat / location.lng | Coordinates |
location.place | IANA timezone |
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.