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. Each object in data[] is one festival:
{
    "id": "festival_123",
    "type": "festival",
    "name": "Broadcast Festival",
    "schedule": []
}
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[]:
{
    "id": "schedule_123",
    "type": "festivalScheduleItem",
    "title": "Main stage opening",
    "stage": "Main Stage",
    "timing": {
        "startTime": "2026-08-14T18:00:00.000Z"
    }
}
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.
{
    "id": "schedule_123",
    "type": "festivalScheduleItem",
    "title": "Main stage opening",
    "event": {
        "id": "evt_123",
        "type": "event",
        "title": "Broadcast Festival day 1"
    }
}
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
Authorization: Bearer YOUR_API_KEY
The key must include the workspace.events.read scope.

Query parameters

NameTypeRequiredDescription
disableUtmLinksBooleanNoUTM links are disabled by default. Set to false to add Broadcast UTMs.
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

curl --request GET \
  --url "https://api.broadcast.events/workspace/festivals" \
  --header "Authorization: Bearer YOUR_API_KEY"

Example response

Use the copy control on the code block to grab the full JSON.
Example response
{
    "data": [
        {
            "id": "festival_123",
            "type": "festival",
            "name": "Broadcast Festival",
            "description": "A weekend of live music and talks.",
            "region": "Oslo",
            "country": "NO",
            "dates": {
                "start": "2026-08-14T00:00:00.000Z",
                "end": "2026-08-16T00:00:00.000Z",
                "startTimestamp": 1786665600,
                "endTimestamp": 1786838400
            },
            "links": {
                "website": "https://festival.example.com",
                "ticketing": "https://tickets.example.com/festival"
            },
            "media": {
                "image": {
                    "url": "https://img.broadcastapp.no/example/tr:w-375",
                    "alt": "Broadcast Festival",
                    "variants": {
                        "micro": "https://img.broadcastapp.no/example/tr:w-100",
                        "small": "https://img.broadcastapp.no/example/tr:w-178",
                        "medium": "https://img.broadcastapp.no/example/tr:w-375",
                        "large": "https://img.broadcastapp.no/example/tr:w-750"
                    }
                },
                "profileImage": {
                    "url": "https://img.broadcastapp.no/profile/tr:w-375",
                    "alt": "Broadcast Festival",
                    "variants": {
                        "micro": "https://img.broadcastapp.no/profile/tr:w-100",
                        "small": "https://img.broadcastapp.no/profile/tr:w-178",
                        "medium": "https://img.broadcastapp.no/profile/tr:w-375",
                        "large": "https://img.broadcastapp.no/profile/tr:w-750"
                    }
                }
            },
            "profile": {
                "handle": "@broadcast-festival",
                "canonicalUrl": "https://www.broadcast.events/@broadcast-festival"
            },
            "schedule": [
                {
                    "id": "schedule_123",
                    "type": "festivalScheduleItem",
                    "title": "Main stage opening",
                    "description": "Opening set on the main stage.",
                    "stage": "Main Stage",
                    "tags": ["live", "electronic"],
                    "isMainSchedule": true,
                    "timing": {
                        "startTime": "2026-08-14T18:00:00.000Z",
                        "endTime": "2026-08-14T19:00:00.000Z",
                        "startTimestamp": 1786720800,
                        "endTimestamp": 1786724400,
                        "timezone": "Europe/Oslo"
                    },
                    "event": {
                        "id": "evt_123",
                        "type": "event",
                        "title": "Broadcast Festival day 1",
                        "classification": {
                            "tags": ["live", "electronic"],
                            "categories": ["concert"],
                            "ageRestrictionText": "18+",
                            "isAllAges": false
                        },
                        "attendance": {
                            "isFree": false,
                            "soldOut": false,
                            "price": {
                                "text": "NOK 250"
                            }
                        },
                        "media": {
                            "image": {
                                "url": "https://img.broadcastapp.no/event/tr:w-375",
                                "alt": "Broadcast Festival day 1",
                                "variants": {
                                    "micro": "https://img.broadcastapp.no/event/tr:w-100",
                                    "small": "https://img.broadcastapp.no/event/tr:w-178",
                                    "medium": "https://img.broadcastapp.no/event/tr:w-375",
                                    "large": "https://img.broadcastapp.no/event/tr:w-750"
                                }
                            }
                        },
                        "location": {
                            "type": "venue",
                            "venue": {
                                "id": "venue_123",
                                "type": "venue",
                                "name": "Main Festival Venue",
                                "address": {
                                    "city": "Oslo",
                                    "country": "NO"
                                },
                                "links": {
                                    "self": "https://www.broadcast.events/v/venue_123",
                                    "entity": "https://www.broadcast.events/v/venue_123",
                                    "profile": "https://www.broadcast.events/@main-festival-venue"
                                },
                                "profile": {
                                    "handle": "@main-festival-venue",
                                    "canonicalUrl": "https://www.broadcast.events/@main-festival-venue"
                                }
                            }
                        }
                    },
                    "media": {
                        "youtube": "https://youtube.com/watch?v=abc123"
                    },
                    "createdAt": "2026-07-01T12:00:00.000Z",
                    "updatedAt": "2026-07-05T09:30:00.000Z"
                }
            ]
        }
    ],
    "meta": {
        "projects": [
            {
                "id": "project_festival_123",
                "name": "Broadcast Festival"
            }
        ],
        "count": 1,
        "itemCount": 1,
        "generatedAt": "2026-06-18T10:00:00.000Z"
    }
}

