Ulinkly REST API rate limits
The public REST API advertises its current defensive quota on successful and error responses. The default is 6,000 requests per 60 seconds per client IP, per API instance. This is separate from plan usage and billing limits and is not a globally distributed entitlement counter. A request routed to another instance can observe a different remaining value; clients should still use the fields on each response to self-throttle in real time.
Ulinkly emits the structured fields defined by the current IETF RateLimit specification:
RateLimit-Policy: "public-api";q=6000;w=60
RateLimit: "public-api";r=5999;t=60
qis the quota allocated by the policy.wis the policy window in seconds.ris the quota currently remaining.tis the effective window remaining in seconds.
For compatibility with clients built against earlier versions of the RateLimit proposal, responses also include:
RateLimit-Limit: 6000
RateLimit-Remaining: 5999
RateLimit-Reset: 60
HTTP 429
When the quota is exhausted, the API returns 429 Too Many Requests, an RFC 9457 application/problem+json body, and Retry-After in delta seconds:
HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json
Retry-After: 37
RateLimit: "public-api";r=0;t=37
{
"type": "https://iana.org/assignments/http-problem-types#quota-exceeded",
"title": "Too Many Requests",
"status": 429,
"detail": "The public API request quota for this client has been exceeded.",
"code": "RATE_LIMIT_EXCEEDED",
"violated-policies": ["public-api"]
}
Agents should stop sending requests until Retry-After expires. Do not infer a reset timestamp from local clock time.