Why am I being rate limited?
Your API plan will have a rate limit. Please see our pricing matrix for the individual rate limitations.
To get our data we combine information from hundreds of public websites, social networks, APIs and trusted partners and users of our service. Some of these networks have their own rate limits that we have to manage to provide you back a response. To make sure that we provide the most complete, up to date, and accurate information for all of our users we have to rate limit on the number of queries per second.
If you are using the Company API, it has the same limit as the Person API endpoint but is counted separately.
Higher rate limits are available. Please contact our Sales team: firstname.lastname@example.org
While coding for rate limits we recommend using a rate limit header to maximize throughput in our system.
We return three headers that look like this:
Reset is the number of seconds until you can begin hitting the API again. Remaining is your calls remaining of the Limit in the 1-minute period.
We've had a lot of success having a single agent querying us and using the headers to dynamically adjust rates. We've also had success with multiple agents sharing this rate by synchronizing the state of these headers in memcached. Generally, we've used them to calculate sleeps on the querying thread(s). While not preferred, you can also make a many calls as quickly as you need up to this per-minute limit, so if it's easier to instead do 20 calls every 2 seconds, that's works.
These headers are only accurate for single query (e.g. GET /v2/person.json...) vs. the batch endpoint.
Also note, these rate limits apply for all response codes, 200, 202, 404.