VRAMNeeded Calculator

VRAMNeeded API (free tier, live)

Live since Nov 4, 2026. The same fit rule and the same shared calc module as the calculator, as JSON, for Discord bots, scripts and docs. No key needed. Optional free keys are available too.

Free tier: 100 calls per day per connection (hashed IP, never stored raw), attribution required: link to vramneeded.com wherever you show the numbers. Over the limit you get HTTP 429 with retry-after. Responses include x-ratelimit-limit / x-ratelimit-remaining headers.

Every response carries catalog_version (also in the x-catalog-version header), checked_at, sources (where relevant), an attribution field and an x-attribution header. Responses are cached up to 5 minutes. Numbers are estimates; see Methodology and the changelog.

Endpoints

Endpoint What it returns
GET /api/v1/check?m=llama-3-1-8b&q=q4&c=8192&g=rtx-4060 Does this model at this precision and context fit this GPU? fits, weights_gb, kv_cache_gb, total_gb, headroom_gb, plus best_fit (highest precision that fits). Use gb=24 instead of g= for any memory size.
GET /api/v1/fits?g=rtx-3090&c=8192 Every model that fits, best precision first (status ok or warn = tight).
GET /api/v1/models Model catalog: byte sizes per precision, KV bytes per token, fixed KV, max context, page link.
GET /api/v1/gpus GPU and Mac catalog: id, name, memory GB, unified-memory flag.

Rule: weights + FP16 KV cache ≤ 90% of memory = fits; 4-bit between 90% and 100% = tight. Full rule: Methodology.

Example (no key)

curl "https://vramneeded.com/api/v1/check?m=llama-3-1-8b&q=q4&c=8192&g=rtx-4060"

This keeps working. You never need a key to use the free tier.

Optional API keys

A key is free and optional. It does not raise the limit: a keyed call gets the same 100 calls per day, counted per key instead of per connection. That helps when your script runs from changing IPs (CI, serverless) or shares an IP with other people (office, school, VPN). Attribution is still required.

1. Create a key (no sign-up, no email, no payment):

curl -X POST "https://vramneeded.com/api/v1/keys"

The response contains key (it starts with vnk_). It is shown once. We store only a one-way SHA-256 hash of it, so we cannot show it again or recover it. If you lose it, create a new one. Key creation limited to 2/day and 5/month per hashed IP (per connection).

2. Send it as a Bearer token:

curl -H "Authorization: Bearer vnk_YOUR_KEY" \
  "https://vramneeded.com/api/v1/check?m=llama-3-1-8b&q=q4&c=8192&g=rtx-4060"

Keyed responses carry x-vn-auth: key and the usual x-ratelimit-limit / x-ratelimit-remaining headers. An unknown, malformed or revoked key gets HTTP 401; remove the header to fall back to the no-key tier.

3. Revoke a key you no longer want (or think has leaked):

curl -X DELETE -H "Authorization: Bearer vnk_YOUR_KEY" "https://vramneeded.com/api/v1/keys"

Revoke with DELETE /api/v1/keys using the same key as Bearer token — revokes that key only.

Keep your key secret: use it from servers and scripts, not in public web pages or repos. You are responsible for calls made with your key. See the API terms and how we handle key hashes.

Rate limits at a glance

Limit Counted by
No key 100 calls per day one-way hash of your IP (never stored raw)
With a key 100 calls per day the key's hash
Creating keys 2 per day, 5 per month one-way hash of your IP

Over a limit you get HTTP 429 with retry-after. Limits reset daily (UTC).

What this API is (and isn't)

This is VRAMNeeded's own fit and catalog API: memory estimates and catalog data we publish on this site. It does not run, proxy or resell chat models or any third-party AI API.

Need more?

Need higher limits, a data feed or commercial use without attribution? See licensing. Licensing is by enquiry only for now.

Last checked: