Error Reference

REST API rate limit exceeded: 429 Too Many Requests

REST API rate limit exceeded: 429 Too Many Requests

Where this appears

This error appears in the ServiceNow System Log (System Diagnostics > Log > Application Log) or ECC queue when outbound REST integrations exceed external API provider rate limits. It commonly occurs during bulk data synchronizations, scheduled imports, or high-frequency polling operations using REST Message records or scripted REST calls.

Sourdough
Chrome Extension

Debugging this in a real instance?

Sourdough lets you trace "REST API rate limit exceeded: 429 Too Many Requests" through system logs, script errors, and API health in the ServiceNow tab you are already using.

Add to Chrome

Free to install. Pro $5/month after a 14-day no-card trial.
Pro requires the ServiceNow admin role. Upgrade inside the extension.

Overview
Tasks
CMDB
API
Metrics
Monitor
Internals
Instance:sourdoughdev·Version:Yokohama
Instance StateONLINE
System StatusFully Operational
Session Timeout90 minutes
Logged-In Sessions2 (20 active)
Build Nameyokohama-12-18-2024_p1
IP Address10.159.128.43
Instance HealthHealth Score: 90%
🔥 5dSourdough (Chrome Plugin)Dark Mode

Cause

Business rules, scheduled jobs, or import sets making too many concurrent REST calls without rate limiting controls, overwhelming the external API's request threshold. (high likelihood)

Multiple ServiceNow instances or users simultaneously calling the same external API endpoint, collectively exceeding the provider's rate limit quota. (high likelihood)

Scheduled jobs running too frequently or processing large datasets without implementing proper batching and delay mechanisms between API calls. (medium likelihood)

External API provider has reduced rate limits or changed their throttling policies without notification, causing previously working integrations to fail. (medium likelihood)

REST Message configurations lacking proper error handling and retry logic, causing failed requests to be retried immediately without exponential backoff. (low likelihood)

Fix

Step 1: Check the System Log at System Diagnostics > Log > Application Log and filter by 'REST' to identify which specific REST Message or script is triggering the rate limit errors.

Step 2: Navigate to System Web Services > Outbound > REST Message and locate the failing REST Message record to review its configuration and recent execution history.

Step 3: Implement exponential backoff in your REST call scripts by adding retry logic with increasing delays between failed requests using gs.sleep() or setTimeout functions.

Step 4: Modify scheduled jobs or business rules to process data in smaller batches and add delays between API calls using gs.sleep() to respect the external provider's rate limits.

Step 5: Consider implementing asynchronous processing by moving REST calls to scheduled script executions or using the Event Management API to queue requests instead of real-time processing.

Step 6: Contact the external API provider to understand their current rate limits, request increases if necessary, or negotiate dedicated API keys with higher quotas for enterprise integrations.

Step 7: Implement caching mechanisms in your integration scripts to reduce redundant API calls by storing frequently accessed data in ServiceNow tables with appropriate refresh intervals.

Step 8: Monitor the integration performance using System Diagnostics > Stats > REST API Statistics to track request volumes and identify patterns that might trigger rate limiting.

Test Your Knowledge

Quick 3-question quiz. See how your ServiceNow skills stack up.

Question 1 of 3Performance

A list view on a table with millions of records is slow. Best fix?

Select an answer to continue