openapi: 3.0.3 info: title: Fortnite Tracker 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 tags: - name: Profile description: Per-player Fortnite lifetime and per-mode statistics. - name: Leaderboards description: Top-player leaderboards by platform and region. - name: Power Rankings description: Competitive Fortnite power rankings across professional events. - name: Store description: Current Fortnite in-game store rotation. - name: Challenges description: Current Battle Pass weekly challenges. 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 /leaderboards/{mode}/{platform}/{window}: get: operationId: listLeaderboard summary: Fortnite Tracker List Leaderboard description: >- Retrieve a paginated leaderboard for a given mode, platform, and time window. Used to surface top players by score, wins, kills, or matches played across the global Tracker Network cohort. tags: - Leaderboards parameters: - name: mode in: path required: true description: >- Game mode. One of `p2` (solo), `p10` (duo), `p9` (squad). schema: type: string enum: - p2 - p10 - p9 example: p9 - name: platform in: path required: true description: Player platform (`pc`, `xbl`, `psn`). schema: type: string enum: - pc - xbl - psn example: pc - name: window in: path required: true description: >- Statistic and time window. Common values include `current_wins`, `current_kills`, `current_matches`, `lifetime_wins`, `lifetime_kills`, `lifetime_score`. schema: type: string example: current_wins - name: page in: query required: false description: Page index for paginated results (zero-based). schema: type: integer minimum: 0 default: 0 example: 0 responses: '200': description: Leaderboard page retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/LeaderboardEntry' examples: ListLeaderboard200Example: summary: Default listLeaderboard 200 response x-microcks-default: true value: - accountId: 4735ce91-3292-4caf-8a5b-17789b40f79c platformId: 5 platformName: pc epicUserHandle: Bugha rank: 1 value: '412' - accountId: 9a82bd14-7b1f-4dca-9f1a-3c9a17b2c5e1 platformId: 5 platformName: pc epicUserHandle: Mongraal rank: 2 value: '401' '401': description: Missing or invalid TRN-Api-Key header. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListLeaderboard401Example: summary: Default listLeaderboard 401 response x-microcks-default: true value: error: unauthorized message: Missing or invalid TRN-Api-Key header. '429': description: Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListLeaderboard429Example: summary: Default listLeaderboard 429 response x-microcks-default: true value: error: rate_limited message: Rate limit exceeded. x-microcks-operation: delay: 0 dispatcher: FALLBACK /powerrankings/top500: get: operationId: listTopPowerRankings summary: Fortnite Tracker List Top 500 Power Rankings description: >- Retrieve the top 500 ranked professional Fortnite players globally as ranked by Tracker Network's competitive power-ranking algorithm. tags: - Power Rankings responses: '200': description: Power ranking list retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/PowerRankingEntry' examples: ListTopPowerRankings200Example: summary: Default listTopPowerRankings 200 response x-microcks-default: true value: - rank: 1 country: US platform: pc region: na-east epicNickname: Bugha points: 12500.5 earnings: $3,000,000 twitchUrl: https://twitch.tv/bugha - rank: 2 country: GB platform: pc region: eu epicNickname: Mongraal points: 12100.0 earnings: $1,800,000 twitchUrl: https://twitch.tv/mongraal '401': description: Missing or invalid TRN-Api-Key header. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListTopPowerRankings401Example: summary: Default listTopPowerRankings 401 response x-microcks-default: true value: error: unauthorized message: Missing or invalid TRN-Api-Key header. '429': description: Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListTopPowerRankings429Example: summary: Default listTopPowerRankings 429 response x-microcks-default: true value: error: rate_limited message: Rate limit exceeded. x-microcks-operation: delay: 0 dispatcher: FALLBACK /powerrankings/{platform}/{region}/{epicNickname}: get: operationId: getPlayerPowerRanking summary: Fortnite Tracker Get Player Power Ranking description: >- Retrieve the competitive power-ranking detail for a specific professional player, scoped to platform and region. tags: - Power Rankings parameters: - name: platform in: path required: true description: Player platform (`pc`, `xbl`, `psn`). schema: type: string enum: - pc - xbl - psn example: pc - name: region in: path required: true description: Competitive region. schema: type: string enum: - na-east - na-west - eu - oce - br - asia - me example: na-east - name: epicNickname in: path required: true description: Epic Games account display name. schema: type: string example: Bugha responses: '200': description: Power ranking detail retrieved. content: application/json: schema: $ref: '#/components/schemas/PowerRankingDetail' examples: GetPlayerPowerRanking200Example: summary: Default getPlayerPowerRanking 200 response x-microcks-default: true value: rank: 1 country: US platform: pc region: na-east epicNickname: Bugha points: 12500.5 earnings: $3,000,000 twitchUrl: https://twitch.tv/bugha events: - name: FNCS Chapter 5 Season 2 Finals date: '2026-04-12' points: 1500 placement: 3 - name: Cash Cup Extra NA East date: '2026-04-26' points: 800 placement: 1 '401': description: Missing or invalid TRN-Api-Key header. content: application/json: schema: $ref: '#/components/schemas/Error' examples: GetPlayerPowerRanking401Example: summary: Default getPlayerPowerRanking 401 response x-microcks-default: true value: error: unauthorized message: Missing or invalid TRN-Api-Key header. '404': description: Player power-ranking entry not found. content: application/json: schema: $ref: '#/components/schemas/Error' examples: GetPlayerPowerRanking404Example: summary: Default getPlayerPowerRanking 404 response x-microcks-default: true value: error: not_found message: Power ranking entry not found for player. '429': description: Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' examples: GetPlayerPowerRanking429Example: summary: Default getPlayerPowerRanking 429 response x-microcks-default: true value: error: rate_limited message: Rate limit exceeded. x-microcks-operation: delay: 0 dispatcher: FALLBACK /store: get: operationId: listStoreItems summary: Fortnite Tracker List Store Items description: >- Retrieve the current Fortnite in-game store rotation, including both the daily storefront and the weekly featured storefront with vBucks prices and rarity tiers. tags: - Store responses: '200': description: Store rotation retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/StoreItem' examples: ListStoreItems200Example: summary: Default listStoreItems 200 response x-microcks-default: true value: - imageUrl: https://trackercdn.com/cdn/fortnitetracker.com/items/renegade.png manifestId: 500123 name: Renegade Raider rarity: Legendary storeCategory: BRWeeklyStorefront vBucks: 1500 - imageUrl: https://trackercdn.com/cdn/fortnitetracker.com/items/skull-trooper.png manifestId: 500124 name: Skull Trooper rarity: Epic storeCategory: BRDailyStorefront vBucks: 1200 '401': description: Missing or invalid TRN-Api-Key header. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListStoreItems401Example: summary: Default listStoreItems 401 response x-microcks-default: true value: error: unauthorized message: Missing or invalid TRN-Api-Key header. '429': description: Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListStoreItems429Example: summary: Default listStoreItems 429 response x-microcks-default: true value: error: rate_limited message: Rate limit exceeded. x-microcks-operation: delay: 0 dispatcher: FALLBACK /challenges: get: operationId: listChallenges summary: Fortnite Tracker List Weekly Challenges description: >- Retrieve the current week's Battle Pass challenge set, including completion criteria, star rewards, and challenge difficulty. tags: - Challenges responses: '200': description: Weekly challenge list retrieved. content: application/json: schema: type: array items: $ref: '#/components/schemas/Challenge' examples: ListChallenges200Example: summary: Default listChallenges 200 response x-microcks-default: true value: - id: 500123 name: Deal damage with shotguns to opponents description: Deal 1,000 damage to opponents using shotguns. completionGoal: 1000 rewardStars: 5 difficulty: medium week: 6 season: c5s4 - id: 500124 name: Land at named locations description: Land at 5 different named locations in a single match. completionGoal: 5 rewardStars: 3 difficulty: easy week: 6 season: c5s4 '401': description: Missing or invalid TRN-Api-Key header. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListChallenges401Example: summary: Default listChallenges 401 response x-microcks-default: true value: error: unauthorized message: Missing or invalid TRN-Api-Key header. '429': description: Rate limit exceeded. content: application/json: schema: $ref: '#/components/schemas/Error' examples: ListChallenges429Example: summary: Default listChallenges 429 response x-microcks-default: true value: error: rate_limited message: Rate limit exceeded. x-microcks-operation: delay: 0 dispatcher: FALLBACK components: 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. schemas: 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 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' 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' 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' 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 #1 placements in this match group. 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' LeaderboardEntry: type: object description: A single leaderboard ranking row. properties: accountId: type: string format: uuid description: Epic Games account UUID for the leaderboard entry. example: 4735ce91-3292-4caf-8a5b-17789b40f79c platformId: type: integer description: Numeric platform identifier. example: 5 platformName: type: string description: Platform short code. example: pc epicUserHandle: type: string description: Player display name. example: Bugha rank: type: integer description: Rank position on the leaderboard. example: 12 value: type: string description: Display value of the stat being ranked. example: '247' PowerRankingEntry: type: object description: A single competitive power-ranking row. properties: rank: type: integer description: Global rank position. example: 1 country: type: string description: ISO 3166-1 alpha-2 country code. example: US platform: type: string description: Player platform (`pc`, `xbl`, `psn`). example: pc region: type: string description: Competitive region code. example: na-east epicNickname: type: string description: Player Epic Games display name. example: Bugha points: type: number format: float description: Power-ranking points total. example: 12500.5 earnings: type: string description: Tournament earnings as a display string (USD). example: $3,000,000 twitchUrl: type: string format: uri description: Twitch channel URL for the player when known. example: https://twitch.tv/bugha PowerRankingDetail: allOf: - $ref: '#/components/schemas/PowerRankingEntry' - type: object description: Power ranking entry with event-level breakdown. properties: events: type: array description: List of qualifying tournament events. items: type: object properties: name: type: string description: Tournament name. example: FNCS Chapter 5 Season 2 Finals date: type: string format: date description: Event date. example: '2026-04-12' points: type: number format: float description: Power-ranking points awarded. example: 1500 placement: type: integer description: Final placement at the event. example: 3 StoreItem: type: object description: A single rotation item in the Fortnite in-game store. properties: imageUrl: type: string format: uri description: URL to the item's promotional image asset. example: https://trackercdn.com/cdn/fortnitetracker.com/items/abc123.png manifestId: type: integer description: Stable numeric identifier for the item across rotations. example: 500123 name: type: string description: Display name of the cosmetic. example: Renegade Raider rarity: type: string description: >- Item rarity tier. Common values include `Sturdy`, `Fine`, `Quality`, `Handmade`, `Epic`, `Legendary`. enum: - Sturdy - Fine - Quality - Handmade - Epic - Legendary example: Legendary storeCategory: type: string description: Storefront the item appears in. enum: - BRDailyStorefront - BRWeeklyStorefront example: BRWeeklyStorefront vBucks: type: integer description: Cost of the item in vBucks (Fortnite's in-game currency). example: 1500 required: - manifestId - name - vBucks - storeCategory Challenge: type: object description: A single Battle Pass weekly challenge. properties: id: type: integer description: Challenge identifier. example: 500123 name: type: string description: Challenge display name. example: Deal damage with shotguns to opponents description: type: string description: Long-form challenge description. example: Deal 1,000 damage to opponents using shotguns. completionGoal: type: integer description: Target value required to complete the challenge. example: 1000 rewardStars: type: integer description: Number of Battle Pass stars awarded on completion. example: 5 difficulty: type: string description: Challenge difficulty tier. enum: - easy - medium - hard - extreme example: medium week: type: integer description: Battle Pass week number. example: 6 season: type: string description: Battle Pass season identifier. example: c5s4 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. security: - trnApiKey: []