New feature: the Cyql API
Clubs have been using Cyql for their rides, members, and communication. But a growing group of technically savvy clubs and developers kept asking us the same questions:
“Can we use our club data outside the dashboard?”
“We want to show rides on our own website.”
“We’re building a member portal — can we pull data from Cyql?”
“We want to connect Cyql to our own systems.”
Today, that’s possible. We’re introducing the Cyql API.
Built on club feedback
Some clubs are technical enough to build their own tools. They don’t want to re-enter data that’s already in Cyql into another system. Other clubs work with a developer or web manager who wants to keep their site up to date without manual effort.
The Cyql API makes all of this possible — without being limited to what the dashboard shows by default.
A GraphQL API: flexible and efficient
The Cyql API is built on GraphQL. That means you request exactly what you need — nothing more, nothing less. No fixed endpoints returning data you’ll never use. You define the structure of your response.
All requests go through a single endpoint:
POST /api/graphql
Host: api.cyql.app
Content-Type: application/json
X-Api-Key: your-api-key
A simple example to fetch the number of members:
query {
clubStats {
memberCount
}
}
The response is always clean JSON:
{
"data": {
"clubStats": {
"memberCount": 147
}
}
}
What can you query?
The API gives you access to all relevant club data:
- Rides — Fetch planned and past rides, including distance, elevation, start location, average pace, and ride type. Perfect for showing a ride overview on your club website.
- Members — Access member profiles with name, email, membership status, and club role. Useful for member portals or internal dashboards.
- Statistics — Total rides, active members, kilometers ridden, and number of admins — a live snapshot of your club.
- Club info — Name, city, description, and contact details of the club.
- News — News articles with publication date, image, and attachments.
- Events — Calendar items with date, location, and related documents.
- GPX routes — Route library with distance, elevation, download link, and route labels.
- Challenges — Active challenges with participant counts, scoring type, and leaderboards.
Authentication and security
API keys are created in the Cyql dashboard under Settings → API. Include your key as a header with every request:
X-Api-Key: your-api-key
No shared passwords, no complex OAuth flows. One key, and you’re ready to go.
Rate limiting: fair use for everyone
To keep the platform stable for all clubs, the API uses a weekly limit per key. That limit resets every Monday at 00:00 UTC. Every response includes helpful headers so you always know where you stand:
X-RateLimit-Limit— the maximum number of requests per week for this keyX-RateLimit-Remaining— how many requests you have leftX-RateLimit-Remaining-Club— the combined remaining quota across all keys for the clubX-RateLimit-Reset— when the counter resets
Have multiple applications? Create multiple keys — that way you can manage limits per use case.
Query complexity: using resources wisely
GraphQL is flexible, but some queries demand more from the server than others. That’s why the Cyql API uses a complexity budget: every query gets a score based on the number of fields and page size you request.
Practical tip: only request the fields you actually need. Instead of fetching all fields of a ride, just ask for title, startTime and distance if that’s enough. Smaller queries are faster, cheaper, and friendlier to your budget.
Pagination built in
Every list query — from rides to members to news — supports pagination out of the box. The response always includes:
items— the results for the current pagetotalCount— the total number of itemspageandpageSize— your current positionhasNextPage— whether more data is available
This makes it straightforward to build a complete list, step by step.
Get started
API keys are available in the Cyql dashboard. Have a developer managing your club website? Point them to the API documentation at api.cyql.app/docs — there you’ll find an interactive query builder to compose and test queries directly.
As always, this feature exists because clubs asked for it. And we’ll keep expanding it based on what you build with it.
Happy cycling 🚴♂️