What you can build
One GunSpec API record, rendered four ways. See how a store, a newsroom, a publisher, and a reviewer turn the same firearms data into a finished, sellable surface.
Sample data shown for illustration. Prices and ratings are placeholders; specifications come from the GunSpec catalog.
A store product page
A retailer drops the API response straight into a buy page: image, price, live specs, stock, and add-to-cart. No manual data entry, always current.
Glock 17 Gen5
Glock
$549.99
In stock
A full-size, striker-fired 9mm service pistol with a 17-round magazine. The Gen5 frame adds the GLOCK Marksman Barrel, an ambidextrous slide stop, and a flared magwell.
- Caliber
- 9x19mm Parabellum
- Capacity
- 17 + 1
- Action
- Striker Fired
- Weight
- 705 g
SKU: GLK-17-GEN5
Request
GET/v1/firearms/glock-17-gen5
Response
{ "data": { "id": "glock-17-gen5", "name": "Glock 17 Gen5", "manufacturerId": "glock", "categoryId": "pistol", "status": "in_production", "countryOfOrigin": "Austria", "yearIntroduced": 2017, "actionType": "striker_fired", "firingMechanism": "Safe Action", "weightEmptyG": 705, "weightLoadedG": 915, "overallLengthMm": 202, "barrelLengthMm": 114, "heightMm": 139, "widthMm": 34, "magazineCapacity": 17, "muzzleVelocityMps": 375, "effectiveRangeM": 50, "frameMaterial": "Polymer", "slideMaterial": "Steel (nDLC)", "barrelMaterial": "Steel (nDLC)", "finish": "nDLC", "features": [ "Marksman Barrel", "Ambidextrous slide stop", "Flared magwell", "Front serrations" ], "description": "A full-size, striker-fired 9mm service pistol with a 17-round magazine. The Gen5 frame adds the GLOCK Marksman Barrel, an ambidextrous slide stop, and a flared magwell.", "manufacturer": { "id": "glock", "name": "Glock", "countryCode": "AT" }, "category": { "id": "pistol", "name": "Pistol" }, "calibers": [ { "caliberId": "9x19mm-parabellum", "isPrimary": true, "name": "9x19mm Parabellum", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "caseLengthMm": 19.15, "cartridgeType": "centerfire" } ] }}Specs read data.calibers[0].name, data.magazineCapacity, data.actionType, and data.weightEmptyG. Price, rating, and stock are the store's own data.
An editorial spec report
A newsroom or buyer's guide publishes the same record as a formatted document: lead, data table, and a cited source line, ready for print or web.
Specification Report
Glock 17 Gen5: Full Specification
A full-size, striker-fired 9mm service pistol with a 17-round magazine. The Gen5 frame adds the GLOCK Marksman Barrel, an ambidextrous slide stop, and a flared magwell.
| Caliber | 9x19mm Parabellum |
|---|---|
| Capacity | 17 + 1 |
| Action | Striker Fired |
| Weight | 705 g |
| Barrel length | 114 mm |
| Overall length | 202 mm |
| Origin | Austria, 2017 |
Every figure on this sheet is traceable to a single API call, so the numbers match across every page that publishes them.
Data source: GunSpec firearms specification API. Figures reflect the manufacturer datasheet at time of publication.
Request
GET/v1/firearms/glock-17-gen5
Response
{ "data": { "id": "glock-17-gen5", "name": "Glock 17 Gen5", "manufacturerId": "glock", "categoryId": "pistol", "status": "in_production", "countryOfOrigin": "Austria", "yearIntroduced": 2017, "actionType": "striker_fired", "firingMechanism": "Safe Action", "weightEmptyG": 705, "weightLoadedG": 915, "overallLengthMm": 202, "barrelLengthMm": 114, "heightMm": 139, "widthMm": 34, "magazineCapacity": 17, "muzzleVelocityMps": 375, "effectiveRangeM": 50, "frameMaterial": "Polymer", "slideMaterial": "Steel (nDLC)", "barrelMaterial": "Steel (nDLC)", "finish": "nDLC", "features": [ "Marksman Barrel", "Ambidextrous slide stop", "Flared magwell", "Front serrations" ], "description": "A full-size, striker-fired 9mm service pistol with a 17-round magazine. The Gen5 frame adds the GLOCK Marksman Barrel, an ambidextrous slide stop, and a flared magwell.", "manufacturer": { "id": "glock", "name": "Glock", "countryCode": "AT" }, "category": { "id": "pistol", "name": "Pistol" }, "calibers": [ { "caliberId": "9x19mm-parabellum", "isPrimary": true, "name": "9x19mm Parabellum", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "caseLengthMm": 19.15, "cartridgeType": "centerfire" } ] }}The lead reads data.description; the table maps each spec field; the source line cites the single API call.
An embeddable spec card
A blog or affiliate site pastes one snippet and gets a live spec card that stays in sync with the catalog, no maintenance required.
Request
GET/v1/firearms/glock-17-gen5
Response
{ "data": { "id": "glock-17-gen5", "name": "Glock 17 Gen5", "manufacturerId": "glock", "categoryId": "pistol", "status": "in_production", "countryOfOrigin": "Austria", "yearIntroduced": 2017, "actionType": "striker_fired", "firingMechanism": "Safe Action", "weightEmptyG": 705, "weightLoadedG": 915, "overallLengthMm": 202, "barrelLengthMm": 114, "heightMm": 139, "widthMm": 34, "magazineCapacity": 17, "muzzleVelocityMps": 375, "effectiveRangeM": 50, "frameMaterial": "Polymer", "slideMaterial": "Steel (nDLC)", "barrelMaterial": "Steel (nDLC)", "finish": "nDLC", "features": [ "Marksman Barrel", "Ambidextrous slide stop", "Flared magwell", "Front serrations" ], "description": "A full-size, striker-fired 9mm service pistol with a 17-round magazine. The Gen5 frame adds the GLOCK Marksman Barrel, an ambidextrous slide stop, and a flared magwell.", "manufacturer": { "id": "glock", "name": "Glock", "countryCode": "AT" }, "category": { "id": "pistol", "name": "Pistol" }, "calibers": [ { "caliberId": "9x19mm-parabellum", "isPrimary": true, "name": "9x19mm Parabellum", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "caseLengthMm": 19.15, "cartridgeType": "centerfire" } ] }}The card reads data.name and three spec fields; the script fetches them by the firearm id in the snippet.
A buyer-guide comparison
A reviewer pulls two records and publishes a side-by-side table. Consistent fields mean comparisons are accurate and effortless to assemble.
| Specification | Glock 17 Gen5 | SIG Sauer P320 |
|---|---|---|
| Caliber | 9x19mm Parabellum | 9x19mm Parabellum |
| Capacity | 17 + 1 | 17 + 1 |
| Action | Striker Fired | Striker Fired |
| Weight | 705 g | 833 g |
| Barrel length | 114 mm | 119 mm |
| Overall length | 202 mm | 203 mm |
| Price | $549.99 | $599.99 |
| Origin | Austria | United States |
Request
GET/v1/firearms/glock-17-gen5
Response
{ "data": { "id": "glock-17-gen5", "name": "Glock 17 Gen5", "manufacturerId": "glock", "categoryId": "pistol", "status": "in_production", "countryOfOrigin": "Austria", "yearIntroduced": 2017, "actionType": "striker_fired", "firingMechanism": "Safe Action", "weightEmptyG": 705, "weightLoadedG": 915, "overallLengthMm": 202, "barrelLengthMm": 114, "heightMm": 139, "widthMm": 34, "magazineCapacity": 17, "muzzleVelocityMps": 375, "effectiveRangeM": 50, "frameMaterial": "Polymer", "slideMaterial": "Steel (nDLC)", "barrelMaterial": "Steel (nDLC)", "finish": "nDLC", "features": [ "Marksman Barrel", "Ambidextrous slide stop", "Flared magwell", "Front serrations" ], "description": "A full-size, striker-fired 9mm service pistol with a 17-round magazine. The Gen5 frame adds the GLOCK Marksman Barrel, an ambidextrous slide stop, and a flared magwell.", "manufacturer": { "id": "glock", "name": "Glock", "countryCode": "AT" }, "category": { "id": "pistol", "name": "Pistol" }, "calibers": [ { "caliberId": "9x19mm-parabellum", "isPrimary": true, "name": "9x19mm Parabellum", "natoDesignation": "9mm NATO", "bulletDiameterMm": 9.01, "caseLengthMm": 19.15, "cartridgeType": "centerfire" } ] }}Calls GET /v1/firearms/:id once per firearm and lines the fields up by key for a fair comparison.
Build your own in minutes
These are sample renders. Grab an API key and a starter template, and ship your version with live firearms data.


