Type-safe firearms API in every stack.
First-party clients for TypeScript and Python. Plus a typed REST surface for everywhere a curl call can run.

TypeScript SDK
First-party Hono RPC client. Node 18+, Bun, Deno, browsers, Cloudflare Workers. 12 kB gzip.

Python SDK
Sync and async clients. Python 3.9 through 3.13. Pydantic models out of the box.

REST surface
Anywhere a curl call runs. The SDKs wrap this; the wire format stays simple.

Typed end to end
Hono RPC inference reaches into your code. No JSON casting. The compiler catches caliber typos before staging.

Quiet retries
Exponential backoff on 429 and 5xx with jitter. You write the call once. The SDK handles the rest.

Edge ready
Drops into Cloudflare Workers, Deno, Bun, browsers, Node 18+. Zero Node-only deps. 12 kB gzip.
Install
One command. Live in minutes.
npm install @buun_group/gunspec-sdkpip install gunspeccurl https://api.gunspec.io/v1/firearms/glock-17 -H "Authorization: Bearer $GUNSPEC_KEY"Five lines to production
Same shape. Two languages. Pick the one your team ships in.
import { GunSpec } from '@buun_group/gunspec-sdk'
const client = new GunSpec({ apiKey: process.env.GUNSPEC_KEY })
const glock = await client.firearms.get('glock-17')
glock.specs // typed end to endCompatibility
Where the SDKs run.
- Node.js 18+Shipping
- Bun 1.0+Shipping
- Deno 1.40+Shipping
- Cloudflare WorkersShipping
- Vercel EdgeShipping
- Browsers (Chrome 110+, Safari 16+, Firefox 115+)Shipping
- Python 3.9+Shipping
- Python 3.13Shipping


