Read URL
jina.read_url
ActionAI & modelsconnection required
Calls the Jina AI API with the connection's credentials.
Fetch one web page through the Jina Reader and return it as LLM-ready markdown, HTML, plain text or a screenshot URL.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- Bearer token
- Providers
- Jina AI
- Secret shape
- the API key, or {"api_key": "…"}
- Config it needs
- base_url, default_embedding_model, default_reranker_model
- Resolved by
- config.connection_id, else node.connection_id
Configuration
19 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
url The page to read. | string | Yes | — | url format | https://example.com/pricing |
return_format Shape of the returned page content. | string | No | markdown | one of "markdown", "html", "text", "screenshot", "pageshot" | — |
engine Retrieval engine: 'browser' renders the page for best quality, 'direct' is fastest, 'cf-browser-rendering' is the experimental engine for JavaScript-heavy sites. | string | No | — | one of "browser", "direct", "cf-browser-rendering" | — |
timeout_seconds How long Jina waits for the page to load before giving up. | number | No | — | 1–300 | — |
target_selector CSS selector to read instead of the whole page. | string | No | — | — | — |
wait_for_selector CSS selector Jina waits for before reading the page. | string | No | — | — | — |
remove_selector CSS selector for parts to drop, such as a nav or footer. | string | No | — | — | — |
links_summary Collect the page's links: 'true' for unique links, 'all' for every one. | string | No | — | one of "true", "all" | — |
images_summary Collect the page's images: 'true' for unique images, 'all' for every one. | string | No | — | one of "true", "all" | — |
token_budget Stop reading once the page has produced this many tokens. | number | No | — | ≥ 1 | — |
remove_images Strip every image from the content (sends X-Retain-Images: none). | boolean | No | — | — | — |
with_generated_alt Caption images that have no alt text. | boolean | No | — | — | — |
with_iframe Include the content of iframes on the page. | boolean | No | — | — | — |
with_shadow_dom Read content out of every Shadow DOM root as well. | boolean | No | — | — | — |
no_cache Bypass Jina's cache and fetch the page fresh. | boolean | No | — | — | — |
locale Browser locale used to render the page, for example 'en-GB'. | string | No | — | — | — |
proxy_country Two-letter country for a location-based proxy, 'auto' to let Jina choose, or 'none' to disable proxying. | string | No | — | — | — |
viewport_width Browser viewport width in pixels; set with viewport_height. | number | No | — | 1–10000 | — |
viewport_height Browser viewport height in pixels; set with viewport_width. | number | Conditional | — | 1–10000; only with viewport_width | — |
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"return_format": "markdown",
"url": "https://example.com/pricing"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
url The final URL Jina read, after redirects. | string | — |
title The page title. | string | — |
description The page's meta description, when it has one. | string | — |
content The page content in the requested return format. | string | — |
links Link summary, when links_summary was requested. | any | — |
images Image summary, when images_summary was requested. | any | — |
tokens Tokens the Reader billed for this page. | number | — |
data Jina's full data object for the page. | object | — |
{
"content": "",
"data": {},
"description": "",
"images": null,
"links": null,
"title": "",
"tokens": 0,
"url": ""
}See Read URL run in a workflow.
In a technical demo we add the Jina AI connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.