Scout in development · launch 1 Dec 2026. Try it live · docs

Website Inspection API

Getscreenshotsas API.

Scout opens pages in a real browser and returns raw data: screenshots, DOM extracts, a11y facts, and journeys. No SEO scores — just reproducible evidence.

Real browser execution Structured raw outputs OpenAPI-first
https://example.com/pricing
desktop · 1280×720
mobile

POST /v1/screenshot/json · live

Call it your way

HTTP, TypeScript SDK, or CLI — same API underneath.

TypeScript SDK

Typed Node.js client for screenshots, asserts, journeys, and jobs.

@macrocontent/scout
Install
pnpm add @macrocontent/scout
Example
import { Scout } from '@macrocontent/scout'

const scout = new Scout({ apiKey: process.env.SCOUT_API_KEY! })
await scout.screenshot({ url: 'https://example.com', mode: 'viewport' })
SDK docs

CLI

Terminal client for scripts and CI — built on the SDK.

@macrocontent/scout-cli
Install
pnpm add -g @macrocontent/scout-cli
Screenshot
scout screenshot https://example.com -o shot.jpg
Assert
scout assert https://example.com/pricing \
  --rule '#buy|visible' \
  --rule '.price|contains:29'
CLI docs

One API, three jobs

Capture evidence, verify expectations, then automate and monitor.

Capture and extract

Pull screenshots, DOM, and raw browser state from a real page load.

POST /v1/screenshot

Screenshot API

Capture viewport or full-page images as visual evidence for QA and monitoring.

Use when: When you need a visual artifact attached to a CI run, alert, or regression review.

example.com/pricingshots[2]
desktop
mobile
jpeg · 1280×720 + 390×844base64 ✓
Learn more
POST /v1/extract

DOM Extraction

Structured extracts from a real browser — returned as JSON for pipelines.

Use when: When agents or scripts need page content as data, not as a rendered image.

DOM
h1 → title
a.primary → cta
.plan → count
data
{
"title": "Pricing",
"cta_href":
"/signup",
"plans": 3
}
Learn more
POST /v1/extract

XHR Capture

Record matching XHR and fetch bodies from a real page load — pricing APIs, carts, search.

Use when: When the data you need lives in network JSON, not in the rendered DOM.

captured_xhr[1]fetch
GET /api/pricing
{ "amount": 2990 }
capture_xhr: */api/pricing*
Learn more
POST /v1/extract

Adaptive Selectors

Relocate CSS selectors when markup drifts; generate paths; collect similar card lists.

Use when: When monitoring a live page whose classes or list markup change between deploys.

selector_relocationsrelocated
from a.btn-primary
to a.checkout-cta#buy
adaptive + match_text: Buy
Learn more
POST /v1/extract

HTTP Fetch Mode

Load a static document without JavaScript — cheaper and faster when you do not need a full browser.

Use when: When the HTML is already in the first response and you do not need client-rendered DOM.

fetch_modehttp
JavaScript disabled
2 credits · static document
Learn more
POST /v1/checks/*

Browser Facts API

Retrieve raw cookies, console, network, JSON-LD, and metadata.

Use when: When you need browser state and telemetry — not a pass/fail rule.

networkcookiesjson-ldconsole
42
2xx
3
3xx
1
4xx
0
5xx
json_ld.types: ["Product", "Offer"] · top_slowest: true
Learn more

Test and verify

Run focused checks, multi-rule assertions, accessibility, and performance.

Automate and monitor

Multi-step journeys, scheduled jobs, and crawl-driven URL discovery.

Self-hosted

Run Scout in your infrastructure

Inspect private applications, internal environments, and sensitive workflows with annual licensing and no usage credits.

  • Private networks, staging, and intranet — without cloud egress of page content.
  • Same API surface as cloud — license by workers, not per-request credits.
  • Docs: self-hosted install

Ready for real browser evidence?

Public keys open on 1 December 2026. Until then, try Scout live and read the docs.