GunSpec

Manufacturers

Retrieve information about firearms manufacturers, their history, headquarters, and full product catalogs.

Authentifizierung erforderlichExplorer+

Returns a paginated list of firearm manufacturers.

GET/v1/manufacturers

  • 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

    Filter by ISO 3166-1 alpha-2 country code

    Beispiel
  • string

    Substring match on manufacturer name

    Beispiel

  • Manufacturer[]

    One page of results

  • string

    URL-safe slug identifying the manufacturer, e.g. glock.

  • string

    Display name, as the maker writes it.

  • string | null

    ISO 3166-1 alpha-2 code of where the company is based.

  • integer | null

    Year the company was founded.

  • string | null

    Whether the company still trades. Much of this catalog is historical, and null means nobody has established which.

  • integer | null

    Year the company ceased trading, where that is established. Null while it still trades, and also null where the closing year is simply unknown, so an absent value is never read as "still trading".

  • boolean | null

    Government owned. Null is not false: it means nobody has established it, and a consumer treating null as false would report every unchecked company as private.

  • boolean | null

    Builds the products this catalog lists, as against importing, rebranding or customising them. Scope is the catalog rather than a legal definition: air rifles are listed here as rifles and pistols, so their makers are true. Null means unestablished.

  • string | null

    The manufacturer that owns this one today.

  • string | null

    The manufacturer this one succeeded, which is not the same as being owned by it: U.S. Repeating Arms followed Winchester without Winchester owning it.

  • string | null

    Official website, where one is known.

  • string | null

    Absolute URL of the logo, or null where none is on file.

  • string | null

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

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

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

Returns a single manufacturer with its founding details and website.

GET/v1/manufacturers/{id}

  • stringHeadererforderlich

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

  • stringerforderlich

    Manufacturer slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • Manufacturer

    The response payload

  • string

    URL-safe slug identifying the manufacturer, e.g. glock.

  • string

    Display name, as the maker writes it.

  • string | null

    ISO 3166-1 alpha-2 code of where the company is based.

  • integer | null

    Year the company was founded.

  • string | null

    Whether the company still trades. Much of this catalog is historical, and null means nobody has established which.

  • integer | null

    Year the company ceased trading, where that is established. Null while it still trades, and also null where the closing year is simply unknown, so an absent value is never read as "still trading".

  • boolean | null

    Government owned. Null is not false: it means nobody has established it, and a consumer treating null as false would report every unchecked company as private.

  • boolean | null

    Builds the products this catalog lists, as against importing, rebranding or customising them. Scope is the catalog rather than a legal definition: air rifles are listed here as rifles and pistols, so their makers are true. Null means unestablished.

  • string | null

    The manufacturer that owns this one today.

  • string | null

    The manufacturer this one succeeded, which is not the same as being owned by it: U.S. Repeating Arms followed Winchester without Winchester owning it.

  • string | null

    Official website, where one is known.

  • string | null

    Absolute URL of the logo, or null where none is on file.

  • string | null

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

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

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

Returns the firearms produced by a manufacturer.

GET/v1/manufacturers/{id}/firearms

  • stringHeadererforderlich

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

  • stringerforderlich

    Manufacturer 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

  • ManufacturerFirearmListItem[]

    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 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 erforderlichStudio+

Returns the manufacturer catalog ordered by year of introduction, for plotting output over time.

GET/v1/manufacturers/{id}/timeline

  • stringHeadererforderlich

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

  • stringerforderlich

    Manufacturer slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • object

    The response payload.

  • object

    Who the timeline is for.

  • string

    Slug of the manufacturer.

  • string

    Display name, as the maker writes it.

  • object[]

    One entry per year they introduced something, oldest first.

  • integer | null

    Year of introduction. Null groups the firearms whose year is unrecorded.

  • object[]

    The firearms they introduced that year.

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

Requires Studio tier or higher.

Timeline entries are sorted chronologically by year.

Firearms without a known year_introduced are omitted from the timeline.

Mindeststufe
Studio+
Monatskontingent
150,000/mo
Anfragerate
120/min
Tageslimit
10,000

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

Authentifizierung erforderlichBuilder+

Returns aggregate figures for one manufacturer: how many firearms, which categories and calibers they span, and the range of years covered.

GET/v1/manufacturers/{id}/stats

  • stringHeadererforderlich

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

  • stringerforderlich

    Manufacturer slug

    Akzeptiert
    a lowercase slug: letters, digits and hyphens
    Beispiel

  • object

    The response payload.

  • object

    Who the figures are about.

  • string

    Slug of the manufacturer.

  • string

    Display name, as the maker writes it.

  • object

    The aggregate figures. snake_case, as the rollup query names them.

  • integer

    How many catalogued firearms they make.

  • number | null

    Mean unloaded weight in grams across their catalog, over the firearms that record one.

  • number | null

    Mean effective range in metres, over the firearms that record one.

  • number | null

    Mean magazine capacity, over the firearms that record one.

  • integer

    How many of their firearms are still in production.

  • integer

    How many of their firearms are discontinued.

  • integer | null

    Introduction year of their earliest catalogued firearm. Null when none records one.

  • integer | null

    Introduction year of their most recent catalogued firearm. Null when none records one.

  • object[]

    Categories they build in, most first.

  • string

    Slug of the category.

  • string

    Display name, as the maker writes it.

  • integer

    How many of their firearms are in it.

  • object

    The single cartridge most of their catalog chambers. Null where none of their firearms records a caliber.

  • string

    Slug of the cartridge.

  • string

    Display name, as the maker writes it.

  • integer

    How many of their firearms chamber it.

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

Requires Builder tier or higher.

Average values only include firearms where the relevant field is populated.

Active/discontinued status is derived from the status field on each firearm.

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.