Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/renja-g/RiftRelay/llms.txt

Use this file to discover all available pages before exploring further.

Quick start with Docker

The fastest way to get RiftRelay running is using the one-line Docker setup script:
1

Run the setup script

Execute the following command in your terminal:
curl -fsSL "https://raw.githubusercontent.com/renja-g/RiftRelay/main/scripts/setup-docker-stack.sh" | bash
The script will:
  • Download the necessary Docker configuration files
  • Prompt you for your Riot API token
  • Start RiftRelay automatically
Pre-built Docker images are available on Docker Hub
2

Verify it's running

Check that RiftRelay is healthy:
curl http://localhost:8985/healthz
You should see a 200 OK response.
3

Make your first request

Send a request through RiftRelay using the format /{region}/{riot-api-path}:
curl "http://localhost:8985/europe/riot/account/v1/accounts/by-riot-id/Someone/EUW1"
Replace Someone/EUW1 with an actual Riot ID and tagline to test with real data
RiftRelay will proxy this request to Riot’s API while managing rate limits automatically.
4

Explore the Swagger UI

Open your browser and navigate to:
http://localhost:8985/swagger/
The Swagger UI lets you explore all available Riot API endpoints and send test requests interactively.
The Swagger UI is enabled by default. You can disable it by setting ENABLE_SWAGGER=false in your environment

Understanding the request format

RiftRelay uses a simple URL pattern:
http://localhost:8985/{region}/{riot-api-path}
  • region: The Riot API region (e.g., europe, americas, asia, sea)
  • riot-api-path: The Riot API endpoint path without the base URL

Examples

curl "http://localhost:8985/europe/riot/account/v1/accounts/by-riot-id/PlayerName/TAG"

Priority requests

By default, RiftRelay paces requests evenly across the rate limit window. For time-sensitive requests, you can bypass the pacing delay (while still respecting rate limits) using the X-Priority: high header:
curl -H "X-Priority: high" "http://localhost:8985/europe/riot/account/v1/accounts/by-riot-id/Someone/EUW1"
Priority requests bypass pacing delays but still respect rate limits. If the rate limit is exhausted, you’ll receive a 429 Too Many Requests response regardless of priority

What happens under the hood

When you send a request to RiftRelay:
  1. RiftRelay determines the rate limit bucket based on the endpoint and region
  2. Your request enters a queue (default capacity: 2048 requests)
  3. The scheduler picks requests from the queue and sends them to Riot’s API when capacity is available
  4. Rate limits are tracked based on response headers from Riot
  5. Requests are spread evenly across the rate limit window to avoid bursts
If there’s no capacity in the rate limit window:
  • You receive a 429 Too Many Requests response
  • The Retry-After header tells you when to retry (in seconds)
  • The request is not sent to Riot’s API

Next steps

Installation options

Learn about Docker Compose and running from source

Configuration

Customize queue capacity, timeouts, and enable metrics

Multiple tokens

Use multiple Riot API tokens to increase rate limits

API reference

Explore all available endpoints and options

Build docs developers (and LLMs) love