Unfortunately we have to enforce rate limits on data.sparkfun.com in order to prevent service outages. Most users won’t hit the rate limit during normal use, but it is something you should be aware of if your device needs to send a lot of logging requests in a short period of time.
15 Minute Windows
Limits are divided into 15 minute intervals on data.sparkfun.com. You are currently limited to making 100 log requests every 15 minutes. You can make those requests in bursts, or spread them out over the entire window.
HTTP Headers and Response Codes
The server will respond with HTTP rate limit headers for every logging request you make. These HTTP headers are contextual, so they only indicate the rate limit for the current stream. You will have separate rate limits for each stream you create on data.sparkfun.com.
X-Rate-Limit-Limit- The rate limit ceiling for that given request
X-Rate-Limit-Remaining- The number of requests left for the 15 minute window
X-Rate-Limit-Reset- The remaining window before the rate limit resets in UTC epoch seconds
Example Standard response:
HTTP/1.1 200 OK Content-Type: text/plain X-Rate-Limit-Limit: 100 X-Rate-Limit-Remaining: 99 X-Rate-Limit-Reset: 1403798400 Date: Thu, 26 Jun 2014 15:45:03 GMT Transfer-Encoding: chunked 1 success
When you exceed the rate limit for a given stream, data.sparkfun.com
will return a
HTTP 429 Too Many Requests response code, along with an error message.
Example Over the limit response:
HTTP/1.1 429 Too Many Requests Content-Type: text/plain X-Rate-Limit-Limit: 100 X-Rate-Limit-Remaining: 0 X-Rate-Limit-Reset: 1403798130 Date: Thu, 26 Jun 2014 15:41:30 GMT Transfer-Encoding: chunked 0 rate limit exceeded. try again in 840 seconds.