Live · refreshed every few minutes

Epic's API is a storm.
We give you the eye of it.

Shop, cosmetics, missions, player stats, and STW resources — normalized, cached, one key. We already fought through Epic's OAuth and token-refresh mess so your app never has to.

8 endpoints OAuth handled for you JSON in, JSON out
one request, one key
# no device auth, no refresh tokens, no Epic OAuth dance import requests r = requests.get( "https://api.fndata.gg/v1/shop", headers={"x-api-key": "fns_••••••••••••••••"} ) for offer in r.json()["offers"]: print(offer["name"], offer["price_vbucks"]) Crew Pack Skins 1200 V-Bucks Storm Scout Wrap 800 V-Bucks

Every channel,
already tuned in

No raw Epic responses, no undocumented fields. Every endpoint is normalized to a clean schema and cached so you're not the one hammering Epic's servers.

Full API reference →
GET /v1/shop Item shop
GET /v1/news Game news
GET /v1/cosmetics Cosmetics catalog
GET /v1/cosmetics/{id} Single cosmetic
GET /v1/missions Active mission alerts
GET /v1/players/{display_name} Player lookup
GET /v1/players/{id}/br-stats BR stats
GET /v1/players/{id}/stw PRO

Pick your zone

Start free, move in when you need more room. No credit card to start.

Outer zone
Free
$0/month
  • 10,000 requests / month
  • 30 requests / minute
  • All public endpoints
  • Key rotation, usage dashboard
Get free key
Eye of the storm
Pro
$29/month
  • 1,000,000 requests / month
  • 120 requests / minute
  • Public endpoints + STW resources
  • Priority support, Stripe billing
Start Pro
// next on the radar

Today: clean Fortnite data on tap.
Coming next: plug it straight into a bot.

We're building a plug-and-play Discord bot builder on top of this same API — no token wrangling, no boilerplate. This data feed is the foundation it's built on.