Help Center

API rate limits and errors

The REST API allows 600 requests per hour for each app, and it reports problems with standard HTTP status codes and a JSON error body. This article lists the limits and what each error means.

Rate limit

```json

{

"error": {

"code": "rate_limit_exceeded",

"message": "API rate limit exceeded. Try again later."

}

}

```

Wait before retrying, and spread large jobs out. Listing 100 records per request is far cheaper than fetching records one at a time.

The MCP server has its own, separate allowance of 300 requests per hour. See Connect Claude or another AI tool to your app.

Error format

Errors look like this:

```json

{

"error": {

"message": "data table 'custmers' not found",

"code": "not_found"

}

}

```

Status codes

Troubleshooting

"Missing authentication." The X-API-Key header is not being sent. Check for a typo in the header name and make sure your HTTP client is not dropping it on a redirect.

"Invalid API key." The key is wrong or has been revoked. Open Tools, choose Data & API and check the key's status on the API Keys tab.

"Missing required scope." The key works but lacks a permission. Scopes are set when a key is created, so create a new key with the scopes you need.

A plan message with 403. The API is included on the Business plan and above.

404 for a table you can see in the app. The URL uses the table's slug, which can differ from the name shown on screen. Call GET /api/v1/custom to list the slugs. Also check that the key was created in the same app as the table.

Other limits

Retry safely

Retry 429, 500 and 503 responses after a pause, and wait longer after each attempt. Do not retry 400, 401, 403 or 404. They will fail the same way until the request or the key is fixed.