DICE Events Scraper — every gig, club night and show in a city avatar

DICE Events Scraper — every gig, club night and show in a city

Pricing

from $1.60 / 1,000 events

Go to Apify Store
DICE Events Scraper — every gig, club night and show in a city

DICE Events Scraper — every gig, club night and show in a city

Every event DICE lists in a city for the dates you pick: name, start time, venue and address, type, price, sold-out status, ticket sale dates and image. Gets past the 24-event limit, and returns only new, sold-out or re-priced events since the last run. No login.

Pricing

from $1.60 / 1,000 events

Rating

0.0

(0)

Developer

Northbell

Northbell

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

DICE Events Scraper — every gig, club night and comedy show in a city

Read every event DICE (dice.fm) lists in a city for the days you pick: name, start time, venue and address, event type (gig, DJ, party, comedy, theatre …), price, sold-out status, ticket sale dates and the picture. One clean row per event, for London, New York, Paris, Berlin, Barcelona, Madrid, Milan, Los Angeles, Manchester and every other DICE city. $2.00 per 1,000 events, no login, no API key.

Not cut off at 24. DICE shows 24 events at a time and the rest only to its own app. This Actor reads each day, then each event type, then narrower price bands and genres, until every window fits, so a Saturday in London comes back with all of its 160+ events, not the first 24.

Fixed 22 Oct 2026: when the previous run stopped before the end of its days (at maxEventsPerCity, your charge limit or the time limit), events on the days it had not reached counted as new, so with returnOnly: new a second run could return existing events as new and charge for them. Now an unseen event on a day the previous run did not finish is new only if DICE announced it after that run; unseen events on days it did read are still new.

Built for watching a city. Pick New events and events that sold out or changed price and every run returns only what changed since your previous run: newly announced shows, shows that just sold out, and price changes.

What you get

FieldWhat it is
name, url, eventIdthe event, its page on DICE and its DICE id
startsAt, endsAt, localStart, timezone, isMultiDaystart and end (UTC), the start in the city's own time, the time zone, and whether it runs over several days
categorythe DICE event type: music/gig, music/dj, music/party, culture/comedy, culture/theatre, culture/film …
venue, venueAddress, venueId, otherVenues, city, country, countryCodewhere it is
price, priceFrom, currency, isFreethe ticket price, or the "from" price when there are several tiers, and the currency (GBP, USD, EUR …)
status, isSoldOutthe ticket status DICE shows (on-sale, sold-out …)
announcedAt, saleStartsAt, saleEndsAtwhen the event was announced and when tickets go on and come off sale
summary, tag, ticketType, imageUrlthe one-line description, DICE's tag, how tickets are taken (purchase …) and the square picture
isNewSinceLastRun, firstSeenAt, previousStatus, statusChanged, previousPrice, priceChangedthe change since your previous run of the same city and types: empty on the first run
observedAtwhen this row was read

Each city also gets one free summary row: eventsRead, eventsReturned, newSinceLastRun, changedSinceLastRun, filteredOut (sold out, when you leave those out), pagesFetched, the days read, stoppedBecause (end-of-range, limit, time-limit or error) and incompleteWindows (see Notes). A city that cannot be read gives a free error row.

Shape of a row (shortened):

{
"type": "event", "eventId": "6abe416d7fbb6f0001bf6ce6", "url": "https://dice.fm/event/6abe416d7fbb6f0001bf6ce6",
"name": "A:M After Hours", "category": "music/party", "status": "on-sale", "isSoldOut": false,
"startsAt": "2026-10-24T02:00:00.000Z", "endsAt": "2026-10-24T09:00:00.000Z", "localStart": "2026-10-24T03:00:00+01:00", "timezone": "Europe/London",
"venue": "Lightbox", "venueAddress": "6A S Lambeth Pl, London SW8 1SP", "city": "London", "countryCode": "GB",
"price": null, "priceFrom": 0, "currency": "GBP", "isFree": false,
"saleStartsAt": "2026-09-30T23:15:00.000Z", "saleEndsAt": "2026-10-24T06:00:00.000Z",
"isNewSinceLastRun": true, "statusChanged": false, "priceChanged": false,
"observedAt": "2026-10-19T04:26:03.425Z"
}

Run it again and again

  • On a schedule — save your input as a task and add a Schedule: every hour or every morning. Send each run to Slack, Discord, Telegram, Google Sheets or email with an integration on the task.
  • Watch for changes — Set Return to New events and events that sold out or changed price.
  • In bulk — Put every city you follow in Cities and read up to 90 days in one run.

Use it for

  • Event listings and city guides — every gig, club night and comedy show in your city, with venue, time and price, for your site, app or newsletter
  • Promoters, venues and agents — see what else is on the same night, what sells out and how others price their tickets
  • Artists' and labels' teams — know as soon as a show is announced or sells out
  • Market research — which types of events, venues and price levels each city has, week by week

Input

{
"cities": ["London", "Manchester", "https://dice.fm/browse/paris-5b23e8a0e63cc224a4c36a2d/culture/comedy"],
"categories": ["gig", "comedy"],
"dateFrom": "2026-11-01",
"days": 7,
"maxEventsPerCity": 1000,
"returnOnly": "new-or-changed",
"includeSoldOut": true
}
  • cities — city names as DICE uses them, or the address of a city page on dice.fm. An address that ends in an event type reads only that type.
  • categories — optional: only these event types (gig, dj, party, comedy, theatre, film …, or music / culture for a whole group).
  • dateFrom, days — the first day (default today, in each city's own time) and how many days, up to 90.
  • maxEventsPerCity — stop a city after this many events (default 1,000).
  • returnOnly — all, new, or new-or-changed.
  • includeSoldOut — leave out sold-out events when switched off.

The memory behind since the last run is kept per city and per choice of types in a named key-value store in your Apify account, so the second run already shows what changed. It does not depend on the days you pick: an event read last week and again today is not new.

Pricing

$2.00 per 1,000 events ($0.002 each), plus $0.001 per run. Summary rows and error rows are free. With new or new-or-changed you pay only for the events returned, so an hourly check of a city that finds 5 changes costs about $0.011.

Notes

  • Public data only: what anyone sees on dice.fm without signing in. The Actor does not buy, hold or check tickets.
  • Speed: about 1.5 pages a second, all from dice.fm one after the other. A day in London takes 10 to 40 seconds (more on Fridays and Saturdays, when the busiest types are split by price and genre); a quiet city takes a few seconds.
  • Completeness: when even a single genre in a 1-unit price band on one day has more than 24 events, a few events in it can be missing. Such windows are listed in the city's incompleteWindows, so you know where; on the busiest Saturday we tried in London there were none.
  • Days: an event that starts after midnight is read on its own day. Multi-day events are returned once.
  • Event types come from DICE. An event belongs to one type. A type that has no events on a day is skipped.
  • Prices are in the city's currency, in whole units (12.5 = £12.50). price is the ticket price; when DICE shows "from" a price (several tiers), it is in priceFrom and price is empty.
  • If DICE refuses the requests the city gets an error row; busy responses (429) and connection errors are retried twice. The Actor does not get around bot checks.

For AI agents

{"cities": ["London"], "categories": ["comedy"], "days": 3} returns every comedy event in London for the next three days, one row per event, plus one summary row. Rows have type: event, summary or error. To watch over time, call it again with the same cities and types and "returnOnly": "new-or-changed": every event row returned is new, sold out or re-priced since the previous call.

**Something broke or looks wrong?** Open an issue on this Actor's Issues tab and I'll look at it. **Found it useful?** A short review on the Store page helps other people find it.