GunSpec

Calibers

Resource class for interacting with the GunSpec Calibers API. Wraps all /v1/calibers endpoints. Instantiated internally by the GunSpec client and exposed as client.calibers.

Auth RequiredExplorer+

Auto-paginate through all calibers matching the given filters. Returns an async iterator that fetches pages on demand, yielding individual Caliber objects.

listAutoPaging(params?: ListCalibersParams): AsyncIterableIterator<Caliber>
GET/v1/calibers

  • stringheaderrequired

    Your API key. Authorization: Bearer <key> is accepted in its place.

  • integerdefault1

    Page number, from 1 to 10,000

    Range
    1 – 10000
    Example
  • integerdefault20

    Items per page (max 100)

    Range
    1 – 100
    Example
  • string

    Substring match on caliber name or alias

    Max length
    200
    Example
  • string

    Filter by cartridge type

    Example
  • string

    Filter by primer type

    Example

  • Caliber[]

    One page of results

  • string

    URL-safe slug identifying the cartridge, e.g. 9x19mm-parabellum.

  • string

    Display name, as the maker writes it.

  • string | null

    JSON array of aliases

  • string | null

    NATO designation where the cartridge has one, e.g. 9mm NATO. Null otherwise.

  • number | null

    Bullet diameter in millimetres.

  • number | null

    Case neck outside diameter in millimetres.

  • number | null

    Bottleneck cases only.

  • number | null

    Case base diameter in millimetres, ahead of the extractor groove.

  • number | null

    Rim diameter in millimetres.

  • number | null

    Rim thickness in millimetres.

  • number | null

    Case length in millimetres.

  • number | null

    Overall length in millimetres, stock extended where it folds or collapses.

  • number | null

    Typical projectile length.

  • number | null

    Maximum average pressure in megapascals, as the standards body specifies it.

  • number | null

    The same pressure in pounds per square inch, converted.

  • number | null

    Representative bullet weight in grams. Divide by 0.0648 for grains.

  • number | null

    Representative muzzle velocity in metres per second.

  • number | null

    Representative muzzle energy in joules.

  • string | null

    Primer size and type, e.g. small_pistol, large_rifle, rimfire.

  • string | null

    Head type: rimmed, rimless, semi_rimmed, rebated_rim, belted, plus historical values like cap_and_ball. Not the broad class. The registry said pistol/rifle/shotgun until the column was read, and it holds neither.

  • string | null

    Case profile: straight, bottleneck, tapered, belted.

  • string | null

    What the case is made of: brass, steel, aluminium, polymer.

  • string | null

    none is a blank.

  • string | null

    Bullet shape: fmj, hollow_point, soft_point, spitzer, round_nose.

  • string | null

    What seals the case mouth; a blank is a star crimp.

  • string | null

    Paint that identifies the load: crimp lacquer on a blank, tip colour on a military round.

  • string | null

    What that colour signifies, where the marking is a standard one.

  • string | null

    The cartridge this one was derived from, or null. A wildcat and its parent case, for example.

  • integer | null

    Year it entered production or service. Null where the date is disputed or unknown.

  • string | null

    Person or team credited with the design, where it is known.

  • string | null

    Page the dimensions were read from.

  • string | null

    The standards body whose figures these are (SAAMI, CIP), where the source names one.

  • number | null

    How completely the record is specified and how well it is sourced, 0 to 1. A record-level completeness and provenance measure, not a per-field probability of correctness. Use it to rank and triage; use sources to verify an individual number.

  • string | null

    When a person last checked this record against its source. Null means nobody has: the row is model knowledge until then.

  • string | null

    JSON array of the fields the source stated.

  • string

    When the record was first added, YYYY-MM-DD HH:MM:SS in UTC.

  • string

    When a field we serve last changed. Maintained by the database rather than by whatever wrote the row, so it moves for a corrected specification and does not move for a re-run of the importer.

  • string | null

    Opaque fingerprint of this record. It changes when and only when a field we serve changes, so a client holding the same value already has the record and need not fetch it. Equality is the only supported operation: do not parse it, and do not assume how it is computed. Null means the record has not been written since versioning began, not that it is unchanged.

  • Provenance

    Where a record's figures came from and how far they have been checked, in one place. sources are the pages consulted; check a specific figure against those. sourceKinds says what each page is and bestSourceKind the strongest of them, on the hierarchy SourceKind defines: a maker or standards-body page is evidence for a figure, a retailer or forum page is evidence the item exists. dataConfidence is the 0 to 1 score set from what was actually sourced and never raised by hand. verifiedAt and verifiedFields say when a source was last read against the record and which fields it stated; null means the row is still seed knowledge. updatedAt and version are the same cache signals the record carries at the top level.

  • string[]

    The pages consulted when the record was compiled, as an array. Check a specific figure against these rather than against dataConfidence.

  • object[]

    What each cited page is, in sources order, on the SourceKind hierarchy. A host not in the source map is other, never guessed.

  • SourceKind | null

    The strongest kind among the citations, or null when nothing is cited. manufacturer or standards_body means a figure can be checked against an authority; retailer or community alone means the record is still supported by copies of copies.

  • number | null

    The 0 to 1 score set from what was actually sourced, never raised by hand. See the confidence bands in the docs.

  • string | null

    When a source was last read against this record. Null means the row is still seed knowledge.

  • string[]

    Which fields the source stated, as an array. Everything else on a verified row is still unverified. Null where no source has been read.

  • string | null

    Cartridges only: the page the drawing figures were taken from. Null on every other kind of record.

  • string

    When a served column last changed; the same value the record carries at the top level.

  • string | null

    The record's content version, equal to the top-level version; equal versions mean equal data.

  • number

    Current page number

  • number

    Items per page

  • number

    Total matching records (Builder and above)

  • 400VALIDATION_ERRORValidation error
  • 401UNAUTHORIZEDAPI key required
  • 403FORBIDDENValid key, not permitted
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Returns an async iterator: it fetches each page as you consume it, so a loop over the whole collection is one statement and one page in memory at a time.

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.