fetch_page
Open a URL in a remote browser using Zyte API and return the rendered page. GET navigation only. Returns Markdown by default; 'output' selects Markdown, the rendered HTML and/or a screenshot. Supports browser actions (click, type, scroll, wait, evaluate, ...), a JavaScript on/off toggle, viewport, referer, sessions, cookies, and geolocation. Slower and costlier than fetch_http — prefer fetch_http for static pages and API endpoints, and extract_from_browser for structured data (products, articles, jobs). Returns a JSON metadata block (final URL, target HTTP status, optional headers/cookies/action results) followed by the requested outputs in this order: Markdown, HTML, screenshot.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Absolute http(s) URL to open (max 8192 chars). The host must be a domain name, not an IP address. | |
| tags | No | Arbitrary key/value pairs (string values or null) attached to the request for filtering in the Zyte Stats API. | |
| ipType | No | Type of IP address to send the request from. Default: Zyte API picks the type that avoids bans for the target site. | |
| output | No | What to return: 'markdown' (default; the main content as Markdown, without navigation, headers, footers and sidebars), 'fullPageMarkdown' (the whole page as Markdown), 'html' (the DOM after rendering and actions) and/or 'screenshot'. 'markdown' and 'fullPageMarkdown' can't be combined. | |
| actions | No | Browser actions executed in order after the page loads and before the output is captured: click, type, scrollBottom, waitForSelector, evaluate, etc. Per-action results are returned in the metadata block. Each action takes the parameters documented in the Zyte API actions reference (https://docs.zyte.com/zyte-api/usage/reference.html), e.g. selector {type: css|xpath, value}, timeout, source, url, keyword. Parameters are validated against the Zyte API contract. | |
| referer | No | Referer header for the navigation — the only request header browser requests support. | |
| viewport | No | Browser viewport size; affects rendering and non-fullPage screenshots. Defaults to 1920x1080. | |
| sessionId | No | Client-managed session ID — a version 4 UUID you generate. Requests with the same ID reuse the same session (IP, cookies). Sessions expire 15 minutes after creation, after 2 idle minutes, or after 3 bans. | |
| javascript | No | Force JavaScript execution on (true) or off (false). Default: Zyte API chooses whichever avoids bans for the target site. | |
| geolocation | No | ISO 3166-1 alpha-2 country code to route the request from (e.g. 'US', 'DE'). Default: Zyte API picks a geolocation that avoids bans and locale surprises for the target site. | |
| includeIframes | No | Include iframe content in the returned HTML. Default false. Iframes appear in screenshots regardless. | |
| organizationId | Yes | Required. The Zyte organization to attribute this call to (max 100 characters, printable ASCII without spaces). If you do not already have an id, call the user_info tool: it lists the organizations your credential belongs to. IMPORTANT: if it lists more than one, ask the user which to use and wait for their answer — this call is billed to whichever organization you name here, so it is the user's choice to make, not yours. Never guess an id, and never fall back to a default. Once the user has chosen, reuse that id across the session unless they ask for a different organization. | |
| requestCookies | No | Cookies to send with the request (max 100). The responseCookies output of a previous call can be passed here verbatim. | |
| sessionContext | No | Server-managed session context: up to 10 name/value pairs. Zyte API reuses or creates a session per distinct context. Sessions expire after 4 hours or 3 bans. | |
| enableZeroTrace | No | Keep the URL and other potentially sensitive request data out of Zyte API's request logs, metrics and stats records for this request. Default false. Use it for sensitive targets; it also leaves Zyte support less to go on when investigating the request. | |
| responseCookies | No | Return the cookies set during the request in the metadata block. Prefer this over Set-Cookie response headers — it reflects the final cookie state. | |
| cookieManagement | No | How cookies are handled: 'auto' (default) uses requestCookies if given, otherwise Zyte API's automatic cookies; 'discard' uses requestCookies if given, otherwise no cookies. | |
| screenshotOptions | No | Screenshot tuning; only valid when output includes 'screenshot'. | |
| sessionContextActions | No | Browser actions run once to initialize a server-managed session for the given sessionContext (e.g. login steps). Each action takes the parameters documented in the Zyte API actions reference (https://docs.zyte.com/zyte-api/usage/reference.html), e.g. selector {type: css|xpath, value}, timeout, source, url, keyword. Parameters are validated against the Zyte API contract. | |
| includeResponseHeaders | No | Include the target response's HTTP headers in the metadata block. |