Fortnite Tracker Profile API
Per-player Fortnite lifetime and per-mode statistics.
Per-player Fortnite lifetime and per-mode statistics.
openapi: 3.0.3
info:
title: Fortnite Tracker Challenges Profile API
version: '1.0'
description: Fortnite Tracker (api.fortnitetracker.com/v1) is the Tracker Network developer surface that wraps Epic Games' Fortnite telemetry behind a simple REST API. It exposes per-player lifetime statistics, regional leaderboards, competitive power rankings, the daily/weekly in-game store rotation, and the current week's Battle Pass challenges. Every call requires a TRN-Api-Key header issued from fortnitetracker.com/site-api/create. The service is intentionally rate-limited (about one request every two seconds per key) and has been in a silent end-of-life state for several years — some endpoints may return intermittent errors.
contact:
name: Tracker Network Support
url: https://feedback.tracker.gg/
license:
name: Tracker Network Terms of Service
url: https://tracker.gg/about/terms
x-generated-from: documentation
x-last-validated: '2026-05-30'
servers:
- url: https://api.fortnitetracker.com/v1
description: Fortnite Tracker production API
security:
- trnApiKey: []
tags:
- name: Profile
description: Per-player Fortnite lifetime and per-mode statistics.
paths:
/profile/{platform}/{epicNickname}:
get:
operationId: getProfile
summary: Fortnite Tracker Get Player Profile
description: Retrieve a player's Fortnite profile with lifetime statistics, per-mode stats (solo, duo, squad), and account metadata for the given platform and Epic Games display name.
tags:
- Profile
parameters:
- name: platform
in: path
required: true
description: Player platform. One of `pc` (Epic Games on PC), `xbl` (Xbox Live), `psn` (PlayStation Network).
schema:
type: string
enum:
- pc
- xbl
- psn
example: pc
- name: epicNickname
in: path
required: true
description: Epic Games account display name for the player.
schema:
type: string
example: Ninja
responses:
'200':
description: Player profile retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/PlayerProfile'
examples:
GetProfile200Example:
summary: Default getProfile 200 response
x-microcks-default: true
value:
accountId: 4735ce91-3292-4caf-8a5b-17789b40f79c
platformId: 5
platformName: pc
platformNameLong: PC / Epic Games
epicUserHandle: Ninja
stats:
p9:
kd:
label: K/D
field: kd
category: Combat
valueInt: 3
value: '3.21'
rank: '12345'
percentile: 99.4
displayValue: '3.21'
score:
label: Score
field: score
category: Game
valueInt: 182000
value: '182000'
rank: '8721'
percentile: 99.8
displayValue: 182,000
matches:
label: Matches
field: matches
category: Game
valueInt: 5421
value: '5421'
rank: '1872'
percentile: 99.9
displayValue: 5,421
lifeTimeStats:
- key: Wins
value: '247'
- key: Top 10
value: '1820'
- key: Kills
value: '17421'
recentMatches:
- id: 500123
accountId: 4735ce91-3292-4caf-8a5b-17789b40f79c
playlist: p9
kills: 8
minutesPlayed: 22
top1: 1
top5: 1
top6: 1
top10: 1
top12: 1
top25: 1
matches: 1
score: 1820
dateCollected: '2026-05-29T18:42:11Z'
'401':
description: Missing or invalid TRN-Api-Key header.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
GetProfile401Example:
summary: Default getProfile 401 response
x-microcks-default: true
value:
error: unauthorized
message: Missing or invalid TRN-Api-Key header.
'404':
description: Player not found on the given platform.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
GetProfile404Example:
summary: Default getProfile 404 response
x-microcks-default: true
value:
error: not_found
message: Player not found on platform pc.
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
GetProfile429Example:
summary: Default getProfile 429 response
x-microcks-default: true
value:
error: rate_limited
message: Rate limit exceeded. Default is 1 request per 2 seconds.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/profile/account/{accountId}:
get:
operationId: getProfileByAccountId
summary: Fortnite Tracker Get Player Profile by Account Id
description: Retrieve a player's Fortnite profile by Epic Games account UUID instead of display name. Useful for stable lookups when display names change.
tags:
- Profile
parameters:
- name: accountId
in: path
required: true
description: Epic Games account UUID.
schema:
type: string
format: uuid
example: 4735ce91-3292-4caf-8a5b-17789b40f79c
responses:
'200':
description: Player profile retrieved.
content:
application/json:
schema:
$ref: '#/components/schemas/PlayerProfile'
examples:
GetProfileByAccountId200Example:
summary: Default getProfileByAccountId 200 response
x-microcks-default: true
value:
accountId: 4735ce91-3292-4caf-8a5b-17789b40f79c
platformId: 5
platformName: pc
platformNameLong: PC / Epic Games
epicUserHandle: Ninja
stats: {}
lifeTimeStats:
- key: Wins
value: '247'
recentMatches: []
'401':
description: Missing or invalid TRN-Api-Key header.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
GetProfileByAccountId401Example:
summary: Default getProfileByAccountId 401 response
x-microcks-default: true
value:
error: unauthorized
message: Missing or invalid TRN-Api-Key header.
'404':
description: Account not found.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
GetProfileByAccountId404Example:
summary: Default getProfileByAccountId 404 response
x-microcks-default: true
value:
error: not_found
message: Account 4735ce91-3292-4caf-8a5b-17789b40f79c not found.
'429':
description: Rate limit exceeded.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
GetProfileByAccountId429Example:
summary: Default getProfileByAccountId 429 response
x-microcks-default: true
value:
error: rate_limited
message: Rate limit exceeded.
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
components:
schemas:
StatBlock:
type: object
description: A grouped stat block for a single mode (e.g., solo, duo, squad).
properties:
trnRating:
$ref: '#/components/schemas/StatValue'
score:
$ref: '#/components/schemas/StatValue'
top1:
$ref: '#/components/schemas/StatValue'
top3:
$ref: '#/components/schemas/StatValue'
top5:
$ref: '#/components/schemas/StatValue'
top10:
$ref: '#/components/schemas/StatValue'
kd:
$ref: '#/components/schemas/StatValue'
winRatio:
$ref: '#/components/schemas/StatValue'
matches:
$ref: '#/components/schemas/StatValue'
kills:
$ref: '#/components/schemas/StatValue'
minutesPlayed:
$ref: '#/components/schemas/StatValue'
MatchSummary:
type: object
description: Summary of a recent match.
properties:
id:
type: integer
description: Match identifier.
example: 500123
accountId:
type: string
format: uuid
description: Account UUID this match belongs to.
example: 4735ce91-3292-4caf-8a5b-17789b40f79c
playlist:
type: string
description: Playlist mode key (e.g., `p2`, `p10`, `p9`).
example: p9
kills:
type: integer
description: Kills in this match.
example: 8
minutesPlayed:
type: integer
description: Minutes played in this match.
example: 22
top1:
type: integer
description: Number of
example: 1
top5:
type: integer
description: Number of top-5 placements in this match group.
example: 1
top6:
type: integer
description: Number of top-6 placements in this match group.
example: 1
top10:
type: integer
description: Number of top-10 placements in this match group.
example: 1
top12:
type: integer
description: Number of top-12 placements in this match group.
example: 1
top25:
type: integer
description: Number of top-25 placements in this match group.
example: 1
matches:
type: integer
description: Matches in this aggregation group.
example: 1
score:
type: integer
description: Score points earned.
example: 1820
dateCollected:
type: string
format: date-time
description: Timestamp the match summary was recorded.
example: '2026-05-29T18:42:11Z'
PlayerProfile:
type: object
description: Fortnite player profile with lifetime and per-mode statistics.
properties:
accountId:
type: string
format: uuid
description: Epic Games account UUID.
example: 4735ce91-3292-4caf-8a5b-17789b40f79c
platformId:
type: integer
description: Numeric platform identifier (5 = PC/Epic, 1 = PSN, 2 = Xbox Live).
example: 5
platformName:
type: string
description: Platform short code (`pc`, `psn`, `xbl`).
example: pc
platformNameLong:
type: string
description: Human-readable platform name.
example: PC / Epic Games
epicUserHandle:
type: string
description: Epic Games display name.
example: Ninja
stats:
type: object
description: Per-mode stat blocks keyed by mode identifier.
additionalProperties:
$ref: '#/components/schemas/StatBlock'
lifeTimeStats:
type: array
description: Lifetime statistic key/value pairs.
items:
$ref: '#/components/schemas/StatLine'
recentMatches:
type: array
description: Recent match summary entries.
items:
$ref: '#/components/schemas/MatchSummary'
required:
- accountId
- epicUserHandle
- platformName
Error:
type: object
description: Standard error response body.
properties:
error:
type: string
description: Short machine-readable error code.
example: unauthorized
message:
type: string
description: Human-readable error description.
example: Missing or invalid TRN-Api-Key header.
StatLine:
type: object
description: A single lifetime stat key/value pair.
properties:
key:
type: string
description: Stat key (e.g., `Wins`, `Top 10`, `Kills`).
example: Wins
value:
type: string
description: Stat value as a string.
example: '247'
StatValue:
type: object
description: A single stat value with display formatting and numeric value.
properties:
label:
type: string
description: Human label for the stat.
example: K/D
field:
type: string
description: Internal field identifier.
example: kd
category:
type: string
description: Stat category (e.g., `Game`, `Combat`).
example: Combat
valueInt:
type: integer
description: Integer representation of the value where applicable.
example: 12
value:
type: string
description: Display value as a string.
example: '3.21'
rank:
type: string
description: Global rank for this stat.
example: '12345'
percentile:
type: number
format: float
description: Percentile rank (0-100).
example: 99.4
displayValue:
type: string
description: Pre-formatted display value.
example: '3.21'
securitySchemes:
trnApiKey:
type: apiKey
in: header
name: TRN-Api-Key
description: Per-account API key issued from https://fortnitetracker.com/site-api/create. Pass as the `TRN-Api-Key` request header. Default rate limit is approximately one request per two seconds per key.