Public API

All endpoints are read-only, CORS-enabled, and 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 }

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 }