Updated October 5, 2026
Credits and limits
What a call costs, how to see it, and what happens at the limits.
What a call costs
A call costs its type times the dataset class. A lookup of one company's KPIs is 1 x 2 = 2 credits; the CPI board is 1 x 1 = 1.
/v1/datasets/cost prices a described call without running it, with no key and no account:
curl "https://api.gloom.sh/v1/datasets/cost?endpoint=awards.detail&id=1111111111111111111111111111111111111111"Headers
X-Credits-Cost: credits this call spent.X-Credits-Remaining: credits left in the current period.X-Plan: the account's plan.X-Request-Id: quote it when you write to us.Retry-After: seconds to wait, on 429 and 503.
Your balance
Two routes read the key's account and cost nothing:
GET https://api.gloom.sh/v1/datasets/account: plan, status, the current period, credits included, used and remaining, and the plan's limits.GET https://api.gloom.sh/v1/datasets/usage: the same balance, plus the period's requests, credits, rows and errors by dataset.
When a call is charged
- Credits come with a plan, each period. An account without a plan has none, and its keys get
402 plan_required. - Credits are spent once the key, plan and parameters check out, before the data is read.
- Bad parameters (400) and refused calls (401, 402, 403, 429) cost nothing.
- A server error (503) refunds the call;
X-Credits-Costshows what was finally charged. - A 404 for an award or filing that does not exist keeps its charge.
Rate limits
Each plan has a budget per minute, counted in credits: a 10-credit call uses 10 of it. Over the budget, calls get 429 rate_limited with Retry-After.
At the credit limit
When a period's credits run out, calls get 429 credits_exhausted until the next period; Retry-After counts the seconds. Unused credits do not carry over.
Point in time
Every plan reads with asOf.
Cost by route
- Route
/v1/macro/cpi- Type
lookup
- Class
x1
- Credits
1
- Route
/v1/energy/inventories- Type
lookup
- Class
x1
- Credits
1
- Route
/v1/cftc/cot- Type
lookup
- Class
x1
- Credits
1
- Route
/v1/cftc/cot/contracts/{contractCode}- Type
history
- Class
x1
- Credits
2
- Route
/v1/awards- Type
search
- Class
x2
- Credits
4
- Route
/v1/awards/{id}- Type
evidence
- Class
x2
- Credits
10
- Route
/v1/kpis/{symbol}- Type
lookup
- Class
x2
- Credits
2, 4 with
fromorto
- Route
/v1/guidance/{symbol}- Type
lookup
- Class
x2
- Credits
2, 4 with
fromorto
- Route
/v1/exec-pay/{symbol}- Type
lookup
- Class
x2
- Credits
2
- Route
/v1/exec-pay/{symbol}/{year}- Type
evidence
- Class
x2
- Credits
10
- Route
/v1/events/{symbol}- Type
search
- Class
x1
- Credits
2
| Route | Type | Class | Credits |
|---|---|---|---|
| lookup | x1 | 1 |
| lookup | x1 | 1 |
| lookup | x1 | 1 |
| history | x1 | 2 |
| search | x2 | 4 |
| evidence | x2 | 10 |
| lookup | x2 | 2, 4 with |
| lookup | x2 | 2, 4 with |
| lookup | x2 | 2 |
| evidence | x2 | 10 |
| search | x1 | 2 |
Limits by plan
- Plan
Basic
- Keys
5
- Credits a month
150,000
- Credits a minute
300
- Plan
Desk
- Keys
20
- Credits a month
1,000,000
- Credits a minute
1,200
- Plan
Enterprise
- Keys
by contract
- Credits a month
by contract
- Credits a minute
by contract
| Plan | Keys | Credits a month | Credits a minute |
|---|---|---|---|
Basic | 5 | 150,000 | 300 |
Desk | 20 | 1,000,000 | 1,200 |
Enterprise | by contract | by contract | by contract |
Until its contract sets them, an Enterprise account holds up to 100 keys at 6,000 credits a minute each.
Without a plan an account holds no keys and no credits, and any key it still has gets 402 plan_required.