Dashboard API - Too Many Requests

Solved
jens_netgraph
Conversationalist

Dashboard API - Too Many Requests

Hi,

We have a Use Case where we want to present a "Connected Client List" for a given network but we are running into som issues.

This is how we do it:

  1. Call the /networks/{networkId}/devices API to get a list of Devices
    1. For Each Device call the /devices/{deviceSerial}/clients?timespan=300 API to get the connected Clients
  2. Summarize the Client List and present it to the customer.

For testing we are using the Sandbox environment and the NetworkId: L_646829496481087790

If we run 1) & 1.1) in sequence everything works but it takes too long. But once we thread the calls we start getting:
- HTTP.Status: 429 Too Many Requests

- HTTP.Status: 403 Forbidden

 

What is the "concurrent request limit" for calling the Dashhboard API in general and the /devices/{deviceSerial}/clients API specifically?

Are the limits the same for "productions accounts", i.e not sandboxed.

 

Is there a better way of finding all connected Clients for a network?

 

regards Jens, Netgraph

 

1 Accepted Solution
AlexG
Getting noticed

It's 5 calls/second and it's buried in this article here. I've had to add a couple 'Start-Sleep -m 600' to my loops in my PowerShell scripts. It certainly increases run time, but what can ya do.

View solution in original post

3 Replies 3
AlexG
Getting noticed

It's 5 calls/second and it's buried in this article here. I've had to add a couple 'Start-Sleep -m 600' to my loops in my PowerShell scripts. It certainly increases run time, but what can ya do.

Thanks!
Since I use Java I implemented a throttle mechanism using Spring AOP & Google Guava Library following this guide:
https://www.javacodegeeks.com/2015/07/throttle-methods-with-spring-aop-and-guava-rate-limiter.html
Setting the limit to a maximum of 4 calls/second seems to work for about 97% of my calls!

Setting the limit to a maximum of 3 calls/second seems to work for about 100% of my calls!
Thanks again!

/Jens

MartinS
Getting noticed

The Meraki documentation (kindly linked by AlexG) states the following:

 

Note: Call volume is limited to 5 calls per second (per organization)

 

Does anyone know how an API key assoicated with an MSP level user (that being a user that has access to multiple Orgs) is rate limited? Is the rate limiting done at API Key level, or is the rate limiting smarter than that and gives you 5 calls per second per org you're quiering with the shared API Key? ie at: GET https://api.meraki.com/api/v0/organizations/<org_id>/...

 

---
Product Director
Highlight - Service Assurance Platform
www.highlight.net
Get notified when there are additional replies to this discussion.
Welcome to the Meraki Community!
To start contributing, simply sign in with your Cisco account. If you don't yet have a Cisco account, you can sign up.