ReadyRaider Public API
Build integrations with ReadyRaider using our REST API. Access tournaments, leagues, organizations, raids, and more.
Introduction
The ReadyRaider API is a RESTful JSON API that lets you programmatically access your tournament, league, organization, and raid data. It's designed for building Discord bots, overlay tools, stat trackers, and custom integrations.
RESTful Design
Predictable resource-oriented URLs with standard HTTP methods and status codes.
JSON Responses
All responses use a consistent JSON envelope with data, pagination, and error fields.
Scoped API Keys
Fine-grained permissions let you control exactly what each API key can access.
Rate Limited
Built-in rate limiting with clear headers so you can manage request budgets.
Base URL
All API requests are made to the following base URL:
https://readyraider.com/api/v1All endpoints require HTTPS. HTTP requests will be rejected.
Quick Start
Get up and running in three steps:
Create an API Key
Go to your Account Settings → API Keys page, or use the API itself to create a key programmatically.
curl -X POST https://readyraider.com/api/v1/me/api-keys \
-H "Authorization: Bearer YOUR_EXISTING_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "My Discord Bot",
"permissions": ["tournaments:read", "leagues:read"]
}'Make Your First Request
Use your API key as a Bearer token in the Authorization header.
curl https://readyraider.com/api/v1/tournaments \
-H "Authorization: Bearer rr_live_abc123..."Handle the Response
All responses follow a consistent JSON envelope format.
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Friday Night Valorant",
"format": "single_elimination",
"status": "registration",
"max_participants": 32,
"created_at": "2026-02-13T10:00:00Z"
}
],
"pagination": {
"page": 1,
"per_page": 25,
"total": 1,
"total_pages": 1
}
}Tip
Authentication
All API requests require authentication via an API key sent as a Bearer token. API keys are scoped with specific permissions to control access.
Authorization: Bearer rr_live_your_api_key_hereKeys use the format rr_live_ followed by a 64-character hex string. Keys are hashed with SHA-256 before storage — ReadyRaider never stores your raw key.
Warning
Permission Scopes
API keys are granted specific scopes that determine which endpoints they can access. Each endpoint requires a specific scope.
| Scope | Description |
|---|---|
tournaments:read | List and view tournaments, participants, brackets, matches |
leagues:read | List and view leagues, seasons, standings |
organizations:read | List and view organizations |
raids:read | List and view raids (scoped to your organizations) |
profiles:read | View your profile and list API keys |
profiles:write | Create and revoke API keys |
Note
read to grant all :read scopes, or write for all :write scopes.Available Endpoints
Explore the full API reference by resource type:
Response Format
All API responses follow a consistent JSON envelope structure.
Success (Single Resource)
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "My Tournament",
"status": "registration"
}
}Success (Collection)
{
"data": [ ... ],
"pagination": {
"page": 1,
"per_page": 25,
"total": 42,
"total_pages": 2
}
}Error
{
"error": {
"code": "not_found",
"message": "Tournament not found",
"details": []
}
}Standard Headers
Every API response includes these headers:
| Header | Description |
|---|---|
X-Request-Id | Unique request identifier for tracing and support |
X-RateLimit-Limit | Maximum requests allowed per window |
X-RateLimit-Remaining | Requests remaining in current window |
X-RateLimit-Reset | Unix timestamp when the rate limit window resets |