Maximize Your Value

Riddle bills per second ($0.50/hr, 30s minimum). Pack more work into each job to drive down your per-action cost.

Cost Per Screenshot

MethodWhat It DoesPer Screenshot
Single URLOne URL, one PNG back~$0.004
Batch (3-6 URLs)Multiple URLs in one call~$0.0007-0.0014
Script (8-10 pages)Playwright navigates + screenshots in a loop~$0.0005-0.0007
Script + actionsNavigate, click, fill, screenshot — all in one job~$0.0006/action

The key insight: one 30-second job costs the same whether you take 1 screenshot or 10.

Simple: One Screenshot

curl -X POST "https://api.riddledc.com/v1/run" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://example.com", "sync": true}' \
  -o screenshot.png

# 30s minimum = ~$0.004 per screenshot

Optimized: Script Batching

Use a Playwright script to screenshot multiple pages in one job. Cost drops below $0.001 each.

const result = await fetch("https://api.riddledc.com/v1/run", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    script: `
      const pages = [
        "https://example.com",
        "https://example.com/pricing",
        "https://example.com/docs",
        "https://example.com/about",
        "https://example.com/blog"
      ];
      for (const url of pages) {
        await page.goto(url, {waitUntil: "domcontentloaded"});
        await saveScreenshot(url.split("/").pop() || "home");
      }
    `,
    include: ["screenshot"]
  })
}).then(r => r.json());

// 5 screenshots in ~25s = $0.004 total = $0.0008 each

Cost Tips

Batch everything

Group related screenshots into one job. 5 URLs in one call costs the same as 1.

Inject cookies

Skip login flows (10-30s each) by injecting session cookies. Go straight to authenticated content.

Assert before screenshotting

Check selectors and URLs in your script. Only screenshot at decision points to save on vision API costs.

Shrink images

Use smaller viewports, skip fullPage, or use JPEG for photo-heavy pages to reduce egress.

Start Optimizing

Create an account and experiment with batching to find your optimal workflow.