Overview
Marble API uses rate limiting to ensure fair usage and API stability. Rate limits are enforced per workspace using a sliding window approach.Most applications will not hit these limits during normal use, but you should still build in defensive handling for rate limit responses.
Rate limit tiers
There are two rate limit tiers, depending on whether the request is associated with a workspace.1. Workspace-scoped requests
All requests to workspace routes are rate limited per workspace:- Limit: 200 requests per 10 seconds
- Applies to: All routes under
/v1/:workspaceKey/*GET /v1/:workspaceKey/postsGET /v1/:workspaceKey/post/:slugGET /v1/:workspaceKey/categoriesGET /v1/:workspaceKey/tagsGET /v1/:workspaceKey/authors
429 Too Many Requests responses.
2. Non-workspace requests (fallback)
For requests that are not associated with a workspace, a more conservative limit applies:- Limit: 10 requests per 10 seconds
Rate limit response headers
When rate limiting is active, responses include standard headers that let you understand how many requests you have remaining in the current window.The maximum number of requests allowed in the current window.
The number of requests remaining in the current window before you hit the limit.
Unix timestamp (in seconds) when the current rate limit window resets.
When you exceed the limit
If you exceed the allowed number of requests in the current window, the API returns a429 Too Many Requests error.