Skip to main content

Rate limits

Every operation has a rate class. A class sets one or two limits, and each limit counts your organisation's requests to that operation, whichever credential sends them. The marketplace catalogue, which needs no credential, counts per client IP instead.

ClassLimitsUsed by
read100 per second and 360,000 per hourreads
write50 per second and 36,000 per hourcreates, updates and actions
telemetry10 per second and 180,000 per hourpositions, tracks and fuel levels
command20 per second and 360,000 per hourdevice commands
bulk100 per hourfuel statement imports
report1,000 per dayreport runs, a schedule run now
credentials10 per minuteAPI key rotation and revocation, personal access tokens, webhook secret rotation
public100 per second and 360,000 per hour, per client IPthe marketplace catalogue

The figures are the gateway's configuration, the same that Developer Studio shows. There are no per-key or per-plan limits. A sandbox is its own organisation, so its traffic counts apart from yours.

Over a limit​

The gateway answers 429 with {"error_msg": "rate limit exceeded"}. Each response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset: wait until the reset before retrying, and spread steady work below the per-second limit.

Don't poll​

  • For geofence entries, alerts, stop completions, fuel flags and maintenance, subscribe to webhooks instead of listing.
  • For positions, GET /v1/positions/latest returns many devices in one call.