Choose rendering behavior
For a page whose useful content is already in HTML, a text-only request can disable JavaScript:renderJs: false cannot be combined with screenshots, branding, assets, or a nonzero waitFor. A browser does not guarantee access to a source that blocks the request, and changing an output format does not resolve a stable source block.
Mobile and location preferences
mobile requests a mobile browser profile. location expresses country and language preferences when supported by the available fetch capability. It is not a guarantee that every source will serve a particular region or translate its content.
Ad blocking is enabled by default. Set blockAds: false when the ad requests are relevant to the page state you want to capture. Mobile profiles are separate from custom viewport dimensions, which are not exposed by the current request contract.
Wait after navigation
waitFor adds a delay in milliseconds after load. The request must leave time for navigation and capture:
timeout to be greater than waitFor + 3000. A larger wait does not guarantee that the page has completed every background request. Test a known heading, image, or other pass condition on your source.
timeout is the request’s overall budget, not an unlimited allowance per internal attempt. Use a bounded retry policy for a transient timeout. See retries.
Target-site headers
headers are sent to the target site. Your url2llm bearer key belongs in the API request’s Authorization header, never in this object. Only send target credentials to a source you trust.
The current API does not expose click, scroll, selector-wait, named browser profile, or persistent cookie-session workflows. Those proposed controls remain separate from the implemented scrape contract.