Webhooks
Receive signed POST callbacks the moment a job completes, fails, or crosses a quota threshold. Configure per-key or globally from the dashboard.
Webhooks for direct integration, Zapier and Make for no-code automation, the TypeScript SDK for typed control, and custom S3 for data ownership. Connect once, receive everywhere.
Receive signed POST callbacks the moment a job completes, fails, or crosses a quota threshold. Configure per-key or globally from the dashboard.
Trigger screenshot jobs from any app without writing a line of backend code. Notion, Airtable, Slack, Google Sheets, and 5,000+ others connect in minutes.
Route every capture to your own AWS, Cloudflare R2, or Backblaze B2 bucket. You own the bucket policy, the retention rules, and the data.
Install the official SDK for typed captures, built-in polling helpers, HMAC webhook verification, team management, billing access, and structured error handling.
Every delivery carries the job ID, event type, signed screenshot URLs, and capture metadata in a consistent JSON envelope. No guessing at the shape.
1{
2 "event": "screenshot.completed",
3 "jobId": "job_web_7a91",
4 "createdAt": "2026-06-02T10:30:00Z",
5 "screenshots": [
6 {
7 "url": "https://cdn.screenshotfreeapi.com/signed/job_web_7a91.png",
8 "format": "png",
9 "width": 1440,
10 "height": 900
11 }
12 ],
13 "metadata": {
14 "pageTitle": "Pricing · Stripe",
15 "aiSelectorUsed": true,
16 "processingMs": 3820,
17 "captureUrl": "https://stripe.com/pricing"
18 }
19}The official client libraries wrap captures, polling, webhook verification, billing access, and typed error handling. Install and start in under a minute.
1// Install: npm install @screenshotfreeapi/sdk
2
3import { ScreenshotFreeClient } from "@screenshotfreeapi/sdk";
4
5const client = new ScreenshotFreeClient({
6 apiKey: process.env.SCREENSHOTFREEAPI_KEY,
7});
8
9// Capture a page and wait for the result
10const result = await client.screenshots.webAndWait({
11 url: "https://stripe.com/pricing",
12 description: "the pricing comparison table",
13 format: "png",
14 dimensions: { width: 1440, height: 900 },
15 webhookUrl: "https://your-app.com/hooks/screenshot",
16});
17
18console.log(result.screenshots[0].url);
19// → https://cdn.screenshotfreeapi.com/signed/job_web_7a91.pngBuild no-code screenshot workflows with Zapier or Make. Trigger captures from form submissions, CRM events, schedule timers, or any external app — no backend required.
Start with 100 free screenshots. Upgrade when your workflow demands more.