- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
API Query Limit
I have read that there is a rate limit of 10 QPS for each organization, and 100 QPS limit for each IP when using Meraki's API:
https://developer.cisco.com/meraki/api-v1/rate-limit/
Just wanted to clarify a few things:
I am trying to query a device's port status using this route: /devices/{serial}/switch/ports/statues
Assuming I have 50 devices within the organization, does this mean it takes me 5 seconds to query the port statuses of every device within the organisation?
Next, if I have 2 organisations, each with 50 devices, does that mean that it will still take me 5 seconds to query the port statuses of every device (assume that I query with concurrency)?
Wanted to clarify this as it is unclear to me what a query limit for each organization constitutes
Solved! Go to solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
On your timing questions, the answer to both is 'sort of'...
Queries/responses take a finite time, some queries may return multiple pages of data, each page counting as a query.
There's also the extra ten-query 'burst' allowed in the 'first second', in that situation you get sixty queries in five seconds. I don't recall seeing how the first second is determined, perhaps some period without a query resets the timing.
Personally, I don't worry about the rate limit, just follow the retry protocol for handling 429 status, one easy way to do this is to use the Meraki Python library.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
On your timing questions, the answer to both is 'sort of'...
Queries/responses take a finite time, some queries may return multiple pages of data, each page counting as a query.
There's also the extra ten-query 'burst' allowed in the 'first second', in that situation you get sixty queries in five seconds. I don't recall seeing how the first second is determined, perhaps some period without a query resets the timing.
Personally, I don't worry about the rate limit, just follow the retry protocol for handling 429 status, one easy way to do this is to use the Meraki Python library.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
what sungod said + avoid every "devices" calls. Most of the time there is a org-wide call to fetch statuses.
Eg: Avoid /devices/{serial}/switch/ports/statuses and use /organizations/{organizationId}/switch/ports/statuses/bySwitch
