Crawler / Screenshot

Capture page screenshots for visual proof.

Use the screenshot API when structured text is not enough. AnyCrawler opens a public URL in the browser path, captures a stored PNG artifact, and returns the image URL, request status, storage metadata, and credit fields your workflow can audit.

Visual evidence

Turn a URL into a reviewable image artifact

Screenshots are useful when humans need to verify what an agent saw: pricing pages, onboarding flows, compliance pages, visual regressions, or dynamic pages where the rendered state matters as much as the extracted text.

Browser capture path Stored image URL Traceable storage metadata Traceable request fields

curl

Capture a page

curl -X POST "https://api.anycrawler.com/v1/crawl/screenshot" \
  -H "Authorization: Bearer $ANYCRAWLER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/pricing",
    "full_page": true
  }'

Send the target URL to the screenshot endpoint and store the returned image URL with your audit record.

How it works

Open, capture, store, return evidence

The gateway handles request validation, account checks, browser routing, image storage, and credit settlement.

1

Submit the target URL

Send a POST request with the page URL. Optional fields control capture length, user-agent behavior, and consistent image framing.

2

AnyCrawler opens the browser path

The gateway validates your API key, checks credits and browser concurrency, and routes the public URL through the screenshot worker.

3

The image is stored

The captured PNG is written to storage and returned as a stable screenshot result payload for review and downstream workflows.

4

You get traceable fields

The response includes final URL, status, credits_used, storage fields, and request headers for production debugging.

Use cases

Where screenshots add value beyond text extraction

Use screenshot capture when a person, report, or compliance workflow needs to inspect what the page looked like.

Use

Compliance evidence

Attach page captures to reviews of pricing, policies, claims, disclosures, or consent pages when an audit trail needs visual context.

Use

Support and escalation records

Store what a customer-facing page looked like when an agent opened a ticket, escalated an issue, or generated a report.

Use

Visual QA for crawl workflows

Pair screenshots with fetch or render output to confirm that extracted text matches the page state a human would inspect.

Response

Stored screenshot output

{
  "ok": true,
  "requested_url": "https://example.com/pricing",
  "final_url": "https://example.com/pricing",
  "status_code": 200,
  "credits_used": 50,
  "results": {
    "snapshot_url": "https://cdn.anycrawler.com/screenshots/example-pricing.png",
    "snapshot_key": "screenshots/acct_123/example-pricing.png",
    "snapshot_bytes": 184320,
    "snapshot_image_type": "png",
    "storage_ms": 42
  }
}

Screenshot responses focus on storage fields and traceability rather than text extraction.

What you get

A visual record your systems can attach

The screenshot response is built for auditability. Store the image URL with the related crawl result, support case, compliance check, or model decision so a person can inspect the page state later.

  • Stored PNG URL for human review
  • Final URL and status code for traceability
  • Storage key, byte size, and image type for operational records
  • Credit fields for cost control

Request fields

Keep capture requests simple

The stable public contract focuses on the fields below. Undocumented passthrough fields are not part of new integrations.

Field Type Required Notes
url string Yes The public page URL to capture.
full_page boolean No Defaults to true. Full-page captures use 50 credits; false uses 20 credits.
user_agent string or null No Optional paid-plan override for the outbound user agent.
aspect_ratio "16:9", "9:16", "1:1", or "4:3" No Optional paid-plan framing control for teams that need a consistent visual artifact.

Response fields

Fields your integration can rely on

AnyCrawler strips internal worker timing fields and returns the screenshot storage payload your workflow needs.

Field Meaning
ok Whether the gateway completed the screenshot request successfully.
requested_url The URL submitted in the request.
final_url The final URL after redirects and browser navigation.
status_code HTTP status code returned by the target page.
credits_used Credits settled for the request.
results.snapshot_url Stored image URL for review, audit trails, or downstream workflows.
results.snapshot_key Storage identifier for support and internal traceability.
results.snapshot_bytes Size of the stored screenshot artifact in bytes.
results.snapshot_image_type Image type returned by the screenshot worker.
results.storage_ms Storage timing returned for operational diagnostics.

