Skip to documentation
Browse documentation

Extract page

Capture one public webpage or supported content URL and return data shaped by a caller-provided JSON Schema or fields shorthand. Deterministic extraction uses page metadata, the evidence graph, parsed files, and filtered URL enumeration first; internal AI resolves remaining fields per the ai mode.

Capability ID web.page.extract
Maximum runtime 120 seconds
View raw

POST /execute Shared execution endpoint

Input parameters

accept_statuses array<integer> optional
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.

Example never
Available values neverautoalways
ai_enabled boolean optional

Deprecated alias for ai: always. Prefer the ai parameter.

allow_browser_fallback boolean optional

Default: `false`.

allow_truncated boolean optional

Default: `false`.

document object optional

Optional document processing controls used before deterministic or AI field extraction.

document.chunk_chars integer optional

From 500 to 20000. Default: `4000`.

document.continuation_token string optional
document.ocr string optional

Allowed values: `auto`, `never`, `always`. Default: `auto`.

Available values autoneveralways
document.outputs array<string> optional

Requested document outputs. source returns the originally captured bytes: inline through 5.5 MB, otherwise through a hash-verified durable store, and fails if neither path can deliver them. When source is omitted, remote_source is provenance only and contains no bytes.

document.page_end integer optional

From 1 to 1000000.

document.page_start integer optional

From 1 to 1000000.

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.

Example {"heading":"main heading","title":"page title"}
instructions string optional

Optional extraction guidance. Do not include secrets.

max_body_bytes integer optional

From 1 to 104857600.

max_total_bytes integer optional

From 1 to 104857600.

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) webpage or supported content URL to extract from.

Example https://example.com/

Response

Successful output is returned in results[0].data. Raw platform output is intentionally open-ended and may evolve with the upstream source.

Illustrative sample The full redacted fixture is shown in the response panel.

Illustrative output fields

Derived from the sample above for orientation only. These observed fields are not a fixed response schema.

PathObserved typeExample
data object 2 fields
data.heading string Example Domain
data.title string Example Domain
evidence array 2 items
evidence array 2 items
extractor_version string web-extractor-2026-08-25-universal-v7
fields object 2 fields
fields.heading object 4 fields
fields.title object 4 fields
schema_valid boolean true
semantic_valid boolean true
semantic_validation_errors array 0 items
stats object 18 fields
stats.ai_attempts integer 0
stats.ai_completion_tokens integer 0
stats.ai_enabled boolean false
stats.ai_mode string never
stats.ai_prompt_tokens integer 0
stats.ai_used boolean false
stats.capture_backend string http
stats.deterministic_fields integer 2
stats.fetch_ms integer 1704
stats.html_bytes integer 559
stats.rendered boolean false
stats.schema_field_count integer 2
stats.schema_valid boolean true
stats.semantic_valid boolean true
stats.source_blocked boolean false
stats.text_chars integer 142
stats.unresolved_fields integer 0
stats.work_units integer 1
unresolved_fields array 0 items
validation_errors null null
warnings array 0 items

Execution behavior

A 200 response completed inline. A 202 response was queued; poll GET /jobs/:id until the job reaches completed or failed.