GunSpec

Firearms

Browse, search, compare, and retrieve detailed specifications for over 9,000+ firearms including variants.

Auth RequiredBuilder+

Returns the scalable line-art silhouette for a firearm, sized to its real-world dimensions.

GET/v1/firearms/{id}/silhouette

  • stringheaderrequired

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

  • stringrequired

    Resource slug ID

    Accepts
    a lowercase slug: letters, digits and hyphens
    Example

  • stringdefaultraw

    An SVG file (raw; svg is accepted as the same thing, the name SDK 0.1.x used), an inline data URI, or the SVG source as JSON

    Accepts
    Example
  • integerdefault0

    Inject a stroke so the line art reads on any background. 0 leaves it unstroked; anything above 20 is clamped to 20

    Range
    0 – 20
    Example
  • stringdefaultblack

    Colour of that stroke. Any CSS colour the browser understands: a name, a hex value, rgb(), oklch(), color-mix(). Quotes, angle brackets, ampersands and backslashes are refused, because the value is written into an SVG attribute

    Max length
    64
    Example

  • object

    The response payload.

  • string

    Slug of the firearm.

  • string

    Display name, as the maker writes it.

  • string

    Slug of the line-art file, which is the firearm slug.

  • string

    Which JSON form this is: datauri or svg.

  • string

    Media type of the bytes, e.g. image/png.

  • string

    Present when format=datauri: the SVG inlined as an RFC 2397 data URI.

  • string

    Present when format=json: the SVG source, for parsing or manipulating in code.

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

Three formats: raw returns the SVG file directly, datauri returns a JSON-wrapped base64 data URI, json returns the SVG XML as a JSON string.

datauri is ideal for embedding: drop the value straight into <img src="">, CSS background-image: url(...), or Unity/Godot sprite loaders.

json is ideal for DOM injection (innerHTML = data.svg) or programmatic SVG manipulation (changing colors, extracting paths).

SVGs are high-quality vector illustrations that scale to any resolution without quality loss.

Silhouettes cover 2,500+ firearms including all major platforms.

stroke_width adds an outline stroke to every SVG path at the requested width (1-20px at native SVG resolution). Use values of 4-8 for small HUD icons and inventory thumbnails where thin lines would otherwise disappear. Omit for full-size renders.

stroke_color defaults to black. Set to white for dark backgrounds (e.g. game HUDs). URL-encode hex values: %23ff0000 for #ff0000.

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.