Paid plans are built from units. Each unit adds the same block of quota and capacity, and you can add or remove units at any time from your dashboard.
What a unit includes
Limits scale with units: 10 units give you 10 times the per-unit column. The one exception is the per-visitor CORS rate, a fixed anti-abuse cap that stays the same however many units you have.
| Limit | Free | Paid, per unit | Example: 10 units |
|---|---|---|---|
| API lookups per month | 6,000 | 5,000,000 | 50,000,000 |
| CORS lookups per month | 1,000 | 1,000,000 | 10,000,000 |
| Requests per minute | 100 | 1,000 | 10,000 |
| New connections per minute | 10 | 100 | 1,000 |
| Concurrent connections | 2 | 8 | 80 |
| CORS domains | 1 | 3 | 30 |
| CORS requests per minute, per visitor IP | 10 | 60 (fixed) | 60 (fixed) |
| Max lookups per API request | 16 (fixed) | 16 (fixed) | 16 (fixed) |
Quota periods
- Free plan: quotas reset on the 1st of every month, 00:00 UTC.
- Paid plans: quotas reset monthly on the day you subscribed. Subscribe on the 14th, and your quota resets on the 14th of every month.
- Only successful lookups count. Rejected requests (
401,403,413,429) and batch items that fail are not counted. - API and CORS quotas are separate. Using up one never blocks the other.
Your usage for the current period is shown at the top of your dashboard.
When you run out of quota
Requests for that call type are rejected with 403 over quota until the next period starts or you add units. We email you the first time it happens in each period. Quota status is updated every minute.
Seeing rate limit errors? Add units
You don't have to run out of quota to need more units. If you regularly see 429 responses, you're hitting the per-minute limits, and each unit raises those too.
global-request-rate-exceeded: your traffic has outgrown your request rate. Add units.bearer-concurrent-connections-exceeded: you need more parallel connections. Add units.bearer-connection-rate-exceeded: check first that your client reuses connections (see the API docs examples). If it already does, add units.
cors-per-ip-request-rate-exceeded is different: one visitor's browser is calling too often. That limit is fixed, so adding units won't raise it. Call the API once per page load or session and reuse the result.
Adding units
- Add units any time from Manage subscription in your dashboard.
- The new limits apply right away, to the current period too. The extra quota is available within a minute.
- You're charged for the added units right away, prorated for what's left of the current period. From the next period, you pay the full price for your new number of units.
Removing units
- Remove units any time from Manage subscription in your dashboard. The minimum is 1 unit.
- The lower limits apply right away, to the current period too. If you've already used more than the new quota this period, requests are rejected with
403 over quotauntil the next period starts. - The unused part of the removed units is credited right away, prorated for what's left of the current period.
- You can't remove units while you have more active CORS domains than the new number of units allows. Revoke domains first.
- Unit changes aren't possible while a cancellation is pending.