Usage and limits
How the monthly record count works, what happens when you pass your plan, and the rate limits on keys and addresses.
A project has one plan figure and several rate limits. The plan figure is a soft limit: consent is always recorded. A rate limit can refuse a request for a short time.
Monthly records#
Monthly consent records in your plan, in Project settings, holds the number of records your plan includes each month. Leave it empty for Unlimited, the default.
The count covers live records created in the calendar month, in UTC. It covers every property in the project. Test records do not count.
The Overview shows the count under Usage this month, below the charts, with an estimate for the end of the month. It shows on every dashboard, whatever charts it holds.
What happens at the limit#
Nothing is blocked. Over the limit, consent is still recorded. A choice that was refused would leave your site without evidence.
The usage.threshold_reached webhook is sent at 80% of the limit, and again at 100%. Each is sent once a month. The check runs every hour. If both levels are passed within the same hour, one message is sent, for 100%.
Past the limit, Usage this month on the Overview adds Over the plan limit. Consent is still recorded.
An example#
Your plan includes 100,000 records a month. On 21 October the project reaches 80,000 live records for the month. Within the hour, your endpoint receives usage.threshold_reached with threshold set to 80.
At 100,000 records it receives a second message, with threshold set to 100. The next record is stored like any other.
Rate limits#
| Limit | Default | Applies to |
|---|---|---|
| Per key | 600 requests a minute for a test key, 6,000 for a live key | All calls with that key |
| Per key and address, browser writes | 60 a minute | Writes made with a publishable key |
| Per secret key, calls on a person | 60 a minute | Find, export, withdraw, erase and link |
| Per address, sites and servers | 3,000 requests a minute | Every call from your sites, apps and servers |
| Per address, console | 300 requests a minute | Every call the console makes |
| Per address, hosted request form | 5 an hour for each project | Rights requests filed on the hosted page |
A key's limit is shared by every visitor who uses the key. You can set your own limit when you create a key, from 60 requests a minute upwards. A key on the default limit moves to 6,000 when it goes live.
A request over a limit gets a 429 answer. For API calls it carries a Retry-After header, which says how many seconds to wait. The hosted request form shows a message instead.
Limits#
- The plan figure is a number you type. It does not change what the service records.
- The usage alert is a webhook only. Without an endpoint that receives
usage.threshold_reached, nobody is told. - The people who run your deployment can change the default rate limits.