List firearms
Lists firearms using structured filters: manufacturer, cartridge, category, action, country, status and year range. Use this tool when the question asks which firearms match a set of criteria, not when it asks about one specific firearm.
Example usage
- 1
A person asks
- List five firearms chambered in 5.45x39mm.
- 2
The assistant calls the tool
tools/calljson{ "name": "gunspec_list_firearms", "arguments": { "caliber": "5-45x39mm", "per_page": 5 }} - 3
The server answers
Resultjson{ "firearms": [ { "id": "a-545", "name": "A-545 (6P67)", "manufacturerId": "degtyarev-plant", "categoryId": "assault-rifle", "yearIntroduced": 2018, "status": "in_production", "countryOfOrigin": "RU", "actionType": "gas_operated_long_stroke", "weightEmptyG": 3500, "barrelLengthMm": 420, "createdAt": "2026-02-11 23:44:47", "updatedAt": "2026-09-25 05:00:13", "version": "91c1cfe2433c95a0a6874ca208316378d1f4dea35e3514aa43b5bfb8504818fc", "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/a-545/media/silhouette", "model3dUrl": null, "favoriteCount": 0, "images": [ { "id": 643, "url": "https://api.gunspec.io/v1/firearms/a-545/images/643", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 5980, "url": "https://api.gunspec.io/v1/firearms/a-545/images/5980", "kind": "render", "alt": "A-545 (6P67) assault rifle, left-side profile render", "width": 1536, "height": 1024 } ] }, { "id": "kbp-a-91", "name": "A-91", "manufacturerId": "kbp-instrument-design-bureau", "categoryId": "assault-rifle", "yearIntroduced": 1998, "status": "limited_production", "countryOfOrigin": "RU", "actionType": "gas_operated_long_stroke", "weightEmptyG": 3970, "barrelLengthMm": 415, "createdAt": "2026-02-18 03:51:59", "updatedAt": "2026-09-25 05:00:25", "version": "b8e573ca438c0d272915df55a781fcbfe70dbf90b5fc63cc41bedec1f9edf108", "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/kbp-a-91/media/silhouette", "model3dUrl": null, "favoriteCount": 1, "images": [ { "id": 2199, "url": "https://api.gunspec.io/v1/firearms/kbp-a-91/images/2199", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 6789, "url": "https://api.gunspec.io/v1/firearms/kbp-a-91/images/6789", "kind": "render", "alt": "A-91 assault rifle, left-side profile render", "width": 1536, "height": 1024 } ] }, { "id": "kbp-ads", "name": "ADS", "manufacturerId": "kbp-instrument-design-bureau", "categoryId": "assault-rifle", "yearIntroduced": 2013, "status": "in_production", "countryOfOrigin": "RU", "actionType": "gas_operated_rotating_bolt", "weightEmptyG": 4600, "barrelLengthMm": 415, "createdAt": "2026-02-18 03:51:59", "updatedAt": "2026-09-25 05:00:25", "version": "ba4c824d55ff5e3c8ccf066a0a3846757ff5d4c6ea2a78323405865e34a2e568", "svgLineArtUrl": "https://api.gunspec.io/v1/firearms/kbp-ads/media/silhouette", "model3dUrl": null, "favoriteCount": 0, "images": [ { "id": 2200, "url": "https://api.gunspec.io/v1/firearms/kbp-ads/images/2200", "kind": "silhouette", "alt": null, "width": null, "height": null }, { "id": 8208, "url": "https://api.gunspec.io/v1/firearms/kbp-ads/images/8208", "kind": "render", "alt": "ADS assault rifle, left-side profile render", "width": 1536, "height": 1024 } ] } ], "pagination": { "page": 1, "limit": 5, "per_page": 5, "total": 38, "totalPages": 8 }}Captured from the live API on Oct 22, 2026. Lists and long text are shortened for display.
Related references
Arguments
- string
Manufacturer slug, e.g. "glock".
- Sent as
- ?manufacturer=
- string
Caliber slug, e.g. "9x19mm-parabellum".
- Sent as
- ?caliber=
- string
Category slug, e.g. "pistol", "rifle" or "shotgun".
- Sent as
- ?category=
- string
Action type, e.g. "semi-automatic" or "bolt-action".
- Sent as
- ?action_type=
- string
Country name or ISO code.
- Sent as
- ?country_of_origin=
- string
Production status.
- Accepts
- Sent as
- ?status=
- integer
Earliest year introduced.
- Sent as
- ?year_introduced_min=
- integer
Latest year introduced.
- Sent as
- ?year_introduced_max=
- string
Sort column.
- Accepts
- Sent as
- ?sort=
- string
Sort direction.
- Accepts
- Sent as
- ?order=
- integerdefault
1Page number, from 1.
- Minimum
- 1
- Sent as
- ?page=
- integerdefault
20Items per page, 1 to 100.
- Range
- 1 – 100
- Sent as
- ?per_page=
Each argument is sent to GET /v1/firearms as the parameter shown, so the same request can be made to the API directly, with your key, if you want to shape what comes back.