Org APIbarbican.org.uk ↗
Access upcoming Barbican Centre event listings via API. Filter by category and date range. Returns titles, dates, summaries, and URLs for all art forms.
What is the Org API?
The Barbican Centre API exposes 1 endpoint — list_events — that returns paginated event listings from London's Barbican Centre, with up to 30 events per page. Each event object includes 6 fields: title, date, URL, categories, label, and summary. You can filter results by art form category and a custom date range using date_from and date_to parameters, making it straightforward to query only the events relevant to your application.
curl -X GET 'https://api.parse.bot/scraper/372d4c69-f526-4166-b73f-c95b8d24445c/list_events?page=0&date_to=2027-01-16&category=art_and_design&date_from=2026-07-20' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace barbican-org-uk-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Barbican SDK — bounded, re-runnable; every call capped."""
from parse_apis.barbican_org_uk_api import Barbican, Category, InvalidInput
client = Barbican()
# List upcoming events across all categories
for event in client.events.list(limit=3):
print(event.title, event.date, event.categories)
# Filter by category — only cinema events
cinema_event = client.events.list(category=Category.CINEMA, limit=1).first()
if cinema_event:
print(cinema_event.title, cinema_event.url)
# Filter by date range
for event in client.events.list(date_from="2026-08-01", date_to="2026-08-31", limit=3):
print(event.title, event.date, event.label)
# Typed error handling
try:
for event in client.events.list(category=Category.ART_AND_DESIGN, limit=2):
print(event.title, event.summary)
except InvalidInput as e:
print("invalid input:", e)
print("exercised: events.list")
List upcoming events at the Barbican Centre. Returns paginated results ordered chronologically. Each page contains up to 30 events. Results can be filtered by art form category and/or a custom date range. The listing covers events happening from today onwards.
| Param | Type | Description |
|---|---|---|
| page | integer | Zero-based page number for pagination. |
| date_to | string | End date for filtering events, in YYYY-MM-DD format (e.g. 2026-08-31). |
| category | string | Filter events by art form category. Omitting returns all categories. |
| date_from | string | Start date for filtering events, in YYYY-MM-DD format (e.g. 2026-08-01). |
{
"type": "object",
"fields": {
"page": "current page number (zero-based)",
"events": "array of event objects with title, date, url, categories, label, and summary",
"has_next_page": "whether more results are available on the next page"
},
"sample": {
"data": {
"page": 0,
"events": [
{
"url": "https://www.barbican.org.uk/whats-on/2025/event/concrete-and-clay-archiving-the-barbican",
"date": "Sun 19 Jul",
"label": "Free",
"title": "Concrete and Clay: Archiving the Barbican",
"summary": "This free installation invites visitors to orient themselves in the buildings and their complex, fascinating histories in an exciting new display at the heart of the Barbican’s Foyers.",
"categories": [
"Tours & public spaces",
"Art & design"
]
},
{
"url": "https://www.barbican.org.uk/whats-on/2026/event/in-other-worlds",
"date": "Sun 19 Jul",
"label": null,
"title": "In Other Worlds",
"summary": "Our new immersive exhibition invites you to step into the future.",
"categories": [
"Immersive"
]
}
],
"has_next_page": true
},
"status": "success"
}
}About the Org API
What the API Returns
The list_events endpoint returns a paginated list of upcoming Barbican Centre events ordered chronologically. Each response includes a page integer (zero-based), a has_next_page boolean for pagination control, and an events array. Each event object carries a title, a date, a canonical url linking to the full event page on barbican.org.uk, a categories array reflecting the art form classification (e.g. theatre, classical music, cinema), a label field, and a summary text snippet.
Filtering and Pagination
Results default to all upcoming events from today onwards. The category parameter narrows results to a specific art form. The date_from and date_to parameters (both in YYYY-MM-DD format) define a date window; you can use either independently or combine them. The page parameter is zero-based — pass page=0 for the first page, page=1 for the second, and check has_next_page in the response to determine whether to continue fetching.
Coverage and Scope
The API covers publicly listed events on the Barbican's main events calendar, including performances, exhibitions, screenings, and other cultural programming. Results reflect what is visible on the public-facing events listing and include only events from the current date forward. Archived or past events are not returned.
The Org API is a managed, monitored endpoint for barbican.org.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when barbican.org.uk changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official barbican.org.uk API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a London culture calendar app that displays Barbican events filtered by art form category
- Send automated weekly email digests of upcoming Barbican classical music or theatre events
- Aggregate multi-venue London event listings, pulling Barbican data alongside other venue feeds
- Monitor when new events are added to specific Barbican categories using the
has_next_pagepagination loop - Populate a travel itinerary tool with Barbican event dates and URLs for a given date range
- Create a chatbot that answers 'what's on at the Barbican this weekend' using
date_fromanddate_tofilters - Track Barbican programming patterns over time by logging event titles, dates, and categories
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the Barbican Centre have an official developer API?+
What does the `category` filter accept, and how do I know which values are valid?+
category parameter filters events by art form as classified on the Barbican's own listings — examples include categories like theatre, cinema, classical music, and art. Omitting the parameter returns events across all categories. To discover active category values, make an initial call without a filter and inspect the categories array in the returned event objects.Does the API return full event details such as ticket prices, seat availability, or event descriptions?+
title, date, url, categories, label, and summary — it does not include ticket pricing, availability, or extended event descriptions. The url field links to the full event page on barbican.org.uk where that detail is available. You can fork this API on Parse and revise it to add an event-detail endpoint that retrieves those additional fields.How does pagination work, and what is the maximum number of events per page?+
page=0 returns the first batch, page=1 the second, and so on. Each page contains up to 30 events. The has_next_page boolean in every response tells you whether additional pages exist. If has_next_page is false, you have reached the last page of results for the current filter.Can I retrieve past or archived Barbican events through this API?+
list_events endpoint only returns events from today onwards. Historical or past event data is not currently covered. You can fork this API on Parse and revise it to target a different date range or archived listings endpoint if past events become relevant to your use case.