Skip to main content

Overview

Use this endpoint to read festivals data in a workspace.
  • Endpoint: GET https://api.broadcast.events/workspace/festivals
  • Auth: Authorization: Bearer <api-key>
The feed returns festival projects available to the API key. Each festival includes core festival details and a schedule array for published schedule items. For a history of API and documentation changes, see the API changelog.

How to read the festival response

The response has three related concepts: festival, schedule item, and event.

Festival

A festival is the top-level project. It describes the whole festival, such as its name, dates, region, website, ticketing link, images, and Broadcast profile. When lineup groups are configured, lineupGroups lists all available group names in display order. Each object in data[] is one festival:
Use the festival object when you need festival-level details, branding, or links.

Schedule item

A schedule item is one row in the festival program. It describes what appears on the festival schedule, such as the title shown in the lineup, stage name, schedule tags, media, and timing. Schedule items live inside festival.schedule[]:
Use the schedule item when you are rendering a festival lineup, timetable, stage schedule, or artist list.

Linked event

All schedule items are connected to a Broadcast event. That linked event appears as schedule[].event. The linked event gives you event-level context, such as the related Broadcast event id, venue, event image, classification, age guidance, and price or attendance information.
Use the linked event when you need venue details, event classification, event-level images, or a stable event id that also appears in other Broadcast event APIs.

Relationship summary

  • data[] contains festivals.
  • Each festival has schedule[].
  • Each schedule item may have event.
  • schedule[].title, stage, timing, and media describe the lineup entry.
  • schedule[].event describes the connected Broadcast event when one exists.

Approach

This endpoint is designed for authenticated workspace integrations that need a structured list of festivals and their schedule data. The workspace route uses the API key itself as the boundary:
  • The key decides which workspace is queried.
  • The key can optionally restrict results to a subset of allowed projects.
  • The response includes only festival projects in that workspace.
Schedule timing is included only when the festival lineup is published. If the lineup is not published, schedule items are still returned without timing.

Caching

Responses may be cached on our side for about 15 seconds to keep the feed fast and protect the data layer.

Access and authentication

This API is currently available on request. Contact support@broadcast.events to enable access for your workspace.
Send your workspace API key as a bearer token:
Raw HTTP
The key must include the workspace.events.read scope.

Query parameters

Notes:
  • Festival website and ticketing links are returned without Broadcast UTM parameters by default.
  • Pass disableUtmLinks=false to opt into Broadcast UTM parameters.
  • Unsupported query parameters return a 400 response.

Example request

Example response

Use the copy control on the code block to grab the full JSON.
Example response

Response fields

Empty values are omitted from the response, so some optional fields may be missing.

At a glance

Response meta

meta.projects[]

Festival object

Date display modes

dateDisplayMode controls which schedule timing values are exposed. Hidden values are omitted instead of being returned as raw ISO or Unix fields.

dates

media

Image assets use the same url, alt, and variants shape as event images. See workspace event media fields.

profile

Schedule item object

Schedule lineupGroup

lineupGroup is optional. It appears when a festival has manually grouped a schedule item for a lineup-style display, such as headliners and support acts. Use festival-level lineupGroups when you need the complete list of available group names. Use lineupGroup.order to order groups for assigned schedule items. Use lineupOrder to order items inside the same group.

Schedule timing

The timing object only includes values allowed by the festival’s dateDisplayMode and app settings. For date_time and time_only, machine-readable ISO and Unix start values are included. End values are included only when end times are enabled. For restricted modes such as date_tbc and tbc_tbc, hidden clock/date fields are omitted. Examples:
date_time
date_tbc
tbc_tbc

event

event is a subset of the event object used by the public and workspace event endpoints. When venue data is available, event.location.venue uses the same venue shape as event location.venue. See workspace event venue fields.

Event classification

Event attendance

Event attendance.price

Event media

Linked event image assets use the same url, alt, and variants shape as event images. See workspace event image fields.

Schedule media

Error responses

Notes

  • This endpoint returns only festival projects in the workspace.
  • Allowed project restrictions on the API key are applied before festivals are returned.
  • Schedule timing is omitted until the festival lineup is published.
  • lineupGroups lists all configured lineup group names for the festival in display order.
  • lineupGroup and lineupOrder are manual lineup display metadata. They do not change schedule timing or stage values.
  • additionalFields contains festival-specific public metadata when populated. It is separate from legacy schedule custom_fields.
  • Empty optional fields are omitted from both festival and schedule objects.
Last modified on July 20, 2026