Glastonburyfestivals APIglastonburyfestivals.co.uk ↗
Access Glastonbury Festival lineup data by year, stage, and artist. Search set times, browse news articles, and explore festival areas via 7 endpoints.
What is the Glastonburyfestivals API?
The Glastonbury Festival API provides access to 7 endpoints covering historical and current festival lineups, news articles, and venue areas from glastonburyfestivals.co.uk. The get_lineup endpoint returns artist names, stage assignments, days, and set times for a given year, while search_artist lets you find any performer across the full lineup with a case-insensitive substring match.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/095cc3b8-5a10-4a56-bb69-3c987b26f8c4/get_lineup_years' \ -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 glastonburyfestivals-co-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.
from parse_apis.glastonbury_festival_api import Glastonbury, LineupYear, Artist, Stage, Article, ArticleDetail, Area
# Initialize client
glasto = Glastonbury()
# Discover available lineup years
for year in glasto.lineupyears.list():
print(year.year, year.url)
# Get the 2024 lineup via constructible resource
lineup = glasto.lineup(year="2024")
# Search for an artist
for artist in lineup.search(query="Coldplay"):
print(artist.artist, artist.stage, artist.day, artist.timings)
# Browse lineup by stage
for stage in lineup.by_stage():
print(stage.stage)
for day in stage.days:
print(f" {day.day}: {len(day.artists)} artists")
# List news articles
for article in glasto.articles.list():
print(article.title, article.date)
# Get full article detail
detail = glasto.articledetails.get(url="https://glastonburyfestivals.co.uk/news/example/")
print(detail.title, detail.body)
# Explore festival areas
for area in glasto.areas.list():
print(area.name, len(area.sub_areas))
Get all available historical festival line-up years. Returns year numbers and URLs for each lineup page. Use this to discover which years have lineup data before calling get_lineup or get_lineup_by_stage.
No input parameters required.
{
"type": "object",
"fields": {
"years": "array of objects with year (integer) and url (string)"
},
"sample": {
"data": {
"years": [
{
"url": "https://glastonburyfestivals.co.uk/line-up/line-up-2025/",
"year": 2025
},
{
"url": "https://glastonburyfestivals.co.uk/line-up/line-up-2024/",
"year": 2024
},
{
"url": "https://glastonburyfestivals.co.uk/line-up/line-up-2023/",
"year": 2023
}
]
},
"status": "success"
}
}About the Glastonburyfestivals API
Lineup Data
The core of this API is lineup retrieval. get_lineup_years returns all available historical years as an array of objects with year (integer) and url (string), giving you a canonical list of valid inputs for year-based endpoints. get_lineup accepts a year parameter and returns an artists array where each entry includes artist, stage, day, timings, and an optional external_link. Note that some historical years may have empty timings fields if that detail was not published on the festival site.
Stage and Artist Search
get_lineup_by_stage reorganizes the same lineup data around the stages dimension: each stage object contains a days array, and within each day an artists array with per-artist timings. This structure suits timetable views or stage-specific scheduling tools. search_artist takes a required query string and an optional year, and returns matching entries from results — each with the same artist, stage, day, timings, and external_link fields — using case-insensitive substring matching.
News and Festival Areas
get_news returns a list of articles from the festival website, each with title, url, date, and image_url (both date and image may be null). To retrieve full article text, pass a URL from get_news results to get_news_detail, which returns title, url, and body as a string. get_areas returns the festival's named zones and sub-areas, each with name and url, plus a sub_areas array for nested locations — useful for mapping stage names in lineup data to their broader festival areas.
The Glastonburyfestivals API is a managed, monitored endpoint for glastonburyfestivals.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when glastonburyfestivals.co.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 glastonburyfestivals.co.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 personal festival timetable by combining
get_lineup_by_stagestage groupings with per-day artist schedules - Track a specific band's Glastonbury history by running
search_artistacross multiple years fromget_lineup_years - Monitor official festival announcements by polling
get_newsfor new article titles and dates - Fetch full text of lineup reveal or headliner news articles using
get_news_detailwith URLs fromget_news - Cross-reference stage names from lineup data with festival area geography using
get_areassub-area objects - Compare headliner and stage slot patterns across years by querying
get_lineupfor multiple historical years
| 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 Glastonbury Festival have an official developer API?+
What does `get_lineup` return for years where set times were not published?+
artists array is still returned with artist, stage, and day fields populated, but the timings field will be an empty string for those entries. The get_lineup_years endpoint lists all available years so you can check coverage before querying a specific year.Does the API return ticket availability or ticket purchase links?+
Can I retrieve news articles from past years or paginate through older posts?+
get_news returns the current articles listed on the festival website's news section; there is no page or before_date parameter to paginate into older archives. get_news_detail fetches the full body of any article whose URL you already have. You can fork the API on Parse and revise it to add pagination or archive-range parameters.How does `search_artist` handle partial name matches?+
query=arctic will match 'Arctic Monkeys'. The year parameter is optional; if omitted, it defaults to the most recent available year rather than searching across all years simultaneously.