client.calibers.compare()
Compare up to 5 calibers side by side.
compare(params: CompareCalibersParams): Promise<APIResponse<Caliber[]>>- stringheaderrequired
Your API key.
Authorization: Bearer <key>is accepted in its place.
- stringrequired
Comma-separated caliber slugs, maximum 5
- Example
- 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.
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 429
RATE_LIMITED - 500
INTERNAL_ERROR
- Minimum tier
- Builder+
- Monthly quota
- 25,000/mo
- Rate limit
- 60/min
- Daily cap
- 2,000
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.