Searching is treated a little differently for rate limiting. Normal rate limits do not apply, rather there is a separate rate limit for search. We do not make this limit public to discourage abuse, but we feel that it is adequate for most apps.

How can I tell if I’m being rate limited?

We’ll return a couple headers with each API request to let you know how you’re doing:

  • X-RateLimit-Limit: The total number of requests you are currently allowed to make before your rate limit resets.
  • X-RateLimit-Remaining: The number of remaining requests you can make before you are rate limited.
  • X-RateLimit-Reset: A Unix timestamp detailing when the rate limit will reset.

How can I avoid getting rate limited?

If you follow these simple suggestions you’ll greatly reduce the possibility of getting rate limited.

Optimize your API responses

Unoptimized API responses have very low rate limits. To increase this limit, make sure you are using our json filter.

Caching

Store API responses locally, especially if you expect a lot of traffic. In general, don’t call the API on every page load. Instead, call the API independently and load from cache on each page load.

Scraping

Don’t make a bunch of calls all at the same time. Spread them out over a longer period so it doesn’t look like you’re scraping.

What happens if I get rate limited a lot?

If you’re continually getting rate limited, we may block your app or IP. For repeat offenders, we may block your other apps as well, and disallow you from creating new apps.

If you’ve been blocked when you shouldn’t have, or it was the result of a bug in your code that has since been fixed, contact us with the following information:

  1. Your app’s consumer key.
  2. Explain why you think your app was blocked.
  3. Describe in detail how you fixed the problem that you think was the reason for the block.
Send Feedback