Fortnite Tracker APIfortnitetracker.com ↗
Access Fortnite player stats, username search, and live item shop data from fortnitetracker.com. Covers lifetime stats, K/D, wins, playlist breakdowns, and V-Bucks pricing.
What is the Fortnite Tracker API?
This API exposes 3 endpoints against fortnitetracker.com, covering player search, full profile stats, and the current item shop. The get_player_profile endpoint returns segmented lifetime stats broken down by playlist mode — solo, duos, squads, and LTMs — including wins, kills, K/D ratio, and win rate, along with platform identity and current season metadata. The get_item_shop endpoint delivers today's cosmetic inventory with V-Bucks prices, rarities, and rotation expiry times.
curl -X GET 'https://api.parse.bot/scraper/6df3a229-07bb-4aa2-bbce-74e0ed2c17e6/search_players?query=Ninja' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace fortnitetracker-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Fortnite Tracker SDK — search players, fetch profiles, browse the item shop."""
from parse_apis.fortnite_tracker_api import FortniteTracker, Platform, PlayerNotFound
client = FortniteTracker()
# Search for players matching a username query.
for player in client.players.search(query="Ninja", limit=3):
print(player.platform_user_handle, player.platform_slug, player.status)
# Fetch a full player profile with lifetime stats across playlists.
profile = client.playerprofiles.get(username="SypherPK", platform=Platform.EPIC)
print(profile.platform_info.platform_user_handle, profile.platform_info.avatar_url)
for segment in profile.segments[:2]:
print(segment.attributes.playlist_group, segment.attributes.competitive)
# Handle a player that doesn't exist.
try:
client.playerprofiles.get(username="xyznonexistent99999", platform=Platform.EPIC)
except PlayerNotFound as exc:
print(f"Player not found: {exc.username}")
# Browse the current item shop rotation.
shop = client.itemshops.get()
print(shop.expiry_date)
for category in shop.categories[:2]:
print(category.name, len(category.items))
for item in category.items[:2]:
print(f" {item.name} - {item.price.value} {item.price.name} ({item.tier_name})")
print("exercised: players.search / playerprofiles.get / itemshops.get / PlayerNotFound")Full-text search for Fortnite players by username. Returns a list of matching players with their platform info and last-updated status. Searches across all platforms but defaults to Epic Games. Results are not paginated — the server returns up to ~20 matches in a single response.
| Param | Type | Description |
|---|---|---|
| queryrequired | string | Player username or partial username to search for. |
{
"type": "object",
"fields": {
"data": "array of player objects with platformId, platformSlug, platformUserIdentifier, platformUserId, platformUserHandle, and status"
},
"sample": {
"data": {
"data": [
{
"status": "Last Updated 5 minutes ago",
"platformId": 8,
"platformSlug": "epic",
"platformUserId": "4735ce91-3292-4caf-8a5b-17789b40f79c",
"platformUserHandle": "Ninja",
"platformUserIdentifier": "Ninja"
}
]
},
"status": "success"
}
}About the Fortnite Tracker API
Player Search and Profile Data
The search_players endpoint accepts a query string (full or partial username) and returns up to ~20 matching players. Each result includes platformSlug, platformUserHandle, platformUserIdentifier, platformUserId, and a status field. Results are not paginated, so the response is a single flat array — useful for autocomplete flows or resolving an exact username before calling the profile endpoint.
The get_player_profile endpoint takes a required username and an optional platform parameter. The response is structured into several top-level objects: platformInfo carries the player's avatar URL and platform identity; userInfo includes flags like isPremium, isVerified, isInfluencer, and isPartner, plus a countryCode; metadata provides currentSeasonInfo and available filter inputs. The segments array is the core payload — each segment corresponds to a playlist mode (e.g., solo, duos, squads) and contains granular stats including wins, kills, K/D, and win ratio. The availableSegments field lists which playlist breakdowns exist for a given player.
Item Shop
The get_item_shop endpoint requires no input parameters and always returns the current shop state. The response contains a categories array, where each entry has an id, name, expiryDate, and an items array. Each item includes its name, rarity, V-Bucks price, and image URL. A top-level expiryDate ISO datetime string indicates when the full rotation expires. Because the shop rotates daily, repeated calls on different days will return different inventories.
Coverage Notes
All three endpoints reflect data publicly available on fortnitetracker.com. Player profile data is scoped to what the tracker has recorded — players who have never been looked up on the tracker may return limited or no stats. Platform filtering on get_player_profile is optional; omitting it defaults to the Epic Games platform.
The Fortnite Tracker API is a managed, monitored endpoint for fortnitetracker.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when fortnitetracker.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official fortnitetracker.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a Fortnite stat tracker dashboard showing K/D, wins, and win rate per playlist mode using
segmentsdata fromget_player_profile. - Implement username autocomplete for a Fortnite companion app using
search_playerswith partial name queries. - Monitor daily item shop rotations with
get_item_shopto alert users when specific cosmetics go on sale. - Display player badges and influencer/partner status using
isInfluencer,isPartner, andisVerifiedfields fromuserInfo. - Track V-Bucks pricing trends for specific cosmetic rarities by polling
get_item_shopdaily and storing item price history. - Show a player's avatar and platform identity in a profile card using
avatarUrlandplatformSlugfromplatformInfo. - Compare solo vs. squad performance for a player by diffing the relevant stat segments from
get_player_profile.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does fortnitetracker.com have an official developer API?+
What does the `segments` array in `get_player_profile` contain, and how are segments distinguished?+
segments corresponds to a specific playlist mode — solo, duos, squads, or limited-time modes (LTMs). Within each segment, stats like wins, kills, K/D ratio, and win rate are provided as individual keyed stat objects. The availableSegments field in the same response lists which playlist breakdowns actually exist for that player, so you can check it before filtering the segments array.Are historical item shop rotations available through `get_item_shop`?+
date parameter or archive access. If you need historical rotation data, you would need to store snapshots yourself by polling the endpoint daily. You can fork this API on Parse and revise it to add a persistence or history layer.Does the API cover Fortnite tournament or competitive event data?+
What happens if a player has no recorded stats on fortnitetracker.com?+
get_player_profile endpoint may return an empty or minimal segments array for players who have not been previously tracked on the site. The search_players endpoint returns up to ~20 matches but is not exhaustive — players with no tracker history may not appear in results even if they exist on the Epic Games platform.