SpeedWorkersDevice
string
Tools
SpeedWorkers Page Preview
Get the HTML, headers and metadata SpeedWorkers delivers to bots for a URL.
Preview what Botify SpeedWorkers delivers to search and AI bots for a URL: the pre-rendered HTML (or markdown) served from the SpeedWorkers cache, the HTTP status code and headers bots receive, and the delivery metadata (where the page was delivered from, why it would not be delivered, last cache and next refresh times, matching cache behavior, quality controls results, inventory sources and page properties). The HTML is returned as delivered, without any cleaning. With `save_to_tmp_storage`, the HTML is saved to temporary storage and its URL is returned instead, while the headers and metadata are still returned. The project must have SpeedWorkers enabled.
Playground
Log in Log in to try this tool. The request uses your session.
url
required
The URL to get the SpeedWorkers preview for.
device
The device variant of the cached page. When `desktop` or `mobile` is not cached, SpeedWorkers falls back to the device-agnostic (`na`) variant.
output_format
Force the delivered format (`html`, `markdown` for markdown embedded in an HTML page, `pure_markdown` for raw markdown). By default, the format the page's cache behavior delivers to bots.
save_to_tmp_storage
Save the fetched HTML to Botify temporary storage and return the temporary URL instead of the HTML. Use this to save output tokens. The returned URL can be passed to other HTML-processing tools. Headers and metadata are still returned.
Credits
Fixed cost per URL requested. This tool reads the page SpeedWorkers already holds for your project and calls no outside service, so nothing is added to the per-call price.
These usage SKUs can be charged on a call.
| SKU | Credits | Description |
|---|---|---|
| Tool call | 1 per request | Charged once per successful item. |
Schemas
item is what you send, config how the tool behaves,
and the response is what you get back.
Item
objecturl
string
required
The URL to get the SpeedWorkers preview for.
device
SpeedWorkersDevice
The device variant of the cached page. When `desktop` or `mobile` is not cached, SpeedWorkers falls back to the device-agnostic (`na`) variant.
output_format
SpeedWorkersOutputFormat
Force the delivered format (`html`, `markdown` for markdown embedded in an HTML page, `pure_markdown` for raw markdown). By default, the format the page's cache behavior delivers to bots.
{
"url": "string",
"device": "desktop",
"output_format": null
}
Type Definitions
2 typesThese are the available sub-object types that can be used in the properties above.
SpeedWorkersOutputFormat
string
Configuration
objectsave_to_tmp_storage
boolean
Save the fetched HTML to Botify temporary storage and return the temporary URL instead of the HTML. Use this to save output tokens. The returned URL can be passed to other HTML-processing tools. Headers and metadata are still returned.
{
"save_to_tmp_storage": false
}
Response
objecthtml
string | null
HTML (or markdown) of the page as delivered to bots by SpeedWorkers. Omitted when `save_to_tmp_storage` is True; see `html_tmp_storage_url` instead.
html_tmp_storage_url
string | null
Temporary storage URL of the HTML page. Returned instead of `html` when `save_to_tmp_storage` is True. Can be passed to other HTML-processing tools.
status_code
integer | null
HTTP status code delivered to bots
headers
object | null
HTTP headers delivered to bots
metadata
SpeedWorkersPreviewMetadata
SpeedWorkers delivery metadata of the page
reason
string | null
Why no HTML was returned, if any
{
"html": null,
"html_tmp_storage_url": null,
"status_code": null,
"headers": null,
"metadata": null,
"reason": null
}
Type Definitions
4 typesThese are the available sub-object types that can be used in the properties above.
SpeedWorkersInput
object
stable_id
string | null
Stable ID of the input
name
string | null
Name of the input
input_type
string | null
Type of the input
SpeedWorkersPreviewMetadata
object
delivered_from
string | null
Where the page was delivered from (cache, fetch, liverender, section, ignoredparams, livefetch, nowhere)
not_delivered_reason
string | null
Why the page would not be delivered to bots (e.g. not_cached, quality_controls_failed), `cached` otherwise
redirect_url
string | null
Redirect target, when the page redirects
output_format
string | null
Format actually delivered (html, markdown, pure_markdown)
last_index_time
string | null
When the page was last cached
refresh_time
string | null
When the page is due for a refresh
original_processing_time_ms
integer | null
Time spent fetching and rendering the page, in ms
beam_processing_time_ms
integer | null
Time spent by SpeedWorkers to deliver the page, in ms
section
SpeedWorkersSection
Cache behavior (section) matching the page
quality_controls
array
Quality controls run on the page
inputs
array
Inventory sources the page comes from
properties
object | null
Page properties extracted from the HTML
js_error
string | null
JavaScript error raised during delivery
SpeedWorkersQualityControl
object
id
string | null
ID of the quality control
name
string | null
Name of the quality control
status
integer | null
Result of the quality control (0 = success, 3 = error)
severity
string | null
Severity of the quality control
SpeedWorkersSection
object
id
string | null
Stable ID of the cache behavior
name
string | null
Name of the cache behavior
Endpoints
http://agents.botify.com/{organization}/{project}/speedworkers_page_preview/process
http://agents.botify.com/{organization}/{project}/speedworkers_page_preview/batch_process
http://agents.botify.com/{organization}/{project}/speedworkers_page_preview/async_process
http://agents.botify.com/{organization}/{project}/speedworkers_page_preview/async_batch_process
See running a long job in the background for the polling flow.
cURL
curl -X POST "http://agents.botify.com/{organization}/{project}/speedworkers_page_preview/process" \
-H "Authorization: Bearer $BOTIFY_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"item": {
"url": "<url>"
}
}'
Over MCP
This tool is exposed as the MCP tool speedworkers_page_preview. An MCP client passes
organization, project and item as tool arguments.
Set up MCP →
Raw metadata
- GET /agents/speedworkers_page_preview — this page as JSON.
- /agents/speedworkers_page_preview/skill.md — Markdown for coding agents.