Global Leaderboards
Leaderboards rank players globally by score. Create multiple boards (seasonal, weekly, daily) and moderate fraudulent entries.
Creating a Leaderboard
Section titled “Creating a Leaderboard”- Go to Players > Leaderboards
- Click New Board and define:
- Name:
weekly_boss_speedrun - Type: Highscore (higher is better) or Lowscore (lower is better)
- Period: Weekly, Monthly, or All-Time
- Reset Schedule: Auto-reset date (optional)
- Name:
- Click Save
Submitting Scores
Section titled “Submitting Scores”Use the dedicated SDK function for score submission:
# Submit a score with optional metadataQuestData.submit_score("weekly_boss_speedrun", 1250, { "difficulty": "hard", "time_seconds": 180, "items_used": 2}, "PlayerName")
# Fetch rankingsQuestData.get_leaderboard("weekly_boss_speedrun", 10, func(entries: Array): for entry in entries: print("#%d %s - %d" % [entry["rank"], entry["player_name"], entry["score"]]))See the SDK Leaderboards guide for full API details including throttling and buffering.
Score Updates
Section titled “Score Updates”Scores update instantly with 5-second throttling to prevent spam:
- First entry: Immediately visible
- Improvement within 5s: Queued, sent in batch
- Same or lower score: Rejected (no entry created)
Leaderboard Views
Section titled “Leaderboard Views”| Tab | Shows |
|---|---|
| Top 100 | Your top 100 players |
| Your Rank | Where you stand globally |
| Friends | Friends near your score |
| Score History | Your submission history |
Moderation Tools
Section titled “Moderation Tools”Suspicious scores marked with ⚠️ (likely cheaters):
- Click a suspicious entry
- Review the metadata (time, difficulty)
- Ban (remove and block future entries) or Approve
Seasonal Reset
Section titled “Seasonal Reset”Leaderboards automatically reset based on schedule:
| Period | Reset Frequency |
|---|---|
| Daily | 00:00 UTC |
| Weekly | Monday 00:00 UTC |
| Monthly | 1st of month |
| All-Time | Never |
Previous period scores are archived.
API Reference
Section titled “API Reference”# Submit scorecurl -X POST "https://api.questdata.io/v1/leaderboards/weekly_boss_speedrun/entries" \ -H "x-game-api-key: YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "player_id": "player123", "score": 1250, "metadata": {"difficulty": "hard"} }'
# Get top 10curl "https://api.questdata.io/v1/leaderboards/weekly_boss_speedrun?limit=10" \ -H "x-game-api-key: YOUR_API_KEY"Response:
{ "leaderboard": "weekly_boss_speedrun", "entries": [ { "rank": 1, "player_id": "player456", "score": 2500, "date": "2026-04-06T10:30:00Z" }, { "rank": 2, "player_id": "player123", "score": 1250, "date": "2026-04-05T15:00:00Z" } ]}