Public API

Shows

The Shows endpoint returns your production's public shows as a single JSON file — dates, venues, and confirmed lineups. Fetch it to power a "What's on" page, a tour listing, or any integration that needs your live schedule.

The endpoint

Replace <your-production> with your production handle:

https://st.confirmed.show/api/v1/<your-production>/shows.json

It accepts GET requests, returns JSON, and is CORS-enabled, so you can fetch it directly from a browser. No API key is required — only public information is included.

What's included

The endpoint returns shows marked public that aren't cancelled, covering a window from 30 days ago up to a number of days ahead you control (30 by default). Each act's bio and lineup reflect only confirmed bookings.

Response shape

The endpoint returns an array of shows. Each show carries its schedule, venue and room details, ticketing info, and a confirmed lineup.

[
  {
    "id": "abc123",
    "show_type": "friday-night",
    "name": "Friday Night Comedy",
    "emoji": "🎤",
    "public_description": "Our flagship weekend show",
    "duration": 90,
    "ts": "2026-06-19T20:00:00",
    "ts_utc": "2026-06-19T19:00:00Z",
    "past": false,
    "tickets_available": 42,
    "total_act_spots": 5,
    "venue": {
      "name": "The Comedy Cellar",
      "city": "London",
      "country": "GB",
      "address": "1 Funny Street",
      "postcode": "W1 2AB",
      "tz": "Europe/London",
      "description": "Basement room off the high street"
    },
    "room": {
      "name": "Main Room",
      "description": "",
      "wheelchairAccess": true,
      "greenRoom": true,
      "diBox": false,
      "projectorInfo": ""
    },
    "hosts": [
      {
        "name": "Jane Doe",
        "category": "host",
        "bio": "Compère and award-winning host.",
        "headshot": "https://.../jane.jpg",
        "website": "https://janedoe.com",
        "instagram": "janedoe"
      }
    ],
    "acts": [
      {
        "name": "John Smith",
        "category": "act",
        "spot_length": 20,
        "bio": "Touring headliner.",
        "headshot": "https://.../john.jpg"
      }
    ],
    "lineup": [
      { "name": "Jane Doe", "category": "host" },
      { "name": "John Smith", "category": "act" }
    ]
  }
]

Show fields

Field

Description

id

Unique identifier for the show.

show_type

The show type this show belongs to.

name

The show's public name.

emoji

The show type's emoji, if set.

public_description

Public-facing description.

duration

Run time in minutes.

ts

Local start time, in the venue's time zone.

ts_utc

Start time in UTC (YYYY-MM-DDTHH:MM:SSZ).

past

true once the show's run time has elapsed.

tickets_available

Seats left, based on room capacity minus tickets sold. Present only when the room has a capacity.

total_act_spots

Number of act spots on the bill, confirmed or not.

venue

Venue details (see below).

room

Room details (see below).

hosts

Confirmed hosts (see Lineup entries).

acts

Confirmed acts (see Lineup entries).

lineup

Hosts and acts together, in running order.

spot_roles

The roles included in the lineup, when you filter by them.

Venue fields

Field

Description

name

Venue name.

city

City.

country

Country code.

address

Street address.

postcode

Postal code.

tz

Time zone (used to localize ts).

description

Venue description.

Room fields

Field

Description

name

Room name.

description

Room description.

wheelchairAccess

Whether the room is wheelchair accessible.

greenRoom

Whether a green room is available.

diBox

Whether a DI box is available.

projectorInfo

Notes about the room's projector.

Lineup entries

Each entry in hosts, acts, and lineup describes a performer. Acts also carry a spot_length.

Field

Description

name

Performer's name.

category

host or act.

spot_length

Spot length in minutes (acts only).

bio

Performer bio. Which bio appears depends on the bio_field parameter.

headshot

URL of the performer's headshot.

website, twitter, instagram, facebook, tiktok

Social and web links.

plug

The performer's current plug.

Query parameters

Tune the response with these optional query parameters:

Parameter

Description

future_shows_limit

How many days ahead to include. Defaults to 30.

id / show_id

Return a single show by its id, ignoring the date window.

show_types

Comma-separated show type ids to include.

Example: fetching the schedule

const response = await fetch(
  "https://st.confirmed.show/api/v1/your-production/shows.json?future_shows_limit=60"
);
const shows = await response.json();

for (const show of shows) {
  console.log(show.name, show.ts_utc, show.venue?.city);

Was this helpful?