API · V1

The eval layer for AI-built UIs.

POST a URL or a raw image, get attention metrics back in seconds. Generate ten variants, score them all, ship the winner — no browser, no SDK, one endpoint.

YOUR API KEY

Sign in to reveal your key — every account has one, including Free.

Sign in free

Each analyze call consumes 1 analysis credit — same pool as the app (Free 10/mo · Pro 300/mo · Agency unlimited).

POST/api/v1/analyze

Provide exactly one of `url` (captured server-side, above the fold at 1280×900) or `image_b64` (your own render, max 10MB — the path for generated UIs that aren't hosted yet). Add `include_heatmap: true` to get the composite back.

SCORE A LIVE URL

curl -X POST https://heatpoints.com/api/v1/analyze \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"url": "yoursite.com"}'

SCORE A GENERATED UI (IMAGE)

curl -X POST https://heatpoints.com/api/v1/analyze \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image_b64": "'$(base64 -i generated-ui.png)'", "include_heatmap": true}'

RESPONSE

{
  "score": 34,
  "metrics": {
    "attention": 34,
    "focus_clarity": 61,
    "coverage": 18,
    "hierarchy": 47,
    "primary_zone": "Top-center"
  },
  "source": { "type": "url", "url": "https://yoursite.com" },
  "credits": { "used": 3, "limit": 300 },
  "heatmap_jpeg_b64": "..."   // if include_heatmap
}

GET /api/v1/me

Plan and remaining credits for the calling key.

ERRORS

401 invalid key · 403 quota reached · 422 bad input · 502 capture failed

What people build with it

  • Generate N landing variants with your AI builder, score them all, deploy the best one — automatically.
  • A CI step that fails the build when a PR drops the page's attention score.
  • Batch-audit every template in your library and rank them by hierarchy score.

GitHub Action, Zapier and Slack integrations are on the roadmap — they all sit on this endpoint.