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.

Authentifizierung erforderlichExplorer+

List calibers with optional filters and pagination.

list(params?: ListCalibersParams): Promise<PaginatedResponse<Caliber>>
GET/v1/calibers

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • integerstandard1

    Page number, from 1 to 10,000

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100)

    Bereich
    1 – 100
    Beispiel
  • string

    Substring match on caliber name or alias

    Max. Länge
    200
    Beispiel
  • string

    Filter by cartridge type

    Beispiel
  • string

    Filter by primer type

    Beispiel

  • 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

Mindeststufe
Explorer+
Monatskontingent
200/mo
Anfragerate
10/min
Tageslimit
50

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Dieser Aufruf beantwortet bedingte Anfragen. Speichern Sie das ETag einer Antwort und senden Sie es als If-None-Match zurueck: ein unveraenderter Datensatz liefert 304 Not Modified ohne Body. Das zaehlt auf Ihr Minutenlimit, aber nicht auf Ihr Tageskontingent.

Authentifizierung erforderlichExplorer+

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

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • integerstandard1

    Page number, from 1 to 10,000

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100)

    Bereich
    1 – 100
    Beispiel
  • string

    Substring match on caliber name or alias

    Max. Länge
    200
    Beispiel
  • string

    Filter by cartridge type

    Beispiel
  • string

    Filter by primer type

    Beispiel

  • 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.

Mindeststufe
Explorer+
Monatskontingent
200/mo
Anfragerate
10/min
Tageslimit
50

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Dieser Aufruf beantwortet bedingte Anfragen. Speichern Sie das ETag einer Antwort und senden Sie es als If-None-Match zurueck: ein unveraenderter Datensatz liefert 304 Not Modified ohne Body. Das zaehlt auf Ihr Minutenlimit, aber nicht auf Ihr Tageskontingent.

Authentifizierung erforderlichBuilder+

Compare up to 5 calibers side by side.

compare(params: CompareCalibersParams): Promise<APIResponse<Caliber[]>>
GET/v1/calibers/compare

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Comma-separated caliber slugs, maximum 5

    Beispiel

  • object

    The response payload.

  • Caliber[]

    The compared cartridges, in the order their ids were given.

  • 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.

  • object[]

    Per-field differences across the compared cartridges, one entry per numeric field.

  • string

    Which column the row is about, named as the database names it.

  • number | null[]

    This field on each compared cartridge, in the order the ids were given. Null where that record does not carry the field.

  • number | null

    Lowest value across the compared cartridges. Null when fewer than two carry the field.

  • number | null

    Highest value across the compared cartridges. Null when fewer than two carry the field.

  • number | null

    Spread from the lowest value, as a percentage of it. Null when the minimum is zero or fewer than two carry the field.

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

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Dieser Aufruf beantwortet bedingte Anfragen. Speichern Sie das ETag einer Antwort und senden Sie es als If-None-Match zurueck: ein unveraenderter Datensatz liefert 304 Not Modified ohne Body. Das zaehlt auf Ihr Minutenlimit, aber nicht auf Ihr Tageskontingent.

Authentifizierung erforderlichBuilder+

Get ballistics data for a caliber at a specified distance.

ballistics(params: CaliberBallisticsParams): Promise<APIResponse<BallisticsResult>>
GET/v1/calibers/ballistics

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Caliber slug

    Max. Länge
    255
    Beispiel
  • integerstandard100

    Maximum distance in metres

    Bereich
    1 – 5000
    Beispiel

  • object

    The response payload.

  • object

    The cartridge the profile was computed for.

  • string

    Slug of the cartridge.

  • string

    Display name, as the maker writes it.

  • integer

    The distance the figures below are quoted at, echoing the distance parameter.

  • number | null

    Muzzle velocity in metres per second, for the default load.

  • number | null

    Muzzle energy in joules, for the default load.

  • number | null

    Remaining velocity at distanceM, in metres per second.

  • number | null

    Remaining energy at distanceM, in joules.

  • number | null

    Time of flight to distanceM, in seconds.

  • number | null

    Bullet drop below the line of sight at distanceM, in centimetres.

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

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Dieser Aufruf beantwortet bedingte Anfragen. Speichern Sie das ETag einer Antwort und senden Sie es als If-None-Match zurueck: ein unveraenderter Datensatz liefert 304 Not Modified ohne Body. Das zaehlt auf Ihr Minutenlimit, aber nicht auf Ihr Tageskontingent.

Authentifizierung erforderlichExplorer+

Get a single caliber by its slug or ID.

get(id: string): Promise<APIResponse<Caliber>>
GET/v1/calibers/{id}

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Caliber slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • Caliber

    The response payload

  • 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.

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

Mindeststufe
Explorer+
Monatskontingent
200/mo
Anfragerate
10/min
Tageslimit
50

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Dieser Aufruf beantwortet bedingte Anfragen. Speichern Sie das ETag einer Antwort und senden Sie es als If-None-Match zurueck: ein unveraenderter Datensatz liefert 304 Not Modified ohne Body. Das zaehlt auf Ihr Minutenlimit, aber nicht auf Ihr Tageskontingent.

Authentifizierung erforderlichExplorer+

Get all firearms that use a specific caliber.

