Skip to content
DEKA Results API

About

Who we are, and what our crawler does

If you found this page in your access logs, the first three sections are the ones you want.

Identity

DEKA Results API is an independent data product. It collects publicly published Spartan DEKA race results, reconciles them across sources into one stable model, and sells programmatic access to that model. It is not affiliated with, endorsed by, or operated by Spartan or DEKA, and it does not claim ownership of the underlying results.

User-Agent
DekaResultsAPI/0.1 (+https://dekaresultsapi.com/about)
Contact
[email protected]
Response time
Within one working day.

How the crawler behaves

  • It is small. Steady-state ingestion is on the order of ten requests a day, because roughly eight hundred DEKA events happen worldwide per year and we only fetch an event when something about it has changed. Requests are capped at one every two seconds even during a backfill.
  • It does not re-download. Every fetched document is content-hashed. An event whose hash is unchanged is skipped entirely rather than re-parsed, so a finished race is normally fetched once.
  • It backs off. A 429, a 404 used as a throttle, or any 5xx triggers exponential backoff, and repeated failures open a circuit breaker that stops the source rather than retrying into a wall.
  • It identifies itself on every request, with the URL of this page.

What we will not do

  • We do not log in, and we do not read anything behind a login. Every source we read serves the same bytes to an anonymous browser.
  • We do not defeat access controls. One provider’s rankings endpoint requires a client-computed signed token; we treat that as a control and no code in this product calls that host. Another provider serves an anti-bot challenge; that source is switched off in production rather than worked around.
  • We do not solve CAPTCHAs, rotate identities to evade limits, or ignore a provider that starts refusing us. If a source begins actively denying automated access, we stop and open a conversation.
  • We do not collect contact details. No email address, phone number, postal address or account information is retrieved or stored, from any source. We do not infer dates of birth or any other sensitive field. An age group is stored as the age group the organiser published, and nothing is derived from it.

Asking us to stop

If you operate a source and you would rather we did not read it, email us and we will switch it off. There is no negotiation step and we will not ask you to justify it: every source in this system is behind an independent kill switch precisely so that honouring this request takes one configuration change and breaks nothing else. We would rather have the conversation about a licensed feed instead, but that is your call, not a condition.

If you are an athlete and you want a result removed or corrected, email the same address. Results are published by event organisers and we mirror what they publish, so a correction at the source is usually the durable fix, but we will act on our copy either way.

Why this exists

DEKA results are published, but they are published in pieces: different timing platforms per region, different field names, different time formats, a different idea of what a division is, and no identity that follows an athlete from one race to the next. Anyone building on top of it ends up writing the same reconciliation layer. This product is that layer, maintained once, behind one versioned API.

About and crawler policy · Spartan DEKA Results API