{"id":"html_fetch","name":"HTML Fetch","alias":"HtmlFetch","aliases":[],"description_short":"Get the HTML of a given URL.","description_long":"\n    Fetch the HTML of a URL, from the Botify SiteCrawler archive by default, or\n    live through a real-time fetch or the rendering farm (which executes the page\n    JavaScript) when `origin` asks for it.\n\n    The HTML is cleaned before being returned: `remove_tags` drops the listed tags,\n    `only_body` keeps the body only and `only_text` strips the markup down to text.\n\n    Set `save_to_tmp_storage` to upload the HTML to temporary project storage and\n    return its URL instead of the HTML inline. This option writes a new temporary\n    object.\n\n    A rendering-farm fetch leaves from the same network the project's own crawl\n    renders from, resolved from the project settings against the execution\n    environments the farm offers. It falls back to the farm's default\n    environment when those settings or that list are out of reach, or when no\n    environment serves the project's network. `rendering_farm_network` renders\n    from a named network instead, and fails rather than falling back.\n    ","description_tool_prompt":"\n    Fetch the HTML of a URL, from the Botify SiteCrawler archive by default, or\n    live through a real-time fetch or the rendering farm (which executes the page\n    JavaScript) when `origin` asks for it.\n\n    The HTML is cleaned before being returned: `remove_tags` drops the listed tags,\n    `only_body` keeps the body only and `only_text` strips the markup down to text.\n\n    Set `save_to_tmp_storage` to upload the HTML to temporary project storage and\n    return its URL instead of the HTML inline. This option writes a new temporary\n    object.\n\n    A rendering-farm fetch leaves from the same network the project's own crawl\n    renders from, resolved from the project settings against the execution\n    environments the farm offers. It falls back to the farm's default\n    environment when those settings or that list are out of reach, or when no\n    environment serves the project's network. `rendering_farm_network` renders\n    from a named network instead, and fails rather than falling back.\n    ","source":null,"conversation_examples":[],"tags":[],"available_in_chat":false,"available_in_deepthink":false,"available_in_mcp":true,"mcp_audience":"all","config":{"type":"object","properties":{"save_to_tmp_storage":{"default":false,"description":"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 `tmp_storage_read`, `tmp_storage_grep`, `tmp_storage_jq`, and other HTML-processing tools.","title":"Save To Temporary Storage","type":"boolean"}},"required":[]},"item":{"type":"object","properties":{"url":{"description":"The URL to fetch HTML for. Temporary uploaded URLs on https://app.botify.com/:organization/:project/o/storage/tmp are allowed.","title":"URL","type":"string"},"origin":{"$ref":"#/$defs/OriginEnum","default":"site_crawler","description":"The origin of the URL","enumNames":["Botify SiteCrawler","Real Time Fetch URL","Rendering Farm","Temporary upload"],"title":"Origin"},"country_code":{"default":"us","description":"The country code to use for the real-time fetch. 2 letters lowercase","title":"Country Code","type":"string"},"fallback_real_time_fetch":{"default":false,"description":"Fallback to real_time_fetch_url if the URL is not found in SiteCrawler","title":"Fallback To Real Time Fetch","type":"boolean"},"only_text":{"default":false,"description":"Only return the text of the page","title":"Only Text","type":"boolean"},"only_body":{"default":false,"description":"Only return the body of the page","title":"Only Body","type":"boolean"},"remove_tags":{"default":["script","noscript","style","header","footer","nav","aside","form","svg","iframe"],"description":"Remove all tags from the HTML","items":{"description":"The tag to remove","title":"Tag","type":"string"},"title":"Remove Tags","type":"array"}},"required":["url"],"$defs":{"OriginEnum":{"enum":["site_crawler","real_time_fetch_url","rendering_farm","temporary_upload"],"title":"OriginEnum","type":"string"}}},"response":{"$defs":{"OriginEnum":{"enum":["site_crawler","real_time_fetch_url","rendering_farm","temporary_upload"],"title":"OriginEnum","type":"string"}},"properties":{"origin":{"anyOf":[{"$ref":"#/$defs/OriginEnum"},{"type":"null"}],"default":null,"description":"The origin of the HTML (site_crawler, real_time_fetch_url, rendering_farm, or temporary_upload)"},"crawl":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Crawl Slug from SiteCrawler","title":"Crawl"},"html":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"HTML content of the page. Omitted when `save_to_tmp_storage` is True; see `html_tmp_storage_url` instead.","title":"Html"},"html_tmp_storage_url":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Temporary storage URL of the HTML page. Returned instead of `html` when `save_to_tmp_storage` is True. Can be passed to `tmp_storage_read`, `tmp_storage_grep`, `tmp_storage_jq`, and other HTML-processing tools.","title":"Html Tmp Storage Url"},"status_code":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"HTTP status code of the response","title":"Status Code"},"headers":{"anyOf":[{"additionalProperties":true,"type":"object"},{"type":"null"}],"default":null,"description":"HTTP headers of the response","title":"Headers"},"iframe_allowed":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"Whether iframes are allowed in the response","title":"Iframe Allowed"},"reason":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Reason for failure, if any","title":"Reason"}},"title":"HTMLFetchProcessedItem","type":"object"},"has_canvas":false,"open_canvas_automatically":false}