JavaScript

Attach the image URL

const response = await fetch("https://api.anycrawler.com/v1/crawl/screenshot", {
  method: "POST",
  headers: {
    "authorization": `Bearer ${process.env.ANYCRAWLER_API_KEY}`,
    "content-type": "application/json",
  },
  body: JSON.stringify({
    url: "https://example.com/pricing",
    full_page: true,
  }),
});

const data = await response.json();
console.log(data.results?.snapshot_url);

Store snapshot_url next to the crawl, ticket, report, or model decision that needs visual proof.

Screenshot vs crawl

Use screenshots for evidence. Use crawl for text.

Screenshots preserve how a page looked for a person. Fetch and render return Markdown and structured fields for machines. Production agents often use both: one request for text context, one request for visual proof.

API Best for Returns
screenshot Visual audits, compliance proof, support records, UI review Stored image fields
render JavaScript-loaded content that needs browser execution Markdown and rendered page fields
fetch Fast, low-cost reads when useful content is already in HTML Markdown and page fields

Errors

Status codes are explicit enough for production handling

Use response status plus error_code and request headers to route retries, credit issues, authentication problems, and browser concurrency limits.

200 Screenshot captured and stored.
400 Invalid JSON or unsupported request field value.
401 Missing, invalid, or revoked API key.
402 Account does not have enough credits.
403 Account inactive or paid-plan-only field requested.
429 Rate limit or browser concurrency limit reached.
502 Upstream browser connection failed.
504 Target page or browser worker timed out.

Headers

Track every capture

Successful and error responses include gateway metadata headers such as x-request-id, x-credits-reserved, and x-credits-used. Store them when you need support or cost audits.

Pricing

Start free, scale with explicit credit rules

Screenshot requests use the published screenshot credit rule. The same AnyCrawler plans and browser concurrency limits apply here.

Free

$0/mo

For early validation with one-time credits, 30 fetch requests per minute, and 1 browser concurrency slot.

  • 10,000 one-time credits
  • $0 / cr
  • Fetch 30 req / min
  • Browser 1 concurrent

Agent Lite

$5/mo

For low-frequency AI agents and occasional automations that need 15,000 monthly credits.

  • 15,000 credits / mo
  • $0.000333 / cr
  • Fetch 60 req / min
  • Browser 2 concurrent
  • Low-frequency AI agent usage
  • Persistent top-ups available separately

Builder

$20/mo

For builders shipping serious crawler workflows with higher limits and better unit economics.

  • 80,000 credits / mo
  • $0.000250 / cr
  • Fetch 180 req / min
  • Browser 3 concurrent
  • Best upgrade after repeated Agent Lite usage

Growth

$80/mo

For teams scaling production scraping with better unit economics.

  • 960,000 credits / mo
  • $0.0000833 / cr
  • Fetch 480 req / min
  • Browser 8 concurrent

Scale

$200/mo

For high-volume pipelines with pricing aligned to large ongoing usage.

  • 3,000,000 credits / mo
  • $0.0000667 / cr
  • Fetch 1,200 req / min
  • Browser 20 concurrent

FAQ

Common screenshot API questions

Short answers for teams adding visual evidence to crawler workflows.

When should I use the screenshot API?

Use it when your workflow needs visual evidence: UI audits, compliance checks, pricing proof, before-and-after records, or human review alongside structured crawl output.

Does the screenshot API return page text?

No. Screenshot responses focus on the stored image and traceable request fields. Use fetch or render when you need Markdown, links, and metadata from the page.

How are screenshot requests charged?

Requests default to full_page=true and use 50 credits. Set full_page=false for a smaller capture that uses 20 credits.

How should I combine screenshots with crawl results?

Use render or fetch for machine-readable Markdown, then call screenshot when the same URL needs visual evidence for review, reporting, or audit trails.