Dice.fm Scraper avatar

Dice.fm Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Dice.fm Scraper

Dice.fm Scraper

Fetch events from Dice.fm by city, artist, venue, genre, or date range. No API key required.

Pricing

from $1.00 / 1,000 results

Rating

0.0

(0)

Developer

Hoho

Hoho

Maintained by Community

Actor stats

1

Bookmarked

36

Total users

6

Monthly active users

6 days ago

Last modified

Categories

Share

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 Tet works, Four doesn't). If nothing matches you get an empty result with the resolved ID null, never an unfiltered feed.

  • Shared names: several artists (e.g. Ash) or venues can share a name — all of them are listed in resolved.matches and 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; add country to pick another.
  • IDs skip the lookup: numeric artist/venue IDs and city IDs are used directly. Get city IDs from queryType=cities, venue IDs from queryType=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.md for 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

FieldTypeDescription
queryTypeselectbrowse (default), search, artist, venue, cities, or venues
qstringAn artist, venue or city name (e.g. Four Tet, fabric, Berlin). Required for queryType=search
performerstringArtist name (exact, e.g. Bicep), or a numeric Dice artist ID to skip name lookup. Required for queryType=artist
venuestringVenue name (exact, e.g. Public Records), or a numeric Dice venue ID (from queryType=venues) to skip name lookup. Required for queryType=venue
citystringFilter by city — a city name (e.g. London, New York) or a Dice city ID (from queryType=cities) — honored (browse, search, artist, venue)
countrystringFilter by ISO-2 country code (e.g. GB, US, DE) — events across all of that country's Dice cities — honored (browse, search, artist, venue)
dateFromstringStart of date range in YYYY-MM-DD format — honored (every event mode)
dateTostringEnd of date range in YYYY-MM-DD format — honored
genreTagstringFilter by genre tag (e.g. gig:techno, gig:hardrock, culture:foodanddrink) — honored
typeTagstringFilter by top-level type tag (e.g. music:gig, culture:sport) — honored
limitintegerMax 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 as browse), 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 a resolved object 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 are null/empty and data is empty (the filter is never silently dropped).

Note on artists and price (browse results): in practice, Dice.fm's browse feed returns [] for artists and null for price on the large majority of events (confirmed across 100+ live events) — most listings carry their lineup in lineup instead and their pricing in ticket_types. Fields are documented as-is (not removed) since they're real, populated fields on queryType=search results and on some browse events.

Event item

FieldDescription
idDice.fm event ID
nameEvent name
dateStart date/time (ISO 8601, UTC)
date_endEnd date/time — set for multi-day events
timezoneIANA timezone (e.g. Europe/London)
statuson-sale, off-sale, or cancelled
sold_outWhether the event is sold out
venueVenue name
venuesArray of venue objects with ID, name, city, and Dice.fm URL
locationObject with street, city, state, zip, country, lat, lng
citiesArray of city objects with code, name, and country
descriptionFull event description
age_limitAge restriction text (e.g. 18+)
presented_byPresenter/organizer
artistsArray of artist objects on the bill — see empty-fields note above
lineupArray of lineup entries with set times
ticket_typesArray of ticket types with face value, fees, and total price
priceBase ticket price (null if free, variable, or not exposed — see note above)
currencyCurrency code (e.g. USD, GBP)
genre_tagsGenre tags (e.g. gig:techno, gig:hardrock)
type_tagsEvent type tags (e.g. music:gig, culture:sport)
event_imagesObject with landscape, portrait, square, and brand image URLs
urlDice.fm event link
flagsFeature flags (e.g. qr-code, going_ahead, cancelled)

Venue item (queryType=venues)

FieldDescription
venue_idDice.fm venue ID (string, not numeric)
nameVenue name
bundle_urlDice.fm venue slug
location.full_addressFull street address
location.city.nameCity name
location.countryCountry
location.lat / location.longCoordinates
location.placeIANA timezone (e.g. America/New_York)

City item (queryType=cities)

FieldDescription
idDice.fm city ID — pass as city to queryType=browse
nameCity name (e.g. London)
country_codeISO-2 country code (e.g. GB) — pass as country to browse
country_nameCountry name (English)
venue_countNumber of Dice venues in the city
location.placeIANA timezone (e.g. Europe/London)

Changed in v2.0: perm_name and location.lat/location.lng are no longer returned (Dice's public city list doesn't carry them); venue_count is 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.