API Reference

Base URL: https://screenshothub.dev

All authenticated endpoints require Authorization: Bearer sk_live_... header.

POST/api/screenshotCore

Take a single screenshot. Returns PNG or PDF bytes.

Request Body

{
  "url": "https://example.com",   // required
  "width": 1280,                  // optional, default 1280
  "height": 800,                  // optional, default 800
  "fullPage": false,              // optional, default false
  "format": "png"                 // optional: "png" | "pdf"
}

Response

image/png bytes

Auth

Bearer token
GET/api/snapEmbed

Embeddable image URL — use directly in <img> tags, Markdown, Notion, email.

Query Parameters

?url=https://example.com
&key=sk_live_...
&w=1280        // optional width
&h=800         // optional height
&full=1        // optional full page
&ttl=3600      // optional cache TTL in seconds

Response

image/png (cached)

Auth

key= query param
POST/api/bulkStarter+

Screenshot up to 20 URLs in a single call. Returns base64 images in JSON.

Request Body

{
  "urls": [
    "https://example.com",
    "https://github.com"
  ],
  "options": {            // optional, applies to all
    "width": 1280,
    "fullPage": false
  }
}

Response

{
  "results": [
    { "url": "...", "status": "success", "image": "<base64>" },
    { "url": "...", "status": "error",   "error": "..." }
  ],
  "meta": { "total": 2, "success": 2, "failed": 0, "remaining": 4998 }
}

Auth

Bearer token
POST/api/ogAll plans

Generate 1200×630 Open Graph images. Use our template or bring your own HTML.

Request Body

// Template mode (all plans)
{
  "title": "How we hit $10k MRR",
  "description": "A founder story",
  "eyebrow": "Case Study",
  "logo": "YourBrand",
  "badge": "5 min read",
  "background": "#0a0a0f",
  "accent": "#6366f1"
}

// Custom HTML mode (Starter+)
{
  "template": "<html>...your HTML...</html>"
}

Response

image/png (1200×630)

Auth

Bearer token

Error Codes

StatusMeaning
200Success
400Bad request — missing or invalid parameters
401Unauthorized — missing or invalid API key
403Forbidden — feature requires a higher plan
422Screenshot failed — invalid URL, timeout, or render error
429Rate limited — monthly usage limit reached, upgrade to continue
500Internal server error