DICE APIdice.fm ↗
Access DICE.fm event listings by city, genre, and date. Get venue, lineup, pricing, and scheduling data for music events and parties via 3 endpoints.
What is the DICE API?
The DICE.fm API provides 3 endpoints to query live event listings from dice.fm, covering concerts, club nights, and parties across major cities worldwide. browse_events returns paginated event arrays filtered by city slug, category, genre, and date range — each record includes venue name, pricing, tags, scheduling dates, and a canonical event URL. get_event_details exposes full event records including lineup, promoter info, images, and age restrictions.
curl -X GET 'https://api.parse.bot/scraper/9d08efd6-b294-4b5f-91a1-7c51ded9f7f9/browse_events?city=new_york-5bbf4db0f06331478e9b2c59&genre=afro_house&limit=10&category=music%2Fparty&date_from=2026-10-11&date_until=2026-10-18' \ -H 'X-API-Key: $PARSE_API_KEY'
Browse upcoming events on DICE filtered by city, event category, genre, and date range. Returns a list of events with venue, pricing, and scheduling details. Results are from the city's browse page, ordered chronologically. Each event carries a canonical url built from its id (the site redirects it to the slug URL); perm_name, tags and presented_by are only populated when the listing carries them (filtered listings usually do not). When a date range spans many events, the response indicates whether more results exist beyond the returned set.
| Param | Type | Description |
|---|---|---|
| city | string | City slug in the format '{perm_name}-{city_id}', e.g. 'new_york-5bbf4db0f06331478e9b2c59', 'london-5b22e2c8fc4800000182c2e7', 'paris-5b23e8a0e63cc224a4c36a2d'. Found in dice.fm browse page URLs. |
| genre | string | Sub-genre filter appended to the category path. Examples for music/party: 'afro_house', 'disco', 'funk', 'house', 'karaoke', 'latin', 'pop', 'reggaeton', 'tech-house'. Available genres vary by category and city. |
| limit | integer | Maximum number of events to return. |
| category | string | Event category path. |
| date_from | string | Start date filter in ISO format YYYY-MM-DD. Omit for no start date constraint. |
| date_until | string | End date filter in ISO format YYYY-MM-DD. Omit for no end date constraint. |
{
"type": "object",
"fields": {
"city": "object with name, id, country_code",
"events": "array of event objects with id, name, venue, price, dates, tags, url (canonical event page)",
"has_more": "boolean indicating if more events exist beyond this page",
"total_returned": "integer"
},
"sample": {
"data": {
"city": {
"id": "5bbf4db0f06331478e9b2c59",
"name": "New York",
"country_code": "US"
},
"events": [
{
"id": "6a02ae12faa95d0001d2944d",
"url": "https://dice.fm/event/2wywg7-azure-day-party-july-12th-12th-jul-rooftop-at-arlo-williamsburg-new-york-city-tickets",
"name": "Azure Day Party July 12th",
"tags": [
"Party"
],
"status": "on-sale",
"timezone": "America/New_York",
"date_unix": 1783882800,
"perm_name": "2wywg7-azure-day-party-july-12th-12th-jul-rooftop-at-arlo-williamsburg-new-york-city-tickets",
"properties": [
"selling_fast"
],
"venue_name": "Rooftop at Arlo Williamsburg",
"image_square": "https://dice-media.imgix.net/attachments/2026-05-12/890de510-544c-415c-9fda-01ebb7b58e50.jpg?rect=0%2C0%2C1254%2C1254",
"presented_by": "Presented by Azure Day Party.",
"price_amount": 75,
"venue_address": "123 Main St, Springfield, IL 62704",
"event_end_date": "2026-07-12T22:00:00-04:00",
"price_currency": "USD",
"event_start_date": "2026-07-12T15:00:00-04:00"
}
],
"has_more": false,
"total_returned": 10
},
"status": "success"
}
}About the DICE API
What the API Returns
The browse_events endpoint accepts a city slug in the format {perm_name}-{city_id} (e.g. new_york-5bbf4db0f06331478e9b2c59), an optional category path such as music/party, a genre sub-filter (e.g. afro_house, disco, house), and ISO date strings for date_from and date_until. The response includes an events array where each object carries id, name, venue, price, dates, tags, and a canonical url. A has_more boolean and total_returned integer help with pagination logic.
Event Details
get_event_details accepts either a raw event ID (e.g. 6a6959b384556a00018f4d15) or the perm_name slug as returned in browse or search results. The response extends the browse record with lineup (a top_artists array and total_artists count), images (square, landscape, and portrait URLs), promoter (name and ID), status, and tags. This endpoint is the right call when you need full artist and description data rather than just the listing surface.
City Name Search
search_events_by_city_name accepts a plain English city name like Tampa or Washington DC and resolves it against DICE's own city index — first match wins. The response includes a resolved_place object with name, territory, latitude, and longitude so you can verify which place was matched. For cities DICE covers natively, the response also returns a city object with name, id, and country_code. Each event record in the events array includes venue_name, venue_address, event_start_date, event_end_date, timezone, perm_name, and status.
Coverage Notes
All three endpoints reflect the state of the DICE browse and event pages at request time. The browse_events endpoint returns one page of results per call; use has_more to determine whether additional records exist. Genre filters are scoped to the chosen category — a genre like afro_house is only meaningful under a category path that supports it.
The DICE API is a managed, monitored endpoint for dice.fm — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when dice.fm changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official dice.fm API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a city-specific event calendar using
browse_eventswith date range filters and venue data - Aggregate nightly club and party listings filtered by genre (e.g.
disco,funk,house) for a nightlife guide - Display artist lineups and event images in a concert discovery app using
get_event_details - Resolve any plain city name to a DICE browse page and surface upcoming events with
search_events_by_city_name - Track promoter activity by extracting the
promotername and ID from detailed event records - Monitor event availability status across cities by polling
statusfields from browse results - Build a tour date aggregator using lineup data and canonical event URLs from detailed event records
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does DICE have an official public developer API?+
What does `get_event_details` return that `browse_events` does not?+
get_event_details adds lineup (top artists array and total artist count), images (square, landscape, portrait URLs), promoter (name and ID), and full tags. The browse endpoints return lighter event objects suited for listing views, while get_event_details is the right call when you need artist or media data.How does city resolution work in `search_events_by_city_name`, and can it return the wrong city?+
resolved_place object in the response includes name, territory, latitude, and longitude so you can verify the match. For unambiguous cities this works reliably; for common names shared across countries, the first match may not be the intended city. Using browse_events with an explicit city slug avoids this ambiguity.Does the API return sold-out or past event data?+
status field on individual event records. Historical or archived event data is not covered by the current endpoints. You can fork the API on Parse and revise it to add an endpoint targeting past or archived event pages.Can I retrieve ticket purchase URLs or real-time availability counts?+
price field and status field give availability signals. You can fork the API on Parse and revise it to extract additional ticketing tier details if the event page exposes them.