Rate Limits

The Samsara APIs have rate limits in place to protect our services from API traffic spikes that could put our servers at risk. If you exceed any of the rate limits described below, Samsara will respond with a 429 error code.

Global Rate Limits

These rate limit ceilings that apply to all API endpoints. Some API endpoints have more restrictive rate limits. See Per API Rate Limits below for more details.

  • Per token
    • Each API access token may make 150 API requests per second
  • Per organization
    • Each organization may make 200 API requests per second

In other words, a single API token may only make 150 requests per second. An organization may have multiple API tokens, but an organization may only make 200 requests per second total.

Per API Rate Limits

These rate limits apply to specific endpoints. For each endpoint below, your organization is restricted to the limit, regardless of API token. If an endpoint is not listed here, then it uses the global rate limit described above.

EndpointRequests per second
GET /fleet/drivers/efficiency50
GET /fleet/drivers/tachograph-files/history50
GET /fleet/equipment/stats150
GET /fleet/equipment/stats/feed150
GET /fleet/equipment/stats/history150
GET /fleet/hos/logs5
GET /fleet/vehicles/tachograph-files/history150
GET /v1/fleet/dispatch/routes50
POST /v1/fleet/dispatch/routes50
GET /v1/fleet/dispatch/routes/job_updates50
POST /v1/fleet/drivers/:driverId/dispatch/routes50
GET /v1/fleet/drivers/:driverId/safety/score5
GET /v1/fleet/drivers/inactive75
GET /v1/fleet/drivers/summary75
GET /v1/fleet/hos_logs_summary30
GET /v1/fleet/messages75
GET /v1/fleet/trailers/assignments100
GET /v1/fleet/trailers/:trailerId/assignments100
POST /v1/fleet/vehicles/:vehicleId/dispatch/routes50
GET /v1/fleet/vehicles/:vehicleId/safety/score5
GET /v1/sensors/history100

Handling Rate Limits

When an application hits a rate limit, the API will return an API response with a HTTP status code of 429 Too Many Requests.

The response will include the following header:

Retry-AfterSuggested time to wait before retrying (in seconds). Example: 0.40235

You should use the Retry-After header in order to appropriately back-off the endpoint so that you do not get rate-limited again.

Did this page help you?