Set your IGN
Hero · Interactive · NA
Not synced
Developers

Public API

Read-only, CORS-enabled, free to use. Build Discord bots, overlays, spreadsheets, or any tool on top of shared builds.

Base URL

https://gms-upgrade-tracker.vercel.app

All responses are JSON. No authentication required. Rate limits are generous (Vercel serverless defaults). Players must save their build on the website before it can be accessed via API.

Builds

GET/api/share?id={IGN}

Fetch a shared build by character name. Returns full gear, stats, class, server type, and Nexon region.

Parameters

region(string, default: na)Optional Nexon region for build lookup: na or eu

Response

{ id, selectedClass, serverType, nexonRegion, characterStats, gear }
GET/api/build/{IGN}/summary

Get a summary of a build including power score, gear overview, and set effects.

Parameters

region(string, default: na)Optional Nexon region for build lookup: na or eu

Response

{ buildId, class, serverType, nexonRegion, powerScore, gear }
GET/api/build/{IGN}/recommend

Get upgrade recommendations ranked by meso efficiency. Supports query params for limit, mesoRate, sfDiscount, feverTime, cubeSale.

Parameters

limit(int, default: 5)Number of recommendations (1-20)
mesoRate(int, default: 300000)Meso market rate (meso per NX)
sfDiscount(bool, default: false)Star Force 30% discount event
feverTime(bool, default: false)Spell Trace Fever Time event
cubeSale(bool, default: false)Cube 25% off event
region(string, default: na)Optional Nexon region for build lookup: na or eu

Response

{ recommendations: [{ description, upgradeType, expectedMesoCost, expectedDamageGainPercent, ... }], powerScore }
GET/api/build/{IGN}/rank

Get a player's leaderboard rank (overall and class-specific).

Parameters

region(string, default: na)Optional Nexon region for build lookup: na or eu

Response

{ buildId, nexonRegion, overall, class }
GET/api/build/{IGN}/hexa

Get HEXA Matrix breakdown — hexa score, gear-only score, completion %, and per-tier FD contributions. Completion is null when the build is in estimated mode.

Parameters

region(string, default: na)Optional Nexon region for build lookup: na or eu

Response

{ hexaScore, gearOnlyScore, scoreGap, completionPercent, hexaAssumptionMode, breakdown: { actualFD, maxFD, perTier } }

Calculators

GET/api/calc/starforce

Calculate Star Force expected cost and booms.

Parameters

itemLevel(int)Item level (required)
from(int, default: 0)Current star
to(int, default: 17)Target star
replacementCost(int, default: 0)Cost per boom replacement (meso)

Response

{ expectedCost, expectedBooms, statGain }
GET/api/calc/cube

Calculate expected cubes for potential targets. Modes: tierup, wse, armor, glove, hat. Cube types: red, black, violet, equality.

Parameters

mode(string, default: -)tierup | wse | armor | glove | hat
cubeType(string, default: glowing)glowing | bright | violet | equality
attackType(string, default: att)att | matt (wse mode only)
primaryStat(string, default: str)str | dex | int | luk (armor/glove/hat)
currentTier(string, default: -)rare | epic | unique (tierup mode)
targetTier(string, default: legendary)epic | unique | legendary (tierup mode)
slot(string, default: cape)Equipment slot for violet armor rates

Response

{ mode, cubeType, combos: [{ id, label, expectedCubes }] }
GET/api/calc/flame

Calculate expected flames to reach a target score.

Response

{ expectedFlames, expectedCost, description }
GET/api/calc/powerscore

Calculate converted stat from raw character stats.

Parameters

buildId(string)Optional shared build IGN to load stats from instead of manual stat params
region(string, default: na)Optional Nexon region when using buildId: na or eu

Response

{ totalScore, breakdown }

Leaderboard

GET/api/leaderboard

Get the top players ranked by converted stat. Filter by server type, class, and Nexon region.

Parameters

type(string, default: interactive)Server type: interactive or heroic
region(string, default: all)Optional region filter: all, na, or eu
class(string)Filter by class (e.g. Hero, Demon Slayer)
limit(int, default: 100)Number of entries (1-2000)

Response

{ entries: [{ rank, name, displayName, selectedClass, nexonRegion, sharePath, score }], serverType, region }