Skip to main content
The Matter API enforces per-user rate limits to ensure fair usage and protect the service.

Limits

Save requests have a lower limit because each save triggers background content extraction (fetching, parsing, and processing the URL). Markdown requests count against both the read and markdown limits because these responses are significantly larger and more expensive to serve. Limits are applied per API token (i.e., per user account).

Rate limit headers

Every response includes headers showing your current quota:

Handling 429 responses

When you exceed the limit, the API returns 429 Too Many Requests with a Retry-After header:
Do not retry immediately or in a tight loop. Always respect the Retry-After value. Clients that ignore rate limits may have their tokens temporarily suspended.

Best practices

The updated_since parameter on list endpoints dramatically reduces the number of requests needed to stay in sync. Fetch everything once, then sync only changes.
Set limit=100 (the maximum) to reduce the number of requests needed to paginate through results.
Store items locally and only refetch when needed. The updated_at field tells you if an item has changed.
If you’re tagging many items, space your requests rather than firing them all at once.