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.