Skip to main content

Overview

Use this endpoint to read upcoming events across the projects in a workspace.
  • Endpoint: GET https://api.broadcast.events/workspace/events
  • Auth: Authorization: Bearer <api-key>
The feed returns upcoming events for the workspace behind the API key. It merges events across venue, promoter, and festival projects, dedupes them by event id, and sorts results by start time. For a history of API and documentation changes, see the API changelog.

Approach

This endpoint is designed for authenticated workspace integrations that need more context than the public feed. 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 the public event fields plus workspace-specific fields such as publishing metadata, richer ticketing details, related events, and JSON-LD.
The response meta.projects lists the distinct workspace projects represented in the returned page of results. Source of truth: Event details can change after you fetch them. We recommend linking end users to the canonical Broadcast event using links.self, and to venue pages or profile links when relevant.

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
limitNumberNoNumber of events to return. Default is 50. Maximum is 100.
disableUtmLinksBooleanNoSet to true to return raw outbound links without Broadcast UTM parameters.
Notes:
  • Ticketmaster affiliate wrapping is disabled for this route.
  • UTM parameters are enabled by default unless you pass disableUtmLinks=true.
  • Invalid or non-positive limit values fall back to 50.

Example request

curl --request GET \
  --url "https://api.broadcast.events/workspace/events?limit=25&disableUtmLinks=true" \
  --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": "evt_123",
            "type": "event",
            "title": "Broadcast Showcase",
            "descriptionMD": "Long-form event description in markdown or HTML-friendly text.",
            "subtitle": "Live in Oslo",
            "summary": "An evening of live music and DJs.",
            "status": "scheduled",
            "timing": {
                "doors": "2026-05-10T18:00:00.000Z",
                "close": "2026-05-10T22:30:00.000Z",
                "timezone": "Europe/Oslo",
                "startTime": "2026-05-10T19:00:00.000Z"
            },
            "classification": {
                "tags": ["live", "indie"],
                "categories": ["concert"],
                "ageRestrictionText": "18+",
                "noAgeLimit": false
            },
            "attendance": {
                "isFree": false,
                "soldOut": false,
                "price": {
                    "text": "NOK 250"
                },
                "ticketing": "https://tickets.example.com/event-123",
                "commonTicketUrl": "https://tickets.example.com/common",
                "additionalPriceInfo": "Doors + service fee may apply",
                "callToAction": {
                    "label": "Book table",
                    "url": "https://tables.example.com/event-123"
                }
            },
            "location": {
                "type": "venue",
                "venue": {
                    "id": "venue_123",
                    "type": "venue",
                    "name": "John Dee",
                    "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/@john-dee"
                    },
                    "profile": {
                        "handle": "@john-dee",
                        "canonicalUrl": "https://www.broadcast.events/@john-dee"
                    }
                }
            },
            "media": {
                "image": {
                    "url": "https://img.broadcastapp.no/example/tr:w-375",
                    "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"
                    }
                },
                "youtube": "https://youtube.com/watch?v=abc123",
                "embeds": [
                    {
                        "type": "spotify",
                        "name": "Playlist",
                        "id": "playlist_1"
                    }
                ]
            },
            "links": {
                "self": "https://www.broadcast.events/events/broadcast-showcase/evt_123",
                "moreInfo": "https://venue.example.com/more-info"
            },
            "meta": {
                "publishedAt": "2026-05-01T09:00:00.000Z",
                "importId": "import-123",
                "importIntegrationId": "integration-123"
            },
            "relatedEvents": [
                {
                    "objectId": "evt_related_456"
                }
            ],
            "source": {
                "provider": "internal"
            },
            "createdAt": "2026-04-01T12:00:00.000Z",
            "updatedAt": "2026-04-05T09:30:00.000Z",
            "structuredData": {
                "jsonLd": "{\"@context\":\"https://schema.org\",\"@type\":\"MusicEvent\"}"
            }
        }
    ],
    "meta": {
        "projects": [
            {
                "id": "project_venue_123",
                "name": "John Dee"
            },
            {
                "id": "project_promoter_456",
                "name": "All Things Live"
            }
        ],
        "count": 1,
        "itemCount": 1,
        "generatedAt": "2026-05-04T10:00:00.000Z",
        "limit": 25
    }
}

Response fields

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

At a glance

FieldTypeDescription
dataArrayList of matching workspace events
metaObjectMetadata about the response

Response meta

FieldTypeDescription
projectsArray of objectsWorkspace projects represented in the returned events
countNumberNumber of events returned in this response
itemCountNumberSame as count. Included for consistency with other APIs
generatedAtStringISO timestamp for when the response payload was generated
limitNumberEffective limit used for the request

meta.projects[]

FieldTypeDescription
idStringWorkspace project id
nameStringCurrent project name for that workspace project

Event object

The workspace event object starts with the public event shape and adds a few workspace-specific fields.

timing

classification

attendance

attendance.price

attendance.callToAction

location

location.venue

location.venue.address

location.venue.geo

location.venue.profile

media

Image asset

image.variants

media.embeds[]

Event meta

FieldTypeDescription
publishedAtStringISO timestamp for when the event was published
importIdString or NumberImport id from an upstream integration
importIntegrationIdStringIntegration instance id in Broadcast

source

relatedEvents

FieldTypeDescription
relatedEventsArrayRelated event references when available

structuredData

FieldTypeDescription
jsonLdStringStringified JSON-LD for the event

Error responses

StatusMeaning
401Missing, invalid, or expired API key
403API key does not include the required scope
429Too many requests
500Internal server error

Notes

  • This endpoint merges events across venue, promoter, and festival projects in the workspace.
  • Events are deduped by event id and sorted by start time before the final limit is applied.
  • meta.projects reflects the projects represented in the current returned slice, not every project in the workspace.
  • The route is workspace-scoped and intended for richer internal integrations than the public feed.
Last modified on June 20, 2026