GunSpec
Why GunSpec

Why GunSpec?

There was no good firearms specification API, so we built one: 9,162 firearms from 1,003 manufacturers, every record sourced, scored and served in one shape. This page is what we believe about that data and how we prove it.

  • 9,162Firearms
  • 1,003Manufacturers
  • 605Calibers
  • 74%Mean data confidence

Firearms data was scattered across wikis, forums, manufacturer sites and old PDFs. Game studios scraped Wikipedia. App builders copied specs from brochures. Researchers stitched together a dozen inconsistent sources. Nobody could cite where a number came from.

Before

Fifteen open tabs per firearm. A barrel length in inches on one page and millimetres on the next. A weight nobody could say was empty or loaded. A variant confused with its parent. No way to know what changed since last month, and no one to tell when a figure was wrong.

GunSpec

One request returns the record: 78 fields, units in the names, a confidence score, the sources, and a version that changes only when the data does. Every list is the same envelope, every error the same shape, every change announced. A wrong figure is a report that a person acts on.

Six principles. Each is a claim about the product, so each carries the figure or the page that lets you check it.

  1. 01

    Sourced, not scraped

    A specification comes from a manufacturer datasheet or a document of equal standing, is cross-checked against independent references and is reviewed by a person before it ships. Where sources disagree the record says so rather than picking one.

    Every record names its sources and carries a confidence score; the catalog mean is 74%.

    How the score is built

  2. 02

    Honest about what we do not know

    A missing value is null, never a guess, never a sibling's number. The confidence score is a record-level measure of completeness and provenance, not a promise that a given figure is right, and the docs say so wherever it appears.

    The field reference documents null semantics and the score's meaning on every page it appears.

    Null and confidence, explained

  3. 03

    The same shape every time

    Every list is the same envelope. Every unit lives in the field name. Every status, action type and event comes from a closed vocabulary that grows but never shifts. A client written against one record works against all of them.

    133 operations, one JSON envelope (only the file downloads and the seller redirect answer otherwise), 39 named error reasons under a handful of stable codes.

    Field reference

  4. 04

    Built for machines and models

    The OpenAPI document is the contract, not a description of it: the SDKs, the reference, the agent packs and the tests are generated from it. An agent handed the packs learns the workflow that avoids the expensive mistakes: resolve a name before fetching, never invent a specification, cite the source.

    Five agent packs, llms.txt and an OpenAPI 3 document, all cut from the same spec.

    AI & LLMs

  5. 05

    Open by default

    A free Explorer key takes a minute and reads the catalog. Content reads need no key at all. The changelog, the accuracy methodology, the data protections and this page are public. A wrong figure can be reported by anyone with a key, and the correction ships to everyone.

    200 requests a month at 10 a minute on the free plan; 17 operations answer with no key.

    What needs a key

  6. 06

    A contract you can build on

    Additive changes land under the prefix you already use. A breaking change moves to a new prefix and the old one keeps answering; the narrow exception, correcting a defect in place, is announced ahead with every affected caller told. Changes to the catalog reach you as signed webhooks, not as a diff you run yourself.

    A retired prefix answers for at least 12 months; 18 webhook event types; 61 changelog entries published.

    Versioning

Read from the catalog, the spec and the changelog at build time. The live figures are one call away.

The catalog

Firearms
9,162
Manufacturers
1,003
Calibers
605
Countries of origin
69
Variants tracked
1,353
Line-art silhouettes
2,589
Fields per record
78
Mean data confidence
74%

The API

Operations
133
Operations with no key
17
Specific error reasons
39
Webhook events
18
Months a prefix keeps answering after a breaking change
12
Explorer requests per month, free
200
Changelog entries published
61

Live counts: GET /v1/stats/summary, or the statistics page on the website. What shipped and when: the changelog.

The same record serves very different readers. Each row opens the part of the reference that reader starts from.

Every figure in the catalog went through the same six steps. The score you see is the record of how far it got.

  1. 1Sourced from a manufacturer datasheet, procurement document or reference publication of equal standing. Wikis and forums are leads, never sources.
  2. 2Cross-checked against independent references. Where they disagree by year, factory or market, the record notes the disagreement rather than choosing.
  3. 3Reviewed by a person before it ships. No automated path writes to the catalog; a model can propose, only a person can publish.
  4. 4Scored. Data confidence is set from what was actually sourced and never raised by hand. The bands, the source order and the provenance object are in the field reference.
  5. 5Corrected in the open. A data report from any key lands in a queue a person works; the fix ships to everyone and the record's version moves.
  6. 6Kept current without polling. A change fires webhooks to subscribers; an unchanged record answers 304 so a mirror costs nothing to keep.

Where two sources disagree, the manufacturer's own page or spec sheet wins, then a standards body drawing for a cartridge, then a reference that cites one, then a reference site, then a distributor or retailer, with seed model knowledge last. sources on the record lists the pages consulted, and a specific figure is checked against those rather than against the score. The full order, what each band of the score means and the provenance object are in the field reference.

A free Explorer key takes a minute. The quick start gets you to a first response in four steps.

Get API KeyFree, no card, one minute.