GunSpec

Firearms

Browse, search, compare, and retrieve detailed specifications for over 9,000+ firearms including variants.

Auth RequiredExplorer+

Returns one firearm at random, optionally constrained by category or country. Responses are sent with Cache-Control: no-store so every call is a fresh draw.

GET/v1/firearms/random

  • stringheaderrequired

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

  • string

    Restrict the draw to a category slug

    Example
  • string

    Restrict the draw to an ISO country code

    Example

  • object

    The response payload.

  • string

    Slug of the drawn firearm.

  • string

    Display name, as the maker writes it.

  • string | null

    Slug of the manufacturer. Null where the maker is unrecorded.

  • string | null

    Slug of the category the firearm belongs to.

  • integer | null

    Year the model was introduced.

  • string | null

    Production status, one of in_production, discontinued, out_of_production, in_service, limited_production, prototype. Discontinued records are kept deliberately: a rifle built in 2004 wears parts nobody sells today.

  • string | null

    ISO 3166-1 alpha-2 code of the country of origin.

  • string | null

    Operating action as stored, underscored, e.g. short_recoil, bolt_action, gas_operated. The full vocabulary is /v1/firearms/action-types; a hyphenated value matches nothing.

  • number | null

    Unloaded weight in grams.

  • number | null

    Barrel length in millimetres.

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

Each request returns a different random firearm.

Combine with category or country filters to narrow the pool.

Minimum tier
Explorer+
Monthly quota
200/mo
Rate limit
10/min
Daily cap
50

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