JIEZO API Authentication
The public JIEZO API is unauthenticated. There is no API key to request, no token to rotate, and no account to create. Send the request and it is served. Access is shaped by per-IP rate limits rather than credentials.
No credentials required
Do not send an Authorization header. It is ignored. A complete request looks like this:
curl -X POST https://kimte.com/api/screenshot \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'Rate limits
| Endpoint | Limit | Notes |
|---|---|---|
| POST /api/screenshot | 20 requests per minute per IP | Returns 429 with Retry-After and X-RateLimit-* headers. |
| POST /api/export | Unmetered | Bounded by request body size and server processing time. |
| GET /api/tweet/{id} | Unmetered | Bounded by the upstream syndication API. |
| GET /api/image-proxy | Unmetered | Restricted to an allowlist of Twitter media hosts. |
Handling 429
When the limit is exceeded the response carries Retry-After in seconds alongside X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset. Wait for Retry-After before retrying.
{
"error": "Rate limit exceeded. Please try again later.",
"code": "rate_limited",
"message": "Rate limit exceeded. Please try again later.",
"hint": "Wait 42 seconds, then retry. This endpoint allows 20 requests per minute per IP address.",
"status": 429,
"documentation": "https://kimte.com/docs#errors",
"retryAfter": 42
}Credentialed maintenance endpoints
A small number of cache-maintenance endpoints require a shared secret held by the maintainers. They are not part of the public API surface and are deliberately absent from the OpenAPI specification.
Next steps
Read the full API documentation, browse the developer portal, or fetch the OpenAPI 3.1 specification.