Search Firearms
Searches firearm names and descriptions using SQLite FTS5. Results are ordered by relevance.
- stringHeadererforderlich
Ihr API-Schlüssel.
Authorization: Bearer <key>wird ebenfalls akzeptiert.
- stringerforderlich
Search query
- Max. Länge
- 200
- Beispiel
- integerstandard
1Page number, from 1 to 10,000
- Bereich
- 1 – 10000
- Beispiel
- integerstandard
20Items per page (max 100)
- Bereich
- 1 – 100
- Beispiel
- FirearmSearchResult[]
One search hit. The field names are snake_case here, unlike
/v1/firearmsand the rest of the catalog: these are the search view's own columns and renaming them would break every consumer already reading them.manufacturer_nameandcategory_nameare joined in so a result list renders without a second call. - string
URL-safe slug identifying the firearm. Stable: it is what a mirror keys on.
- string
Display name, as the maker writes it.
- string | null
Slug of the manufacturer.
manufacturerIdon the camelCase endpoints. - string | null
Slug of the category.
categoryIdon the camelCase endpoints. - string | null
Display name of the manufacturer, joined in so a result row needs no second call.
- string | null
Display name of the category.
- string | null
Slug of the category again, under the name the search view uses. Same value as
category_id. - integer | null
Year the model was introduced.
- 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
ISO 3166-1 alpha-2 code of the country of origin.
- string | null
Operating action as stored, underscored, e.g.
short_recoil,bolt_action,gas_operated. The full vocabulary is/v1/firearms/action-types; a hyphenated value matches nothing. - number | null
Unloaded weight in grams, without magazine.
- number | null
Barrel length in millimetres, measured from the breech face.
- string | null
Line-art silhouette, or null where none has been drawn.
- string | null
GLB model, or null where none is on file.
- integer
How many accounts have favorited this record.
- number | null
FTS5 relevance score the page is ordered by. Lower is a better match (SQLite bm25 scores are negative), and it is only comparable within one response. Absent or null when the query fell back to a plain substring match, which has no ranking.
- 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)
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 429
RATE_LIMITED - 500
INTERNAL_ERROR
Requires an API key with Builder tier or higher.
- 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.