Platform

Connect to iRank

Other products and AI agents can read public leaderboards and, with an athlete's permission, submit or manage that person's scores. Lift values are kilograms. Running times are seconds, including decimals (`222.66` is 3:42.66).

Public reads

Boards, ranks, and profiles need no token. Start here if you only display iRank data.

OAuth for products

Register an app, send the athlete to /connect, then call the API on their behalf.

Tokens and MCP

An athlete creates a personal token, then pastes it into Claude, Cursor, or any MCP client.

ChatGPT Action

Import /api/chatgpt.json as a Custom GPT Action. Public ranks work with no key.

Public leaderboards

No auth. Same JSON the site uses.

curl -sS https://www.irank.at/api/activities
curl -sS "https://www.irank.at/api/activities/deadlift/leaderboard?limit=20"
curl -sS https://www.irank.at/api/ask \
  -H "Content-Type: application/json" \
  -d '{"question":"who leads the 5K"}'

Products: OAuth 2.1 + PKCE

Register from Apps & agents, or dynamically from your agent:

POST https://www.irank.at/api/oauth/register
{
  "client_name": "Training App",
  "redirect_uris": ["https://app.example.com/irank/callback"],
  "token_endpoint_auth_method": "client_secret_post"
}

Then send the athlete to https://www.irank.at/connect with client_id, redirect_uri, response_type=code, scope, state, and an S256 code_challenge. Exchange the code at POST /api/oauth/token. Discovery lives at /.well-known/oauth-authorization-server.

Authorization: Bearer irk_atk_…
POST https://www.irank.at/api/entries
{
  "activitySlug": "deadlift",
  "value": 220,
  "conditions": { "equipment": "raw", "tested": "unknown" }
}

ChatGPT

Easiest path for a personal ChatGPT: a Custom GPT Action — not MCP. Public ranks work with no key. To submit scores as you, paste a personal token.

  1. In ChatGPT: Explore GPTs → Create → Configure → Actions → Import from URL
  2. URL: https://www.irank.at/api/chatgpt.json
  3. Authentication: API Key, Auth Type Bearer. Leave the key empty for public reads. For your own scores, create a token in Apps & agents and paste irk_pat_….

ChatGPT Developer Mode can also add https://www.irank.at/api/mcp as an MCP app. Plus/Pro connectors are often read-only; Custom GPT Actions can still write with your token.

Agents: personal token + MCP

An athlete opens Apps & agents, creates a token, and gives it to their agent. The same token works on REST and on the MCP server.

# Claude Desktop / Cursor MCP
{
  "mcpServers": {
    "irank": {
      "url": "https://www.irank.at/api/mcp",
      "headers": {
        "Authorization": "Bearer irk_pat_…"
      }
    }
  }
}

MCP clients that speak OAuth can register themselves and send the user through /connect — no pasted secret. Discovery: /.well-known/mcp.json.