IslandAtlas

API

A read-only REST API over every island, creator, ranking and player-count series IslandAtlas tracks — including daily-peak CCU history going back further than Epic exposes. JSON, no SDK, free tier with a key.

https://api.islandatlas.net 208 islands 185 creators 169 CCU histories 업데이트 2026-07-29

Quickstart

No key needed to try it. Every response is JSON with a meta block carrying the publish timestamp.

curl -s "https://api.islandatlas.net/v1/islands?limit=3"

Get a key

A free key lifts you from 100 to 1,000 requests a day. Pass it as a bearer token, or as ?key= from a browser.

Endpoints

Endpoint Description Try it
GET /v1/islands Tracked islands with their latest daily metrics. Filterable and sortable.
GET /v1/islands/{code} One island: metadata plus the full daily time-series we hold.
GET /v1/islands/{code}/ccu Long-run daily-peak concurrent players, back to 2024 where we have it.
GET /v1/creators Creators, aggregated across their tracked islands.
GET /v1/creators/{slug} One creator: totals, public profile counters, and their islands.
GET /v1/live 10-minute concurrency snapshot across every tracked island.
GET /v1/live/intraday Platform-wide player-count curve for the last day, 10-minute steps.
GET /v1/rankings/{date|latest} Daily top-10 with rank deltas. Omit the date for the index of days.
GET /v1/new/{date|latest} Islands first seen on a given day.
GET /v1/health Liveness plus the timestamp of the last publish. Never metered.

openapi.json · Machine-readable spec for client generators and agent tooling.

Query parameters

Supported on /v1/islands. Collections page with limit and offset; the meta block reports total and hasMore.

Field Type Description
tag string Genre tag, e.g. zonewars. Exact match against the island tag list.
creator string Creator slug. Exact match.
createdIn string Authoring tool: uefn or creative.
q string Case-insensitive substring match on the island title.
sort enum peakCCU (default), uniquePlayers, minutesPlayed, favorites, plays, recommendations.
order enum desc (default) or asc.
limit number 1–200, default 50.
offset number Rows to skip, default 0. Combine with the meta.total in the response.

Rate limits

Counters are per UTC day and reported on every response as X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset.

Tier Access Limit Description
Anonymous No key 100 req / day Per IP. Enough to try it from a terminal.
Free Key required 1,000 req / day Self-serve below. Up to 3 keys per address.
Starter Private beta 20,000 req / day Email for access while billing is being wired up.
Pro Private beta 100,000 req / day Includes bulk history dumps and a support channel.

Examples

Top 5 islands by peak concurrent players

curl -s "https://api.islandatlas.net/v1/islands?sort=peakCCU&limit=5" | jq '.islands[].title'

Full daily series for one island

curl -s "https://api.islandatlas.net/v1/islands/0130-4986-9032" | jq '.island.series'

Authenticated request

curl -s -H "Authorization: Bearer ia_live_…" "https://api.islandatlas.net/v1/creators"

What is left of today’s quota

curl -sI "https://api.islandatlas.net/v1/health" ; curl -sI "https://api.islandatlas.net/v1/live" | grep -i x-ratelimit

Errors

Failures return a JSON body shaped { error: { code, message } } with a matching HTTP status.

400 bad_request Malformed island code, date, or an unsupported sort field.
401 invalid_key The key is missing a segment or is not in our records.
403 key_revoked The key exists but has been disabled.
404 not_found Unknown path, or a resource we do not track.
429 rate_limited Daily quota spent. Retry-After holds the seconds until the UTC reset.
503 not_ready A payload has not been published yet — rare, and self-healing on the next refresh.

License & attribution

IslandAtlas's compilation — the tracking, accumulation and curation — is CC BY 4.0. The underlying gameplay metrics are facts sourced from Epic's public Fortnite Ecosystem API and are not owned by IslandAtlas. Credit islandatlas.net when you use them. Not affiliated with or endorsed by Epic Games.

Prefer files over requests? The same data ships as CSV and JSON dumps on the 데이터 page — no key, no limit.