Skip to main content
Developer API

Build with AimRank API

Create rankings, collect votes, and get calibrated results, all via a RESTful API. Powered by 5 ranking algorithms with adaptive optimization.

Quick Start

Step 1

Get an API key

Sign up and create an API key from your dashboard settings.

Step 2

Make your first request

Create a ranking, add entities, and submit your first vote.

Step 3

Get calibrated results

Ratings update in real-time using adaptive ranking algorithms.

Code Examples

List public rankings

curl -s /api/v1/rankings | python -m json.tool

Create a ranking & add entities

curl -X POST /api/v1/rankings \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "Best Programming Languages", "is_public": true, "category": "tech"}'

Submit a vote

curl -X POST /api/v1/votes \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"ranking_id": "RANKING_ID", "entity_a_id": "ID_A", "entity_b_id": "ID_B", "winner_id": "ID_A"}'

Embed Widgets

Embed live leaderboards or entity badges on any website. Just copy the iframe code and paste it into your HTML.

Leaderboard Widget

Show a live-updating ranked list of entities. Configurable theme and item limit.

<iframe
  src="https://app.aimrank.io/embed/RANKING_ID?type=leaderboard&theme=dark&limit=10"
  width="100%"
  height="400"
  frameborder="0"
  style="border-radius: 12px; overflow: hidden;"
></iframe>

Entity Badge

Display a single entity's rank and rating. Great for profile pages or sidebars.

<iframe
  src="https://app.aimrank.io/embed/RANKING_ID?type=badge&entity=ENTITY_ID&theme=dark"
  width="300"
  height="60"
  frameborder="0"
  style="border: none;"
></iframe>
ParameterValuesDescription
typeleaderboard | badgeWidget type (default: leaderboard)
themedark | lightColor theme (default: dark)
limit1–50Max entities shown (default: 10)
entityENTITY_IDEntity ID for badge widget

Authentication

JWT Bearer Token

Authenticate via POST /api/v1/auth/login to get access and refresh tokens. Pass the access token in the Authorization header.

Authorization: Bearer eyJhbGciOi...

API Key

Create API keys from POST /api/v1/api-keys with scoped permissions (read, write, admin) and optional IP allowlisting.

X-API-Key: ak_dGhpcyBpcyBhIHRl...

Rate Limits

TierLimitWindowNotes
Unauthenticated30per minuteRead-only endpoints
Authenticated (JWT)100per minuteAll endpoints
API Key1,000per hourConfigurable per key

Webhooks

Subscribe to real-time events via webhooks. Payloads are signed with HMAC-SHA256 for verification.

EventDescription
vote.createdWhen a vote is submitted
entity.createdWhen an entity is added to a ranking
entity.rating_changedWhen an entity rating changes significantly
ranking.createdWhen a new ranking is created
ranking.milestoneWhen a ranking hits 100, 1K, or 10K votes
leaderboard.changedWhen the #1 position changes
user.achievementWhen a user earns an achievement

Full OpenAPI specification available at /openapi.json

Privacy · Terms · Home