Timetable.lol API
Read festival timetables, lineups, events and artists in your own app, site or bot. Every endpoint on this page is public and read-only. None of them gives access to anyone's account or personal data.
Get access
The public endpoints answer without a key, but every app should register. Your app then shows up by name in our monitoring, gets its own rate limit, and can keep working when traffic is busy.
- Request accessTell us what you are building and where the data will appear, using the API request form on the contact page.
- Get an App ID and a keyWe register one client per app. The key is shown once, so store it in your app's secrets right away.
- Send both on every requestYour App ID goes in
X-Timetable-App. From a server, also send the key as a bearer token. - Cache and back offEvent data does not change from minute to minute. Cache responses and slow down when the API says so.
Address
Send every request to this address:
https://api.timetable.lol
Headers
| Header | When |
|---|---|
X-Timetable-App: your-app-id | On every request, with or without a key. |
Authorization: Bearer <key> | From a server, script or bot. |
X-Timetable-Api-Key: <key> | Instead of Authorization, on platforms that cannot set it. |
Apps that run in a browserNever put a key in frontend code: anyone can read it there. Call the API from your own server, or ask us to register your site as a browser client. That kind of client sends only X-Timetable-App and works from the exact origins we register, such as https://app.example.com.
Endpoints
All of them are GET requests and answer with JSON, except the images. {slug} is the name in a timetable's address, such as amf_2026_timetable in timetable.lol/tables/amf_2026_timetable.
Events and timetables
| Path | What you get |
|---|---|
/api/events | Every published event: title, dates, place, timetable or lineup, ticket status and artwork. |
/api/events/{slug} | One event in full: its timetable or lineup, images, page links and its other editions. |
/api/events/{slug}/timetable-data | Only the schedule: days, stages and every set with its start and end time. |
/api/events/{slug}/images/{file} | An event's artwork, as an image. |
/api/events/friendscamp-prices | The public camping ticket and card prices. |
Artists
| Path | What you get |
|---|---|
/api/artists | Artists with how often they are booked. Optional: q to filter by name, limit (1 to 5000, default 120), offset, and includeEmpty=false for artists with bookings only. |
/api/artists/search?q= | A quick name search for a picker or autocomplete, up to 50 results with limit. |
/api/artists/{slug} | One artist. |
/api/artists/{slug}/bookings | Where and when the artist plays. when is upcoming, past or all (the default). |
Example
The schedule of AMF 2026, asked for from a server:
curl "https://api.timetable.lol/api/events/amf_2026_timetable/timetable-data" \
-H "Authorization: Bearer $TIMETABLE_API_KEY" \
-H "X-Timetable-App: your-app-id"
The answer, shortened:
{
"eventSlug": "amf_2026_timetable",
"planType": "timetable",
"title": "AMF 2026",
"timeZone": "Etc/GMT-2",
"data": {
"Saturday": {
"date": "Saturday 24.10.26",
"stages": {
"AMF": [
["1001", "20:00", "21:00", "The Bausa - Exclusive Pre-Show Set"],
["1002", "21:00", "22:00", "Korolova"]
]
}
}
},
"stageColors": { "AMF": "#e11d2e" },
"updatedAt": "2026-10-14T18:00:00.000Z"
}
- A setEach set is a list of four values: the set's id, its start, its end and the act.
- TimesTimes are the festival's local time, in the time zone of
timeZone. A festival day can run past midnight, so 23:00 can be followed by 00:30 on the same day. - LineupsA lineup has
planTypeset tolineup: its set times are not out yet, so the start and end are empty.
Limits and errors
Each registered app has its own limit per minute, 600 unless we agreed on another. Every answer tells you where you stand:
X-App-RateLimit-Limit: 600
X-App-RateLimit-Remaining: 599
X-App-RateLimit-Reset: 1785429600
The reset is a Unix time in seconds. Errors come back as JSON with an error message:
| Status | Meaning |
|---|---|
400 | Something in the request is not valid, such as an unknown when. |
401 | The key is missing, wrong or no longer valid. |
403 | The app is turned off, or a browser client calls from an origin we did not register. |
404 | There is no published event or artist with that name. |
429 | Too many requests. Wait the seconds in Retry-After before you try again. |
500 | Something failed on our side. Try again later, and mention the requestId when you report it. |
What stays private
People's own plans and contacts belong to them. The API has no endpoints for apps to read anyone's personal data, and an API key never unlocks them. That covers:
- Accounts and profilesNames, email addresses, photos and public profiles.
- FriendsFriend lists and friend requests.
- Saved picksThe sets people picked, and their share links.
- Friend rooms and FriendscampsWho is in a crew, their picks, tickets and payments.
- Livestream chatMessages and the people who wrote them.
- RemindersNotification settings and the devices they go to.
Never ask for a passwordAn app must not ask people for their Timetable.lol password or sign in on their behalf. A key gives your app no login and no admin rights. People manage their own account on Timetable.lol, and we stop clients that try otherwise.
Embed a timetable
Show an event's set times on your own website with one line of code. It is read-only and needs no key.
<iframe src="https://timetable.lol/embed?event=defqon1_2026" title="Defqon.1 2026 timetable" width="100%" height="640" style="border:0" loading="lazy"></iframe>
Options
| Option | What it does |
|---|---|
event | The event, as in its timetable's address: defqon1_2026 in timetable.lol/tables/defqon1_2026. |
day | The day it opens on: 1 for the first day, 2 for the second, and so on. Without it, it opens on the current day while the event is on, and on the first day otherwise. |
theme | light or dark. Without it, it follows the visitor's device. |
- HeightGive the frame a height of 600 to 800 pixels; the timetable scrolls inside it. Any width from 320 pixels works.
Free to use; please keep the link to Timetable.lol visible.
Questions
Missing something you need, or want a higher limit? Tell us what you are building.