client.firearms.getVariants()
Get all variants of a firearm.
getVariants(id: string): Promise<APIResponse<Firearm[]>>- stringheaderrequired
Your API key.
Authorization: Bearer <key>is accepted in its place.
- stringrequired
Firearm slug
- Accepts
- a lowercase slug: letters, digits and hyphens
- Example
- FirearmVariant[]
The response payload.
- string
URL-safe slug identifying the firearm, e.g.
glock-17-gen5. - string
Display name, as the maker writes it.
- string | null
How this record differs from its parent:
optics_ready,compact,threadedand so on. Null when the record has no parent. - integer | null
Year it entered production or service. Null where the date is disputed or unknown.
- FirearmStatus | 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.
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 404
NOT_FOUND - 429
RATE_LIMITED - 500
INTERNAL_ERROR
- 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.