Patch 7.1.0 is live — Clean up of duplicated endpoints & improvement of Typescript SDK.
api-fortnite
← Back to Blog

Getting Started with the Fortnite API

A beginner-friendly guide to setting up and making your first requests to the Fortnite API. Learn authentication, endpoints, and best practices.

tutorialbeginnergetting-started

Introduction


The Fortnite API by Royal Arena is a comprehensive REST API for accessing Fortnite game data. Whether you're building a stats tracker, a Discord bot, or a full-featured web app, this guide will get you up and running in minutes.


The API base URL is:


https://prod.api-fortnite.com

Step 1: Create Your Account


Head over to api-fortnite.com and click Sign In. Once logged in, you'll be redirected to your dashboard where you can generate your API key.


Step 2: Authenticate Your Requests


Every request must include your API key in the x-api-key header:


curl -H "x-api-key: YOUR_API_KEY" https://prod.api-fortnite.com/api/v1/shop

Step 3: Make Your First Request


Fetch today's item shop:


curl -H "x-api-key: YOUR_API_KEY" https://prod.api-fortnite.com/api/v1/shop

You'll get a JSON response with all items currently in the Fortnite item shop.


Get the current Fortnite season info:


curl -H "x-api-key: YOUR_API_KEY" https://prod.api-fortnite.com/api/v1/season

Step 4: Explore the Endpoints


The API covers two versioned namespaces:


v1 endpoints:

  • GET /api/v1/shop — Current item shop (filters: type, rarity, section, search, lang)
  • GET /api/v1/shop/battlepass — Battle Pass content and rewards
  • GET /api/v1/account/{accountId} — Account info by Epic ID
  • GET /api/v1/account/displayName/{displayName} — Account info by display name
  • GET /api/v1/news — In-game news (BR, STW, Creative)
  • GET /api/v1/map — Map data with POIs
  • GET /api/v1/season — Current season number and dates
  • GET /api/v1/profile/progress — Player level & XP *(Starter plan+)*
  • GET /api/v1/profile/ranked — Ranked progress *(Starter plan+)*

  • v2 endpoints:

  • GET /api/v2/stats/{accountId} — Player stats by Epic account ID
  • POST /api/v2/stats/bulk — Stats for multiple players
  • GET /api/v2/stats/leaderboard/{stat} — Global leaderboard by stat key
  • GET /api/v2/cosmetics/all — Full cosmetics catalog (paginated)
  • GET /api/v2/cosmetics/search — Search cosmetics
  • GET /api/v2/cosmetics/new — Newest cosmetics
  • GET /api/v2/weapons — Weapon stats (filterable by patch, category, gamemode…)
  • GET /api/v2/weapons/patches — Available weapon patches
  • GET /api/v2/playlists — All game mode playlists
  • GET /api/v2/quests/{accountId} — Player quests *(Pro plan+, requires x-fortnite-token)*

  • Best Practices


  • Cache responses — The item shop only changes once a day. Cosmetics and weapons change on patch days. Cache aggressively.
  • Resolve display names first — Stats and quests use Epic account IDs. Use /api/v1/account/displayName/{name} to resolve a username to its accountId before calling stats endpoints.
  • Handle rate limits — Check the rate limit headers in each response and implement exponential backoff when you hit limits.

  • What's Next?


  • How to Track Player Stats in Real-Time
  • Item Shop API Complete Guide

  • Join our Discord community for support!