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.