Filter Options
Returns the distinct values available for each filterable field, for building filter UIs without hardcoding the options. Categories, manufacturers and calibers no firearm uses are omitted.
- stringheaderrequired
Your API key.
Authorization: Bearer <key>is accepted in its place.
- object
The distinct filter values currently present in the catalog.
- object[]
Manufacturers with at least one firearm.
- string
Slug of the manufacturer, and the value to send as
manufacturer. - string
Display name, as the maker writes it.
- string | null
ISO 3166-1 alpha-2 code of where they are based, for grouping the list by country.
- object[]
Categories with at least one firearm.
- string
Slug of the category, and the value to send as
category. Keyedslughere rather thanid, unlike the other lists. - string
Display name, as the maker writes it.
- object[]
Cartridges chambered by at least one firearm.
- string
Slug of the cartridge, and the value to send as
caliber. - string
Display name, as the maker writes it.
- object[]
Operating actions present in the catalog.
- string
The action type as stored, and the value to send as
action_type. - string
Display name, as the maker writes it.
- object[]
JSON array of notable features, as a string. The same vocabulary
/v1/firearms/by-featurefilters on. - string
The feature as stored, and the value to send as
featureto /v1/firearms/by-feature. - string
Display name, as the maker writes it.
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 429
RATE_LIMITED - 500
INTERNAL_ERROR
One round-trip for an entire filter UI. Calibers are capped at the 100 most relevant.
Use categories[].slug, manufacturers[].id, calibers[].id, actionTypes[].id, and features[].id as filter values on GET /v1/firearms.
- 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.