Track API spend across providers in one place
What each provider actually exposes over its API, how to put balances, daily spend and plan quotas on one ledger, and where you'll have to estimate.
What each provider gives you
This is the part nobody tells you up front. Click through for the endpoint, auth and response fields.
| Provider | Billing signal |
|---|---|
| Anthropic | API exposes daily spend, per-model cost |
| Apify | API exposes balance, plan |
| Apollo.io | API exposes balance |
| Bright Data | API exposes balance |
| Coresignal | API exposes balance |
| Crunchbase | no billing API; Argus derives cost from pricing |
| Crustdata | API exposes balance, plan |
| DeepSeek | API exposes balance |
| Exa | no billing API; cost is reported on every response |
| Firecrawl | API exposes balance, plan |
| Google Gemini | no billing API; Argus derives cost from pricing |
| Google Places | no billing API; Argus derives cost from pricing |
| HubSpot Breeze | no billing API; Argus derives cost from pricing |
| Hunter.io | API exposes balance, plan |
| Instantly | API exposes balance, plan |
| LeadMagic | API exposes balance |
| MillionVerifier | API exposes balance |
| OpenAI | API exposes daily spend, per-project cost, plan |
| OpenRouter | API exposes balance, plan |
| Parallel | no billing API; Argus derives cost from pricing |
| People Data Labs | API exposes balance |
| Perplexity | no billing API; cost is reported on every response |
| Postmark | no billing API; Argus derives cost from pricing |
| Prospeo | API exposes balance |
| SecurityTrails | API exposes balance, plan |
| SendGrid | API exposes plan |
| Tavily | API exposes balance, plan |
| WhoisXML API | API exposes balance |
Build the ledger
- 1List every metered API you call
Grep for hostnames (
api.openai.com,openrouter.ai,api.firecrawl.dev) and for*_API_KEYin env files. Include crons, backfill scripts and eval harnesses. They're where forgotten spend lives. - 2Pick a source per provider
- Spend series (OpenAI, Anthropic): daily cost buckets with an admin key. Authoritative, but a day behind.
- Balance or quota (OpenRouter, DeepSeek, Firecrawl, Hunter, Apollo…): poll it hourly and treat each drop as spend.
- Cost on the response (OpenRouter, Perplexity, Exa): sum it per call. Exact and immediate.
- Nothing (Gemini, Parallel, Google Places, Postmark…): count calls and units yourself and price them.
- 3Normalize to one daily ledger
One row per provider per UTC day. Keep the native unit next to USD, because Firecrawl credits, Hunter searches and SecurityTrails queries aren't dollars.
day provider source spend_usd balance unit 2026-10-16 openai costs api 31.18 — usd 2026-10-16 anthropic cost report 18.35 — usd 2026-10-16 openrouter balance delta 7.09 96.72 usd 2026-10-16 firecrawl balance delta 1.21 1742 credits 2026-10-16 perplexity sum of usage.cost 0.84 — usd
- 4Derive the numbers you act on
Month-to-date spend, a linear month-end projection, burn per day over the last seven days, and days to zero for anything prepaid. See estimating runway for the burn-rate details that trip people up.
Where it goes wrong
- Top-ups read as negative spend if you diff a balance naively. Count only decreases.
- Daily buckets lag. Today's OpenAI and Anthropic numbers are partial until the day closes in UTC.
- Billing on a match: People Data Labs, LeadMagic and Prospeo don't charge for misses, so call counts overstate spend.
- Different exhaustion errors (402, 429, 400, even 401) mean a dry balance can look like a bad key. The full list.
Or let Argus keep it
Argus is this ledger, already built: it polls each provider hourly, accepts per-call events from the SDK, and serves the result to you on one dashboard and to your coding agent over MCP. If you'd rather run it yourself, here's what the DIY version takes.
Questions
- Is there one API that returns spend for every provider?
- No. Each provider meters differently: some expose a balance, two expose a spend series, some put the cost on every response, and some expose nothing. A cross-provider view means combining all four kinds of source.
- How do I track providers that have no billing API?
- Capture each call at your app's egress and price it: tokens times the model rate for LLMs, or the endpoint's per-request or per-record price for everything else.
Related
OpenAI, Anthropic and OpenRouter consoles are authoritative and free. Where they're enough, and where checking ten of them stops working.
Polling balance endpoints yourself is a weekend project. Here's the honest list of what it takes and what you end up maintaining.
Connect a provider key, point Claude Code or Cursor at the Argus MCP server, and ask what the last run cost.