Quickstart
Welcome to the Podium API. This guide gets you from zero to running a live query in a few minutes.
Prerequisites
Section titled “Prerequisites”- A Podium account with an active organisation
- A developer portal account, or a Podium SSO account if you are signing in as internal staff
curlor any HTTP client (Postman, Insomnia, etc.)
-
Create an account or sign in
Navigate to the Podium developer portal.
- External customers can create an email/password account.
- Podium staff can continue with Podium SSO where it is enabled.
-
Create or join an organisation
If your team has invited you to an existing organisation, accept the invitation in the portal.
Otherwise create a new organisation. Self-serve organisations start on the Standard Card tier by default.
-
Generate an API key
In the portal, go to Organisations → API Keys → Generate key.
Select a scope tier:
Tier Prefix What you get Standard Card std_Race card data — meetings, races, runners, starting prices Editorial Card edt_Standard + tips, verdicts, forecast/ESP prices, close-up comments Internal API int_Full read/write access including mutations. This tier is reserved for Podium-managed internal access. Copy the key immediately — it is shown only once.
-
Test the key
Terminal window curl -X POST https://api.podium.pagroup.com/graphql \-H "Content-Type: application/json" \-H "x-api-key: std_your_key_here" \-d '{"query":"{ __typename }"}'A
200 OKwith{"data":{"__typename":"Query"}}confirms the key is active. -
Run your first query
Try fetching meetings for a date:
query MeetingsForDate($date: Date!) {meetingsForDate(date: $date) {idnamemeetingDatestatuscourse {namecountryCode}raceCountraces {idraceNumberscheduledTimetitledistance {displayText}}}}Send it:
Terminal window curl -X POST https://api.podium.pagroup.com/graphql \-H "Content-Type: application/json" \-H "x-api-key: std_your_key_here" \-d '{"query": "query MeetingsForDate($date: Date!) { meetingsForDate(date: $date) { id name meetingDate status course { name countryCode } raceCount races { id raceNumber scheduledTime title distance { displayText } } } }","variables": { "date": "2026-04-15" }}' -
Explore in the playground
Use the in-page Try it live runner below to paste a key, edit queries, and inspect live JSON responses — no cURL required. The authenticated playground is available at
/docs/playgroundfrom the portal.
Try it live
Section titled “Try it live”Run the quickstart with your portal key
If you opened these docs from the developer portal, the key from the reveal dialog is available in this browser tab automatically. Otherwise, paste a key here to run live examples.
Checking browser session…
Verify the key
This sends the simplest possible GraphQL request using the active key from this tab session.
Checking active API key…
Run the query to inspect the JSON response.
Next steps
Section titled “Next steps”- How authentication works — headers, tiers, rate limits, and key rotation
- Example queries — meetings, a single race, and full runner data
- Changelog — what has changed across API versions