Docs
Documentation
One Bearer key, three render endpoints. First request renders in real Chromium and caches the bytes; repeats come from cache.
Quickstart
1. Get a key. Sign in with Google at astraeatech.dev, then mint a key on your profile (up to 10, revocable anytime).
2. Make a request.
curl -H "Authorization: Bearer $PROOFITO_KEY" \ "https://api-staging.astraeatech.dev/proofito/v1/screenshot?url=https://example.com&width=1200&format=png" \ -o shot.png
3. Check usage. GET /v1/usage?days=30 (window 1–365 days, default 30) reports your key's metered totals, per-endpoint daily series, and quota position — and is never metered itself. Stale renders can be purged one at a time with DELETE /v1/cache?key=… (also unmetered).
Guides
GET + POST /v1/screenshot — URL or inline HTML, retina scale, selector/clip, request blocking.GET + POST /v1/pdf — URL or inline HTML, paper size, per-side margins, headers/footers.GET /v1/og — sized PNG/JPEG images from a title or a URL, with layouts and branding.API reference
The full machine-readable surface is published as OpenAPI 3.0 JSON — import it into RapidAPI, Postman, or any OpenAPI tooling to explore every parameter, default, and error code.
Authentication
Every /v1/* endpoint takes Authorization: Bearer sk_live_… (only /healthz and /openapi.json are public). A missing or revoked key returns 401 invalid_api_key with a JSON error body.
Quotas and errors
Free allows 1,000 metered requests per month; Pro allows 50,000. Past the quota the API returns HTTP 429 until the monthly reset — see pricing. Error responses share one JSON envelope: {"error": {"code": "…", "message": "…"}}.
Comparisons
Evaluating render APIs? proofito vs ScreenshotOne · proofito vs urlbox