Free during beta

Hard budget limitsfor any LLM.

Set a monthly or daily spend cap per feature. Spillr emails you at 80% and blocks new requests at 100% — across OpenAI, Anthropic, and Google Gemini, from one dashboard.

OpenAI · Anthropic · Google Gemini · No prompt storage

import OpenAI from 'openai';

// Route through Spillr to enforce budget limits.
const client = new OpenAI({
  baseURL: 'https://proxy.spillr.io/v1',
  defaultHeaders: {
    'X-Spillr-Key':     process.env.SPILLR_KEY,
    'X-Spillr-Feature': 'email-digest',
  },
});

// When this feature hits its budget, Spillr returns 429
// before the request reaches OpenAI — no runaway spend.
const res = await client.chat.completions.create({
  model: 'gpt-4.1-nano',
  messages: [{ role: 'user', content: prompt }],
});

How budgets work

From uncontrolled spend to hard guardrails in three steps.

01

Tag your features

Add X-Spillr-Feature to your LLM requests. Each label becomes a tracked cost centre in the dashboard.

02

Set a budget

Create a budget for any feature — daily or monthly, with an alert threshold and a hard stop. No code changes required.

03

Spillr enforces it

When spending hits your alert threshold, you get an email. When it hits the limit, requests are blocked with a 429 before reaching the provider.

Why it matters

LLM costs can spiral overnight. A budget doesn't have to.

A prompt that worked fine in testing can cost 100× more in production when real users send unexpected inputs. Without a hard stop, a single runaway feature can blow the month's API budget before you even see the alert. Spillr blocks the request at the proxy — your provider invoice stops at your limit.

🛑

Hard stops

Requests are blocked at the proxy — no tokens consumed, no unexpected charges.

📬

Email alerts

Get notified at your chosen threshold — before the limit, not after the invoice.

🌐

Cross-provider

One budget can cover OpenAI, Anthropic, and Google Gemini calls under the same feature label.

⚙️

Dashboard control

Adjust any budget from the UI instantly — no redeploy, no config changes.

FAQ

Common questions about LLM budget management.

What exactly happens when a budget limit is reached?

Spillr intercepts the request before forwarding it to the LLM provider and returns a 429 Too Many Requests response with a JSON body describing which budget was exceeded. The LLM provider never receives the request, so no tokens are consumed and no cost is added to your bill.

Can I set different budgets per feature?

Yes. Each feature label gets its own budget. You might give email-summary a $20/month limit, give chat a $5/month limit, and leave onboarding unlimited — all from the same dashboard.

When do budget alert emails trigger?

You set the alert threshold when creating a budget — for example, 80% of the limit. Spillr sends one email when spending crosses that threshold and another when the hard limit is reached. Alerts are deduplicated so you only get notified once per period.

Does budget management work across multiple LLM providers?

Yes. A budget can apply to any requests tagged with a feature, regardless of whether they go to OpenAI, Anthropic, or Google Gemini. All costs are normalised to USD and counted against the same limit.

Can I adjust or raise a budget limit without redeploying?

Yes. Budget limits are changed in the Spillr dashboard and take effect immediately — no code changes, no redeploys. You can raise, lower, or delete a budget at any time.

Is there a daily budget option as well as monthly?

Yes. You can set budgets on a daily or monthly period. Daily budgets reset at midnight UTC; monthly budgets reset on the 1st of each calendar month.

Stop runaway AI spend in 2 minutes.

Set your first budget. Get an alert. Sleep soundly.

Create free account →