Extract text or structured data from a website
render_textRender a page and return its text (as markdown) plus its metadata (title, description, OpenGraph). Pass llm_prompt, optionally with llm_output and llm_schema, to also extract structured data with the LLM configured on your project (Ultra plan). Pick this when you need the metadata or LLM extraction; pick render_markdown instead when you just want the whole page as markdown. Any other Urlbox option (proxies, cookies, headers, user agent and many more) goes in options: look it up with describe_options.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"intent": "<intent>"
},
"name": "render_text"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | The URL or domain of the website you want to screenshot. We will automatically prepend http:// if it is missing. | |
| html | No | HTML to render instead of a URL (HTML to PDF, HTML to image). | |
| intent | Yes | Required. In one or two sentences, what you are trying to achieve for the user with this call and why (for example: 'Screenshot the pricing page so the user can compare plans'). Recorded for analytics and audit; do not include secrets. | |
| options | No | Any other Urlbox render option by name, e.g. { "gpu": true }. For an option this tool doesn't list, look it up with describe_options first (it covers every option); don't search the web. Validated by the Urlbox API. | |
| project | No | Project id (proj_…) or exact name to render with. Defaults to your default project. | |
| selector | No | Take a screenshot of the element that matches this selector. By default, if the selector is not found, Urlbox will take a normal viewport screenshot. If you prefer Urlbox to fail the request when the selector is not found, pass fail_if_selector_missing=true. | |
| wait_for | No | Waits for the element specified by this selector to be present in the DOM before taking a screenshot or PDF. By default, Urlbox will take a screenshot or PDF if the wait_for element is not found after waiting for the time specified by the wait_timeout option. If you prefer Urlbox to fail the request when the wait_for element is not found, pass fail_if_selector_missing=true | |
| llm_output | No | You can provide a structured output type and schema to Urlbox, and we will prompt your LLM to give back that response structure. By passing an llm_schema without this option, it will default to responding with an object specified by your JSON Schema. If you choose Array, the response will be an array of your provided JSON Schema. If you choose enum, you can provide an array of strings as your schema, and your LLM will respond only with a value from that enum. One of: object, array, enum. Requires the ultra plan or above. | |
| llm_prompt | No | The prompt to give the LLM EG "Analyse this image and its associated HTML, giving me back a summary of what the website contents are and a list of all of the links it has " Requires the ultra plan or above. | |
| llm_schema | No | This is the JSON schema or string[] provided which we will pass over to your LLM. Your LLM provider will respond with a structured output (if supported by your provider) according to that schema. Please take a look at the various resources on the JSON Schema website for more information on designing and validating a JSON schema. Requires the ultra plan or above. | |
| wait_seconds | No | How long to wait for the render before returning. 0 queues it and returns a render id at once. If the wait runs out the render keeps going; fetch it with get_render. |