GunSpec

Game

Resource class for interacting with the GunSpec Game API. Wraps all /v1/game endpoints. These endpoints provide game-balanced firearm data suitable for game development, including normalized stats, tier rankings, and balance analysis. Instantiated internally by the GunSpec client and exposed as client.game.

Authentifizierung erforderlichStudio+

Get a balance report showing outlier firearms. Identifies firearms whose game stats deviate significantly from the average, useful for game balancing.

balanceReport(params?: BalanceReportParams): Promise<APIResponse<BalanceEntry[]>>
GET/v1/game/balance-report

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • numberstandard20

    How far from the mean a stat must sit to be flagged

    Bereich
    0 – 100
    Beispiel

  • object[]

    The response payload.

  • string

    Slug of the firearm this row belongs to.

  • string

    Display name of the firearm this row is about.

  • object[]

    Every stat on this firearm that sits further from the mean than threshold.

  • string

    Which statistic this row is about, named as the field is: weightEmptyG, damage.

  • number

    This firearm value for the stat.

  • number

    Arithmetic mean across the records counted.

  • number

    Standard deviation across the records counted.

  • number

    Standard deviations from the mean. Positive is above it; the sign says which way the firearm is out of line.

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Studio+
Monatskontingent
150,000/mo
Anfragerate
120/min
Tageslimit
10,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Authentifizierung erforderlichBuilder+

Get a tier list of firearms ranked by a specific stat.

tierList(params?: TierListParams): Promise<APIResponse<TierList>>
GET/v1/game/tier-list

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringstandarddamage

    Which stat to tier by

    Akzeptiert
    Beispiel
  • string

    Restrict the tier list to a category slug

    Beispiel

  • object

    The response payload.

  • string

    Which statistic this row is about, named as the field is: weightEmptyG, damage.

  • object

    Firearms grouped into tiers, strongest first.

  • object[]

    Top tier for this stat.

  • object[]

    Second tier.

  • object[]

    Third tier.

  • object[]

    Fourth tier.

  • object[]

    Bottom tier for this stat.

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Authentifizierung erforderlichBuilder+

Get a game-balanced matchup between two firearms.

matchups(params: MatchupsParams): Promise<APIResponse<MatchupResult>>
GET/v1/game/matchups

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    First firearm slug

    Max. Länge
    255
    Beispiel
  • stringerforderlich

    Second firearm slug

    Max. Länge
    255
    Beispiel

  • object

    The response payload.

  • object

    The firearm named by the a parameter.

  • string

    Slug of the first firearm.

  • string

    Display name, as the maker writes it.

  • object

    The editorial game stats, with the game prefix the column carries stripped.

  • object

    The firearm named by the b parameter.

  • string

    Slug of the second firearm.

  • string

    Display name, as the maker writes it.

  • object

    The editorial game stats, with the game prefix the column carries stripped.

  • object

    The per-stat verdict, keyed by stat rather than listed.

  • string

    Which firearm wins on damage: a, b, or draw.

  • string

    Which firearm wins on accuracy.

  • string

    Which firearm wins on range.

  • string

    Which firearm wins on rate of fire.

  • string

    Which firearm wins on mobility.

  • string

    Which firearm wins on recoil control.

  • string

    Which firearm wins on reload speed.

  • string

    Which firearm wins on concealment.

  • integer

    How many statistics the first firearm wins.

  • integer

    How many statistics the second firearm wins.

  • integer

    How many statistics are tied.

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 404NOT_FOUNDResource not found
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Authentifizierung erforderlichBuilder+

Get a roster of firearms best suited for a specific game role.

roleRoster(params: RoleRosterParams): Promise<APIResponse<RoleRosterItem[]>>
GET/v1/game/role-roster

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Gameplay role

    Akzeptiert
    Beispiel
  • integerstandard5

    How many to return

    Bereich
    1 – 25
    Beispiel

  • object[]

    The best-scoring firearms for the role, strongest first.

  • string

    Slug of the firearm.

  • string

    Display name, as the maker writes it.

  • number

    Fit for this role, 0 to 100, from the role weighting of the game stats.

  • object

    The editorial game stats, with the game prefix the column carries stripped.

  • integer | null

    Editorial damage rating, 0-100. Not a measured figure.

  • integer | null

    Editorial accuracy rating, 0-100.

  • integer | null

    Editorial range rating, 0-100.

  • integer | null

    Editorial rate-of-fire rating, 0-100.

  • integer | null

    Editorial mobility rating, 0-100.

  • integer | null

    Editorial recoil-control rating, 0-100.

  • integer | null

    Editorial reload-speed rating, 0-100.

  • integer | null

    Editorial concealment rating, 0-100.

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Authentifizierung erforderlichStudio+

Get the statistical distribution for a specific game stat. Shows how firearms are distributed across value ranges for a given stat, useful for understanding the spread and identifying balance issues.

statDistribution(params: StatDistributionParams): Promise<APIResponse<StatDistribution>>
GET/v1/game/stat-distribution

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Which stat to profile

    Akzeptiert
    Beispiel

  • object

    The response payload.

  • string

    Which statistic this row is about, named as the field is: weightEmptyG, damage.

  • integer

    How many records fall in this bucket.

  • number

    Arithmetic mean across the records counted.

  • number

    Middle value of the stat across the catalog.

  • number

    Standard deviation across the records counted.

  • number

    Lowest value of the stat across the catalog.

  • number

    Highest value of the stat across the catalog.

  • object

    Percentile cut points for the stat.

  • number

    10th percentile.

  • number

    25th percentile.

  • number

    50th percentile, equal to median.

  • number

    75th percentile.

  • number

    90th percentile.

  • object[]

    Firearm counts across ten fixed bands of width 10, from 0-10 to 90-100.

  • string

    The band this bucket covers, lo-hi. Half-open, so a value equal to hi falls in the next bucket, except 90-100, which includes 100.

  • integer

    How many records fall in this bucket.

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Studio+
Monatskontingent
150,000/mo
Anfragerate
120/min
Tageslimit
10,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.