GunSpec

Firearms

Browse, search, compare and retrieve detailed specifications for 8,500+ firearms, variants included.

Auth RequiredBuilder+

Returns, for each of up to 5 firearms, its ammunition as a weight, in two kinds of figure that are never mixed.

GET/v1/firearms/ammo-load

  • stringheaderrequired

    Your API key. Authorization: Bearer <key> is accepted in its place.

  • stringrequired

    Comma-separated firearm slugs, maximum 5.

    Example
  • string

    A load whose bullet the estimate uses, for the firearms that fire its cartridge. Without it, each cartridge's typical bullet.

    Example
  • numberdefault5

    A weight of full magazines to fill, in kg.

    Range
    0.1 – 100
    Example
  • integerdefault7

    Full magazines in the estimated basic load.

    Range
    0 – 50
    Example
  • integer

    Rounds in the estimated basic load. Default: magazines times the capacity.

    Range
    1 – 10000

  • object

    The response payload.

  • object

    The method behind every figure in the answer.

  • string

    The method the figures were computed with.

  • string

    The method by name.

  • string

    The arithmetic and the model as written, with units, so the figures can be reproduced.

  • number

    The model's largest error on its reference cartridges, in percent: the range every estimate carries.

  • number[]

    The smallest and largest case envelope the model was fitted on, in cm³.

  • object[]

    The cartridges the model was fitted to.

  • object

    The load every firearm was answered for.

  • number

    The weight budget in kg.

  • integer

    Full magazines in the estimated basic load.

  • integer | null

    Rounds in the estimated basic load, as given. Null when each firearm's came from its capacity.

  • string | null

    The load named, if any.

  • string[]

    The query parameters not sent, answered from their defaults.

  • object[]

    One result per firearm, in the order their ids were given.

  • object

    The firearm this result is for.

  • object | null

    The cartridge the estimate is for. Null when the firearm records none.

  • object | null

    A full magazine, derived. Null when the feed is not detachable or a weight or the capacity is not recorded.

  • object | null

    What budget_kg of full magazines holds. Null when no full magazine was derived.

  • object | null

    A basic load's mass by the cartridge-mass model. Null when the cartridge lacks the figures the model needs.

  • object | null

    Against the option that carries the most rounds per kilogram, leaving out any magazine the model finds lighter than its rounds. Null on that option, on a lone firearm, and where no magazine was derived.

  • string[]

    Why a figure is missing, or why a derived one is doubtful.

  • string | null

    Why nothing could be computed for this firearm. Null when anything was.

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

Minimum tier
Builder+
Monthly quota
25,000/mo
Rate limit
60/min
Daily cap
2,000

Figures shown are for this endpoint's minimum tier. Higher tiers raise every limit.

This read answers conditional requests. Keep the ETag from a response and send it back as If-None-Match: an unchanged record returns 304 Not Modified with no body, which counts toward your per-minute rate limit but not your daily allowance.