By Feature
Returns firearms carrying a given feature slug, e.g. threaded-barrel or m-lok.
- stringheaderrequired
Your API key.
Authorization: Bearer <key>is accepted in its place.
- stringrequired
Feature name as stored, e.g.
threaded barrel. The vocabulary isfeatureson /v1/firearms/filter-options- Example
- string
Restrict to a category slug
- 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. - string | null
JSON array of every feature this firearm carries, as a string, not only the one filtered on.
- 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
Requires Builder tier or higher.
Common features: suppressor_ready, ambidextrous, picatinny_rail, threaded_barrel, adjustable_stock, folding_stock, free_float_barrel, match_trigger.
- 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.