Response fields

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

At a glance

FieldTypeDescription
dataArrayList of matching workspace festivals
metaObjectMetadata about the response

Response meta

FieldTypeDescription
projectsArray of objectsWorkspace festival projects included in this response
countNumberNumber of festivals returned in this response
itemCountNumberSame as count. Included for consistency with other APIs
generatedAtStringISO timestamp for when the response payload was generated

meta.projects[]

FieldTypeDescription
idStringWorkspace festival project id
nameStringCurrent festival project name

Festival object

FieldTypeDescription
idStringBroadcast festival id
typeStringAlways festival
nameStringFestival name
descriptionStringFestival description when available
regionStringFestival region
countryStringFestival country
datesObjectFestival start and end dates
linksObjectFestival links
mediaObjectFestival image assets
profileObjectLinked Broadcast profile metadata
scheduleArrayPublished schedule items for the festival

dates

FieldTypeDescription
startStringFestival start datetime in ISO format
endStringFestival end datetime in ISO format
startTimestampNumberFestival start timestamp in seconds
endTimestampNumberFestival end timestamp in seconds
FieldTypeDescription
websiteStringFestival website URL
ticketingStringFestival ticket URL

media

FieldTypeDescription
imageObjectPrimary festival image asset
profileImageObjectFestival profile image asset
appScreenshotObjectFestival app screenshot image asset
Image assets use the same url, alt, and variants shape as event images. See workspace event media fields.

profile

FieldTypeDescription
handleStringBroadcast profile handle, including @
canonicalUrlStringCanonical Broadcast profile URL

Schedule item object

FieldTypeDescription
idStringBroadcast festival schedule item id
typeStringAlways festivalScheduleItem
titleStringSchedule item title
descriptionStringSchedule item description when available
stageStringStage or external venue name
tagsArrayNormalized schedule item tags
isMainScheduleBooleantrue when the item belongs to the main schedule
timingObjectSchedule timing. Included only for published lineups
eventObjectLinked Broadcast event when available
mediaObjectSchedule item media
socialLinksArraySocial links from the schedule item
createdAtStringSchedule item created timestamp in ISO format
updatedAtStringSchedule item updated timestamp in ISO format

Schedule timing

FieldTypeDescription
startTimeStringStart time in ISO format
endTimeStringEnd time in ISO format
startTimestampNumberStart timestamp in seconds
endTimestampNumberEnd timestamp in seconds
timezoneStringTime zone. Currently Europe/Oslo

event

FieldTypeDescription
idStringLinked Broadcast event id
typeStringAlways event
titleStringLinked event title when available
classificationObjectLinked event tags, categories, and age info
attendanceObjectLinked event free, sold out, and price info
mediaObjectLinked event media assets
locationObjectLinked 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

FieldTypeDescription
tagsArray of stringsNormalized linked event tags
categoriesArray of stringsLinked event categories
ageRestrictionTextStringAge restriction label such as 18+
isAllAgesBooleantrue when the linked event is all ages

Event attendance

FieldTypeDescription
isFreeBooleantrue when the linked event is free
soldOutBooleantrue when the linked event is sold out
priceObjectLinked event price details

Event attendance.price

FieldTypeDescription
textStringHuman-readable price label such as NOK 250

Event media

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

Schedule media

FieldTypeDescription
imageObjectSchedule item image asset
youtubeStringSchedule item YouTube URL or link

Error responses

StatusMeaning
400Unsupported query parameter
401Missing, invalid, or expired API key
403API key does not include the required scope
429Too many requests
500Internal 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.
Last modified on June 20, 2026