Every call to the Navexa API is metered. Go over the limit and the call is refused with 429 Too Many Requests. Nothing is created, changed or deleted when that happens, so a 429 is always safe to retry.There is one limit and no more: your account's.
Your account#
Everything you send, whichever key and whichever portfolio.The limit is a rate for your plan, multiplied by how many portfolios you hold — more portfolios mean more work to do.| Plan | Per hour, per portfolio you hold |
|---|
| Standard | 220 |
| Premium | 660 |
Hold no portfolio and you are counted as holding one.| Portfolios | Standard per hour | Standard per day | Premium per hour | Premium per day |
|---|
| 1 | 220 | 5,280 | 660 | 15,840 |
| 3 | 660 | 15,840 | 1,980 | 47,520 |
| 5 | 1,100 | 26,400 | 3,300 | 79,200 |
| 10 | 2,200 | 52,800 | 6,600 | 158,400 |
| 25 | 5,500 | 132,000 | 16,500 | 396,000 |
Two API keys on the same account share this limit. They do not get one each.No portfolio has a limit of its own. Depth on one portfolio and breadth across many count the same, and reading somebody else's portfolio never spends their allowance.
Burst and per hour#
Burst is the most you may send back to back, and it is the same figure as per hour.
It refills continuously at the per hour rate and never goes above the burst. So a burst
followed by a quiet period is never refused, and per day is what the limit serves in
24 hours if you pace yourself.
When you are refused#
HTTP/1.1 429 Too Many Requests
Retry-After: 30
X-RateLimit-Limit: 660
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 1755561600
{
"error": "rate_limit_exceeded",
"message": "Rate limit exceeded.",
"limit": 660,
"retryAfterSeconds": 30
}
Retry-After is whole seconds until you may send again. Wait that long and retry. If you are refused again, double the wait and add a little randomness so a fleet of workers does not return in lockstep.Retry-After is only sent on the 429, so send your work and handle the refusal when it arrives rather than trying to stay just under the limit.
These numbers can change. Treat the 429 and Retry-After as the contract, not the tables. Modified at 2026-08-21 05:15:53