NewIntroducing semantic snapshotsPair every capture with structured DOM data →

Blog

Guides and notes from the workbench

Longer than a changelog entry and more specific than a feature page: how the thing works, what it costs, and the reasoning behind the calls - written by the people who run the service.

guidesseomonitoring

Catch a noindex or canonical change on deploy

One API call returns the head tags a search engine reads - title, canonical, robots, hreflang, JSON-LD - so a bad deploy fails your build instead of quietly deindexing a page.

Read the post
guidesmcpagents

Give Claude, Cursor or any MCP client a real browser

Set up the domscout MCP server in Claude Code, Claude Desktop or Cursor so your assistant can read rendered pages as Markdown, take screenshots, extract fields and crawl a site, with a cost stated on every tool.

Read the post
guidesmonitoringwebhooks

Monitor a web page for changes and get a webhook

A cron job that diffs HTML alerts on every rotating ad and misses the change you cared about. How to watch a page's text, links, title and status code on a schedule, receive a signed webhook when something changes, and verify it in Node or Python.

Read the post
guidesmarkdownllm

How to convert a web page to Markdown for an LLM

Raw HTML spends a model's context on navigation, scripts and cookie banners. How to turn any URL into clean Markdown with one API call, when you can skip the browser, and how to tell when you should not have.

Read the post
guidesscreenshots

Website screenshot API: full page, mobile and PDF

Capture any URL as a PNG, JPEG, WebP or PDF from real Chromium with one POST request. Working curl, Node and Python examples, plus full-page captures, mobile viewports, single elements, hiding cookie banners, and what each option costs.

Read the post
securityengineering

Containing a Headless Browser's Network Access

Protect a headless browser service against SSRF with URL validation, redirect checks and network restrictions. Learn what a refused capture means for your API integration.

Read the post
engineeringjobs

Durable Crawl Jobs: When a Worker Dies Mid-Crawl

A crawl of nine hundred pages will be interrupted. How to design crawl and batch jobs that resume, report per-page results, and never lose work to a dead worker.

Read the post
engineeringextraction

Headless Browser vs Fetch: What Rendering Adds

A GET request and a rendered page are not two ways of getting the same thing. What falls in the gap, why it is widening, and which side of it your problem is on.

Read the post
productsemantic snapshots

Markdown or a DOM Snapshot: What Your Agent Needs

One API call returns clean Markdown for an LLM; a semantic DOM snapshot returns structured nodes an agent can act on. What each output is for, and how to choose.

Read the post
pricingbilling

What a Browser Capture Costs, and How We Price It

Browser requests use credits according to the work they perform. Check a request's cost, choose a plan, and bound spending before running a capture pipeline.

Read the post