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.

There's no single billing API to call. Poll each provider's own endpoint where it has one (a balance, a daily cost report or a plan quota), capture cost or units on each response where it doesn't, and write both into one daily ledger in USD. Of 28 common metered APIs, only OpenAI and Anthropic give you a spend history; the rest give a balance, a quota, per-call cost, or nothing.

What each provider gives you

This is the part nobody tells you up front. Click through for the endpoint, auth and response fields.

ProviderBilling signal
AnthropicAPI exposes daily spend, per-model cost
ApifyAPI exposes balance, plan
Apollo.ioAPI exposes balance
Bright DataAPI exposes balance
CoresignalAPI exposes balance
Crunchbaseno billing API; Argus derives cost from pricing
CrustdataAPI exposes balance, plan
DeepSeekAPI exposes balance
Exano billing API; cost is reported on every response
FirecrawlAPI exposes balance, plan
Google Geminino billing API; Argus derives cost from pricing
Google Placesno billing API; Argus derives cost from pricing
HubSpot Breezeno billing API; Argus derives cost from pricing
Hunter.ioAPI exposes balance, plan
InstantlyAPI exposes balance, plan
LeadMagicAPI exposes balance
MillionVerifierAPI exposes balance
OpenAIAPI exposes daily spend, per-project cost, plan
OpenRouterAPI exposes balance, plan
Parallelno billing API; Argus derives cost from pricing
People Data LabsAPI exposes balance
Perplexityno billing API; cost is reported on every response
Postmarkno billing API; Argus derives cost from pricing
ProspeoAPI exposes balance
SecurityTrailsAPI exposes balance, plan
SendGridAPI exposes plan
TavilyAPI exposes balance, plan
WhoisXML APIAPI exposes balance

Build the ledger

  1. 1
    List every metered API you call

    Grep for hostnames (api.openai.com, openrouter.ai, api.firecrawl.dev) and for *_API_KEY in env files. Include crons, backfill scripts and eval harnesses. They're where forgotten spend lives.

  2. 2
    Pick 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.
  3. 3
    Normalize 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
  4. 4
    Derive 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

Let your coding agent watch the meter.

Connect a provider key, point Claude Code or Cursor at the Argus MCP server, and ask what the last run cost.