Upscrape 2.0 is here. Live platform data for agents, apps, and workflows. Upscrape 2.0 is here. REST API and MCP, one connection. Explore capabilities

Universal Web Scraper scraper API

Universal browser-first page capture and schema-first extraction.

Web & maps 3 capabilities stable 100.0% success rate

Capabilities

Every capability is one POST /execute call that returns structured JSON.

Archive Page

web.page.archive

Archive one public webpage into durable offline artifacts for saved-page collections. Returns best-effort self-contained HTML and ZIP snapshots with CSS/images/fonts/media/scripts rewritten or packed, plus optional PDF when a Chrome/Chromium backend is configured.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"formats":["single_html","zip"],"include_scripts":false,"url":"https://example.com/"},"capability":"web.page.archive"}'

Input

Field Type Required Description
formats array<string> optional Archive artifact formats to return. single_html is a self-contained HTML snapshot, zip contains index.html plus local assets, and pdf requires a configured Chrome/Chromium backend. If a requested single_html artifact is too large for the worker-result budget and zip was not requested, the module may return a zip fallback.
include_scripts boolean optional Preserve external and inline scripts. Defaults to false because archived arbitrary JavaScript should only be replayed in a sandboxed viewer.
max_asset_bytes integer optional Requested maximum bytes to download for a single CSS/image/font/script/media asset. The module may clamp this lower to keep the worker result under platform size limits.
max_total_asset_bytes integer optional Requested maximum bytes to download across all archived assets. The module may clamp this lower to keep the worker result under platform size limits.
url string required Public http(s) URL to archive.

Capture Page

web.page.capture

Capture one public webpage as a browser-rendered, domain-neutral artifact graph: DOM, text, elements, URLs, links, images, media, resources, structured data, forms, tables, and frames.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"url":"https://example.com/"},"capability":"web.page.capture"}'

Input

Field Type Required Description
detail string optional How much of the artifact graph to return. summary: metadata, counts, and warnings. standard: everything except raw HTML and the per-element dump. full: the complete graph.
url string required Public http(s) URL to capture.

Extract Page

web.page.extract

Capture one public webpage and return data shaped by a caller-provided JSON Schema or fields shorthand. Deterministic extraction (metadata, evidence graph, filtered URL enumeration) runs first; internal AI resolves remaining fields per the ai mode (never/auto/always), grounded to captured page content.

Request

curl -X POST https://data.upscrape.com/execute \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input":{"ai":"never","fields":{"canonical_url":"canonical url of the page","description":"short page description","title":"page title"},"url":"https://example.com/"},"capability":"web.page.extract"}'

Input

Field Type Required Description
ai string optional Extraction mode. never: deterministic only. auto: deterministic first, internal AI only for unresolved fields (degrades gracefully when AI is unavailable). always: deterministic plus AI. Defaults to auto when fields is used, otherwise never.
ai_enabled boolean optional Deprecated alias for ai: always. Prefer the ai parameter.
fields object optional Shorthand alternative to output_schema: field name mapped to a natural-language description of what to extract. Compiled into a schema internally. Provide exactly one of output_schema or fields.
instructions string optional Optional extraction guidance. Do not include secrets.
output_schema object optional JSON Schema object describing the desired data shape. Property descriptions double as per-field extraction hints. Constraints such as items.pattern filter deterministic URL enumeration. Provide exactly one of output_schema or fields.
url string required Public http(s) URL to extract from.

Run Universal Web Scraper in under a minute

Sign in, create an API key, and try any capability in the playground before you write code.

Get an API key