Overview
Use this endpoint to read festivals data in a workspace.- Endpoint:
GET https://api.broadcast.events/workspace/festivals - Auth:
Authorization: Bearer <api-key>
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
Afestival is the top-level project. It describes the whole festival, such as its name, dates, region, website, ticketing link, images, and Broadcast profile.
Each object in data[] is one festival:
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 insidefestival.schedule[]:
Linked event
All schedule items are connected to a Broadcast event. That linked event appears asschedule[].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.
Relationship summary
data[]contains festivals.- Each festival has
schedule[]. - Each schedule item may have
event. schedule[].title,stage,timing, andmediadescribe the lineup entry.schedule[].eventdescribes 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.
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.
Raw HTTP
workspace.events.read scope.
Query parameters
| Name | Type | Required | Description |
|---|---|---|---|
disableUtmLinks | Boolean | No | UTM links are disabled by default. Set to false to add Broadcast UTMs. |
- Festival website and ticketing links are returned without Broadcast UTM parameters by default.
- Pass
disableUtmLinks=falseto opt into Broadcast UTM parameters. - Unsupported query parameters return a
400response.
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
| Field | Type | Description |
|---|---|---|
data | Array | List of matching workspace festivals |
meta | Object | Metadata about the response |
Response meta
| Field | Type | Description |
|---|---|---|
projects | Array of objects | Workspace festival projects included in this response |
count | Number | Number of festivals returned in this response |
itemCount | Number | Same as count. Included for consistency with other APIs |
generatedAt | String | ISO timestamp for when the response payload was generated |
meta.projects[]
| Field | Type | Description |
|---|---|---|
id | String | Workspace festival project id |
name | String | Current festival project name |
Festival object
| Field | Type | Description |
|---|---|---|
id | String | Broadcast festival id |
type | String | Always festival |
name | String | Festival name |
description | String | Festival description when available |
region | String | Festival region |
country | String | Festival country |
dates | Object | Festival start and end dates |
links | Object | Festival links |
media | Object | Festival image assets |
profile | Object | Linked Broadcast profile metadata |
schedule | Array | Published schedule items for the festival |
dates
| Field | Type | Description |
|---|---|---|
start | String | Festival start datetime in ISO format |
end | String | Festival end datetime in ISO format |
startTimestamp | Number | Festival start timestamp in seconds |
endTimestamp | Number | Festival end timestamp in seconds |
links
| Field | Type | Description |
|---|---|---|
website | String | Festival website URL |
ticketing | String | Festival ticket URL |
media
| Field | Type | Description |
|---|---|---|
image | Object | Primary festival image asset |
profileImage | Object | Festival profile image asset |
appScreenshot | Object | Festival app screenshot image asset |
url, alt, and variants shape as event images. See workspace event media fields.
profile
| Field | Type | Description |
|---|---|---|
handle | String | Broadcast profile handle, including @ |
canonicalUrl | String | Canonical Broadcast profile URL |
Schedule item object
| Field | Type | Description |
|---|---|---|
id | String | Broadcast festival schedule item id |
type | String | Always festivalScheduleItem |
title | String | Schedule item title |
description | String | Schedule item description when available |
stage | String | Stage or external venue name |
tags | Array | Normalized schedule item tags |
isMainSchedule | Boolean | true when the item belongs to the main schedule |
timing | Object | Schedule timing. Included only for published lineups |
event | Object | Linked Broadcast event when available |
media | Object | Schedule item media |
socialLinks | Array | Social links from the schedule item |
createdAt | String | Schedule item created timestamp in ISO format |
updatedAt | String | Schedule item updated timestamp in ISO format |
Schedule timing
| Field | Type | Description |
|---|---|---|
startTime | String | Start time in ISO format |
endTime | String | End time in ISO format |
startTimestamp | Number | Start timestamp in seconds |
endTimestamp | Number | End timestamp in seconds |
timezone | String | Time zone. Currently Europe/Oslo |
event
| Field | Type | Description |
|---|---|---|
id | String | Linked Broadcast event id |
type | String | Always event |
title | String | Linked event title when available |
classification | Object | Linked event tags, categories, and age info |
attendance | Object | Linked event free, sold out, and price info |
media | Object | Linked event media assets |
location | Object | Linked event location when available |
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
| Field | Type | Description |
|---|---|---|
tags | Array of strings | Normalized linked event tags |
categories | Array of strings | Linked event categories |
ageRestrictionText | String | Age restriction label such as 18+ |
isAllAges | Boolean | true when the linked event is all ages |
Event attendance
| Field | Type | Description |
|---|---|---|
isFree | Boolean | true when the linked event is free |
soldOut | Boolean | true when the linked event is sold out |
price | Object | Linked event price details |
Event attendance.price
| Field | Type | Description |
|---|---|---|
text | String | Human-readable price label such as NOK 250 |
Event media
| Field | Type | Description |
|---|---|---|
image | Object | Linked event image asset |
url, alt, and variants shape as event images. See workspace event image fields.
Schedule media
| Field | Type | Description |
|---|---|---|
image | Object | Schedule item image asset |
youtube | String | Schedule item YouTube URL or link |
Error responses
| Status | Meaning |
|---|---|
400 | Unsupported query parameter |
401 | Missing, invalid, or expired API key |
403 | API key does not include the required scope |
429 | Too many requests |
500 | Internal server error |
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.
- Empty optional fields are omitted from both festival and schedule objects.