# Universal Web API

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

- Platform ID: `web`
- Capabilities: 3
- Execute endpoint: `POST https://data.upscrape.com/execute`
- OpenAPI: https://upscrape.com/scrapers/web/openapi.json

## Capabilities

| Endpoint | Capability ID | Cost | Description |
| --- | --- | --- | --- |
| [Archive Page](https://docs.upscrape.com/docs/platforms/web/web.page.archive) | `web.page.archive` | 1 credit per request | 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. |
| [Capture Page](https://docs.upscrape.com/docs/platforms/web/web.page.capture) | `web.page.capture` | 1 credit per request | 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. |
| [Extract Page](https://docs.upscrape.com/docs/platforms/web/web.page.extract) | `web.page.extract` | 1 credit per request | 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. |


## Integration contract

All capabilities use the shared `POST /execute` envelope. A `200` response completed inline; a `202` response must be polled through `GET /jobs/{id}`.

See [authentication](https://docs.upscrape.com/docs/api/authentication), [jobs and results](https://docs.upscrape.com/docs/api/jobs), and [errors and retries](https://docs.upscrape.com/docs/api/errors).