getFirearms(id: string, params?: PaginationParams): Promise<PaginatedResponse<Firearm>>
GET/v1/calibers/{id}/firearms

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Caliber slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • integerstandard1

    Page number, from 1 to 10,000

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100)

    Bereich
    1 – 100
    Beispiel

  • CaliberFirearmListItem[]

    One page of results

  • string

    URL-safe slug identifying the firearm, e.g. glock-17-gen5.

  • string

    Display name, as the maker writes it.

  • string

    Slug of the manufacturer that makes it. Resolve against /v1/manufacturers/{id}.

  • string

    Slug of the category it belongs to. Resolve against /v1/categories.

  • integer | null

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

  • FirearmStatus | null

    Production status, one of in_production, discontinued, out_of_production, in_service, limited_production, prototype. Discontinued records are kept deliberately: a rifle built in 2004 wears parts nobody sells today.

  • string | null

    How the action cycles: short_recoil, gas_operated, blowback, bolt_action and so on. An open vocabulary: the values in use are published on the schema as x-gunspec-vocabulary, and GET /v1/firearms/action-types is the live list.

  • string | null

    ISO 3166-1 alpha-2 code of where it was designed, e.g. AT.

  • string | null

    Line-art silhouette, or null where none has been drawn.

  • string | null

    GLB model, or null where none is on file.

  • InlineMediaItem[]

    Every image this firearm has, silhouette first. Empty when none are on file.

  • integer

    Autoincrementing image id.

  • string

    Absolute, directly fetchable URL.

  • MediaKind

    What kind of asset a media row is.

  • string | null

    Alt text, where one has been written. Null otherwise, so do not render an empty string.

  • integer | null

    Pixel width, where it is known.

  • integer | null

    Pixel height, where it is known.

  • 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
  • 404NOT_FOUNDResource not found
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Explorer+
Monatskontingent
200/mo
Anfragerate
10/min
Tageslimit
50

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Authentifizierung erforderlichBuilder+

Get the parent caliber chain (ancestry) for a caliber.

getParentChain(id: string): Promise<APIResponse<Caliber[]>>
GET/v1/calibers/{id}/parent-chain

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Caliber slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • Caliber[]

    The response payload.

  • 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.

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

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Authentifizierung erforderlichBuilder+

Get the full family tree of related calibers.

getFamily(id: string): Promise<APIResponse<CaliberFamily>>
GET/v1/calibers/{id}/family

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Caliber slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • object

    The response payload.

  • Caliber[]

    The parent chain, nearest first, up to 20 deep.

  • 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.

  • Caliber
  • 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.

  • Caliber[]

    Every cartridge derived from this one, up to 50 rows.

  • 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.

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

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.

Authentifizierung erforderlichBuilder+

Get ammunition loads available for a caliber.

getAmmunition(id: string, params?: PaginationParams): Promise<PaginatedResponse<Ammunition>>
GET/v1/calibers/{id}/ammunition

  • stringHeadererforderlich

    Ihr API-Schlüssel. Authorization: Bearer <key> wird ebenfalls akzeptiert.

  • stringerforderlich

    Caliber slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • integerstandard1

    Page number, from 1 to 10,000

    Bereich
    1 – 10000
    Beispiel
  • integerstandard20

    Items per page (max 100)

    Bereich
    1 – 100
    Beispiel

  • AmmunitionLoad[]

    A specific factory ammunition load within a caliber.

  • string

    URL-safe slug identifying the load, e.g. 9mm-124gr-fmj.

  • string

    Slug of the cartridge. Resolve against /v1/calibers/{id}.

  • string

    Display name, as the maker writes it.

  • string | null

    Military or standards designation for the load, e.g. M882.

  • string | null

    Who makes it.

  • string | null

    ISO 3166-1 alpha-2 code of where it was designed, e.g. AT.

  • number

    Bullet weight in grams. Divide by 0.0648 for grains.

  • string

    Bullet construction: fmj, jhp, sp, match.

  • number | null

    Ballistic coefficient against the G1 drag model, the convention for flat-based bullets.

  • number | null

    Ballistic coefficient against the G7 drag model, which fits boat-tail rifle bullets better than G1.

  • number

    Muzzle velocity in metres per second at the reference barrel length below, not at the barrel of any particular firearm.

  • number

    Barrel length in millimetres the reference velocity was measured from. Velocity for another barrel is extrapolated from this pair.

  • number | null

    Bullet mass divided by the square of its diameter. Higher penetrates better, all else equal.

  • integer | null

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

  • integer

    1 when the load is commonly stocked.

  • string | null

    Absolute URL of the rendered bullet diagram.

  • number | null

    Decay exponent used when extrapolating velocity to a barrel length other than the reference one.

  • string | null

    Prose summary of the record, where one has been written.

  • integer

    1 when the load is a military issue round.

  • string

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

  • string

    When a field we serve last changed, YYYY-MM-DD HH:MM:SS in UTC.

  • 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
  • 404NOT_FOUNDResource not found
  • 429RATE_LIMITEDRate limit exceeded
  • 500INTERNAL_ERRORUnexpected server error

Mindeststufe
Builder+
Monatskontingent
25,000/mo
Anfragerate
60/min
Tageslimit
2,000

Die Werte gelten für die Mindeststufe dieses Endpunkts. Höhere Stufen erhöhen alle Limits.