By Action Type
Returns firearms using a given action type.
- stringheaderrequired
Your API key.
Authorization: Bearer <key>is accepted in its place.
- stringrequired
Action type as stored, underscored, e.g.
short_recoil. The vocabulary is /v1/firearms/action-types- Example
- integerdefault
1Page number, from 1 to 10,000
- Range
- 1 – 10000
- Example
- integerdefault
20Items per page (max 100)
- Range
- 1 – 100
- Example
- object[]
One page of results
- string
Slug of the firearm.
- string
Display name, as the maker writes it.
- string | null
Slug of the manufacturer that makes it. Resolve against
/v1/manufacturers/{id}. - string | null
Slug of the category it belongs to. Resolve against
/v1/categories. - integer | null
Year it entered production or service. Null where the date is disputed or unknown.
- 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
The action this firearm uses, as stored.
- number
Current page number
- number
Items per page
- number
Total matching records (Builder and above)
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 429
RATE_LIMITED - 500
INTERNAL_ERROR
Common action types: bolt_action, gas_operated, gas_operated_long_stroke, gas_operated_short_stroke, striker_fired, blowback, recoil_operated, pump_action, lever_action, roller_delayed.
- 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.
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.