{"__v":2,"_id":"568fe01b21fcf0190071d8fb","category":{"__v":8,"_id":"54343531bfaa3d0800c4d4b0","pages":["54349c225b10711400c6c539","54349c905b10711400c6c53b","54370bea4e799808006da391","54370fa726469424002a6e19","5480aad4e952bb1a006b320c","5638d6c12fc5520d001a4cc9","568fe01b21fcf0190071d8fb"],"project":"54343170fa5527080064f449","version":"54343531bfaa3d0800c4d4af","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2014-10-07T18:31:12.137Z","from_sync":false,"order":0,"slug":"documentation","title":"Documentation"},"parentDoc":null,"project":"54343170fa5527080064f449","user":"54bd5e07b336d20c00dbd211","version":{"__v":27,"_id":"54343531bfaa3d0800c4d4af","forked_from":"54343170fa5527080064f44c","project":"54343170fa5527080064f449","createdAt":"2014-10-07T18:47:13.086Z","releaseDate":"2014-10-07T18:47:13.086Z","categories":["54343531bfaa3d0800c4d4b0","543435b1edce040800409240","543435b9edce040800409241","543435bcedce040800409243","543435bfedce040800409244","543435c2edce040800409245","54370cc426469424002a6dfa","54370cf026469424002a6dfd","5437129d26469424002a6e2f","543712d226469424002a6e30","5480c8fd74904f1a00053c86","54aafc6eefb39016009e4d71","54ac1d36de18cc1400226e01","54ad59369219922100751732","54b41bcf4f25cb1600518d2c","54b533a3a806f40c0050d53c","54b54bbf96fe3c0b00d38d2a","54b688a27379a90c00f53a8a","54b699efbc1a46160005edfa","54b8191691011f0b00068804","54bfb002d03bfc0d0000e814","54bfb33ed03bfc0d0000e816","55a3e94e912a6e2300882cdb","55a56c370f354f0d00fd02a8","55e85ad034516037002e9325","5638ecb62fc5520d001a4cf9","572cba2fc310640e008f63d5"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"3.0.0","version":"3.0"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-01-08T16:13:15.255Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":7,"body":"Rate limiting is used to control the flow of requests coming into the MediaSilo API. This allows for a consistent experience for all users, and prevents any run-away scripts or attacks from abusing the system.\n\nRate limits are measured on a per-user basis, within a 1 hour window. Our default is 10,000 requests per hour--however, this may vary depending on your account type and use of the system. A user can make up to 10,000 requests with in 1 hour. Once the user passes this limit, they will not be able to make any requests until the rate limit resets.\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"HTTP Headers and Response Codes\"\n}\n[/block]\nEvery request to the MediaSilo API returns HTTP headers that contain rate limit information. You can use the information in these headers to determine your account's hourly rate limit, requests remaining this hour, and when the limit will be reset.\n\nThe following headers are returned with all MediaSilo API requests:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"X-RateLimit-Reset: 1452270749\\nX-RateLimit-Limit: 10000\\nX-RateLimit-Remaining: 4578\",\n      \"language\": \"http\"\n    }\n  ]\n}\n[/block]\n\n[block:api-header]\n{\n  \"type\": \"basic\",\n  \"title\": \"Exceeding the Rate Limit\"\n}\n[/block]\nOnce a user reaches the rate limit, that user will no longer be able to make requests until the date/time noted in the X-RateLimit-Reset header. If a user attempts to make a request after the rate limit is exceeded, the response will be a HTTP status code 420.","excerpt":"A discussion of rate limits with the MediaSilo API and how to handle them in your code","slug":"rate-limit","type":"basic","title":"Rate Limit"}

Rate Limit

A discussion of rate limits with the MediaSilo API and how to handle them in your code

Rate limiting is used to control the flow of requests coming into the MediaSilo API. This allows for a consistent experience for all users, and prevents any run-away scripts or attacks from abusing the system. Rate limits are measured on a per-user basis, within a 1 hour window. Our default is 10,000 requests per hour--however, this may vary depending on your account type and use of the system. A user can make up to 10,000 requests with in 1 hour. Once the user passes this limit, they will not be able to make any requests until the rate limit resets. [block:api-header] { "type": "basic", "title": "HTTP Headers and Response Codes" } [/block] Every request to the MediaSilo API returns HTTP headers that contain rate limit information. You can use the information in these headers to determine your account's hourly rate limit, requests remaining this hour, and when the limit will be reset. The following headers are returned with all MediaSilo API requests: [block:code] { "codes": [ { "code": "X-RateLimit-Reset: 1452270749\nX-RateLimit-Limit: 10000\nX-RateLimit-Remaining: 4578", "language": "http" } ] } [/block] [block:api-header] { "type": "basic", "title": "Exceeding the Rate Limit" } [/block] Once a user reaches the rate limit, that user will no longer be able to make requests until the date/time noted in the X-RateLimit-Reset header. If a user attempts to make a request after the rate limit is exceeded, the response will be a HTTP status code 420.