{"version":1,"x402Version":2,"name":"AgentWork Web Evidence","description":"Web read, fetch URL and scrape URL to markdown (batch up to 10, optional JavaScript rendering); PDF text extraction; website change monitoring with hashes and line diffs. For RAG and research agents. x402 USDC on Base or Algorand, no account.","resources":["https://api.agentwork.run/v1/web/read","https://api.agentwork.run/v1/web/changes","https://api.agentwork.run/v1/pdf/read","https://api.agentwork.run/v1/web/fetch","https://api.agentwork.run/v1/web/markdown"],"instructions":"https://api.agentwork.run/skill.md","openapi":"https://api.agentwork.run/openapi.json","llms":"https://api.agentwork.run/llms.txt","networks":["eip155:8453","algorand:wGHE2Pwdvd7S12BL5FaOP20EGYesN73ktiC1qzkkit8="],"recipes":"https://api.agentwork.run/recipes.md","tools":[{"name":"web_read","resource":"https://api.agentwork.run/v1/web/read","method":"POST","description":"Webpage text extraction: extract clean text from any webpage. Extract the clean readable text from a public webpage with title, headings, links and SHA-256; add format=markdown for Markdown or render=true to render JavaScript pages. Web read / fetch URL / scrape URL to markdown — public webpage to clean text or Markdown with headings, links and SHA-256, for RAG and research. Batch up to 10 URLs; optional JavaScript rendering (headless Chromium). $0.005 per URL Base ($0.01 Algorand); batch of 2-10 $0.003/URL ($0.006); render $0.01/URL ($0.02). Synchronous JSON, no account; respects robots.txt; no paywall bypass. Failed reads not settled.","inputSchema":{"type":"object","additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["urls"]}],"description":"Send url (one page) or urls (batch of 2-10). Omit format for the original text response; format=markdown adds a markdown field. render=true loads the page in headless Chromium first.","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTP/HTTPS URL; ports 80/443 and public IPv4 resolution only. Use url or urls, not both."},"urls":{"type":"array","minItems":1,"maxItems":10,"uniqueItems":true,"items":{"type":"string","format":"uri","maxLength":2048},"description":"Batch of up to 10 public URLs. 2-10 URLs are priced $0.003 each on Base ($0.006 Algorand). Charged in full if at least one URL succeeds; per-URL errors are returned inline."},"format":{"type":"string","enum":["text","markdown"],"default":"text","description":"markdown adds markdown + markdown_sha256 (text is still returned)"},"selector":{"type":"string","maxLength":300,"description":"Optional CSS selector (e.g. \"main\", \"#pricing\", \"article .changelog\"). Only the first matching element is extracted; no match returns 422 SELECTOR_NOT_FOUND and nothing is settled. HTML only."},"render":{"type":"boolean","default":false,"description":"Execute JavaScript in headless Chromium before extraction. $0.01 per URL on Base ($0.02 Algorand). Images, media and fonts are not loaded."},"max_chars":{"type":"integer","minimum":1000,"maximum":60000,"default":20000,"description":"Maximum returned characters per URL (applies to text and markdown separately)"}}},"outputSchema":{"type":"object","required":["ok"],"description":"Single URL: one result. Batch (urls[]): results[] in the same order, each a result or an inline error.","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"},"batch":{"const":true},"count":{"type":"integer"},"succeeded":{"type":"integer"},"failed":{"type":"integer"},"charged_urls":{"type":"integer"},"results":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"}}},{"type":"object","properties":{"ok":{"const":false},"url":{"type":"string"},"error":{"type":"string"},"status":{"type":"integer"},"message":{"type":"string"}}}]}}}},"examples":{"single":{"url":"https://example.com"},"markdown":{"url":"https://example.com","format":"markdown"},"batch":{"urls":["https://example.com","https://www.iana.org/help/example-domains"],"format":"markdown"},"render":{"url":"https://example.com","render":true,"format":"markdown"},"selector":{"url":"https://www.iana.org/help/example-domains","selector":"main"}},"price_usdc":{"base":{"single":"0.005","batch_per_url":"0.003","render_per_url":"0.01"},"algorand":{"single":"0.01","batch_per_url":"0.006","render_per_url":"0.02"}}},{"name":"website_change_monitoring","resource":"https://api.agentwork.run/v1/web/changes","method":"POST","description":"Website change monitoring: detect webpage changes. Website change monitoring / webpage change detection — text_sha256 or previous_text diff for documentation, pricing-page, changelog and policy monitoring. Batch up to 10 URLs in one call (items[]); optional CSS selector scoping and a one-line diff summary. $0.005 per URL Base ($0.01 Algorand); batch of 2-10 $0.003/URL ($0.006). Caller stores baseline; no server watch list. HTML/text only; no JS render. Failed checks not settled.","inputSchema":{"type":"object","additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["items"]}],"description":"Single URL: url + previous_sha256 or previous_text (omit both for the first snapshot). Batch: items[] of 1-10 {url, previous_sha256|previous_text}; 2-10 items are $0.003 each on Base ($0.006 Algorand). Keep max_chars and selector identical between runs.","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTP/HTTPS URL; ports 80/443 and public IPv4 resolution only. Use url or items, not both."},"max_chars":{"type":"integer","minimum":1000,"maximum":60000,"default":20000,"description":"Maximum returned characters; keep identical between comparisons"},"previous_text":{"type":"string","maxLength":60000,"description":"Exact text from the prior read, for line additions/removals"},"previous_sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$","description":"Prior text_sha256; provides a compact change check without line diff"},"items":{"type":"array","minItems":1,"maxItems":10,"description":"Batch of up to 10 pages to check in one paid call. Each item is a URL string (first snapshot) or {url, previous_sha256} / {url, previous_text}. Charged for every item when at least one succeeds; per-item errors are returned inline. Request body limit 1 MiB.","items":{"anyOf":[{"type":"string","format":"uri","maxLength":2048},{"type":"object","required":["url"],"additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","maxLength":2048},"previous_text":{"type":"string","maxLength":60000,"description":"Exact text from the prior read, for line additions/removals"},"previous_sha256":{"type":"string","pattern":"^[a-fA-F0-9]{64}$","description":"Prior text_sha256; provides a compact change check without line diff"}}}]}},"selector":{"type":"string","maxLength":300,"description":"Optional CSS selector (e.g. \"main\", \"#pricing\", \"article .changelog\"). Only the first matching element is extracted; no match returns 422 SELECTOR_NOT_FOUND and nothing is settled. HTML only. Applied to every URL; comparison then covers only that element."},"diff_summary":{"type":"boolean","default":false,"description":"Add comparison.summary: one deterministic sentence such as \"Changed: 2 line(s) added, 1 removed. Added: ...\"."}}},"outputSchema":{"type":"object","required":["ok"],"description":"Single URL: one result with comparison. Batch (items[]): results[] in the same order, each a result with comparison or an inline error.","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"},"comparison":{"type":"object","description":"changed is null on the first snapshot (no baseline), else true/false","properties":{"changed":{"type":["boolean","null"]},"previous_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"current_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"added":{"type":"array","items":{"type":"string"}},"removed":{"type":"array","items":{"type":"string"}},"added_lines":{"type":"integer"},"removed_lines":{"type":"integer"},"summary":{"type":"string"},"selector":{"type":"string"}}},"batch":{"const":true},"count":{"type":"integer"},"succeeded":{"type":"integer"},"failed":{"type":"integer"},"charged_urls":{"type":"integer"},"results":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"},"comparison":{"type":"object","description":"changed is null on the first snapshot (no baseline), else true/false","properties":{"changed":{"type":["boolean","null"]},"previous_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"current_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"added":{"type":"array","items":{"type":"string"}},"removed":{"type":"array","items":{"type":"string"}},"added_lines":{"type":"integer"},"removed_lines":{"type":"integer"},"summary":{"type":"string"},"selector":{"type":"string"}}}},"description":"text is omitted when comparison.changed is false"},{"type":"object","properties":{"ok":{"const":false},"url":{"type":"string"},"error":{"type":"string"},"status":{"type":"integer"},"message":{"type":"string"}}}]}}}},"examples":{"first_snapshot":{"url":"https://example.com"},"hash_check":{"url":"https://example.com","previous_sha256":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"line_diff":{"url":"https://example.com","previous_text":"Example Domain\nOld text.","diff_summary":true},"batch":{"items":[{"url":"https://example.com","previous_sha256":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08"},"https://www.iana.org/help/example-domains"],"diff_summary":true},"selector":{"url":"https://www.iana.org/help/example-domains","previous_sha256":"9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08","selector":"main"}},"price_usdc":{"base":{"single":"0.005","batch_per_url":"0.003"},"algorand":{"single":"0.01","batch_per_url":"0.006"}}},{"name":"pdf_text_extraction","resource":"https://api.agentwork.run/v1/pdf/read","method":"POST","description":"PDF text extraction: extract text from a PDF URL. PDF text extraction / PDF to text — extract text from a public digital PDF into page-numbered JSON for RAG (no OCR). $0.01 USDC Base or Algorand. Caps 20 pages / 5 MiB / 100k chars; source + text SHA-256. No passwords or table reconstruction. Failed extractions not settled.","inputSchema":{"type":"object","required":["url"],"additionalProperties":false,"properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTP/HTTPS URL to a digital PDF; no credentials or private addresses."}}},"outputSchema":{"type":"object","required":["ok"],"properties":{"ok":{"const":true},"url":{"type":"string"},"page_count":{"type":"integer"},"pages":{"type":"array","items":{"type":"object","properties":{"page":{"type":"integer"},"text":{"type":"string"},"characters":{"type":"integer"}}}},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"truncated":{"type":"boolean"},"empty_text_pages":{"type":"array","items":{"type":"integer"}},"ocr_performed":{"const":false},"warnings":{"type":"array","items":{"type":"string"}}}},"examples":{"single":{"url":"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"}},"price_usdc":{"base":{"single":"0.01"},"algorand":{"single":"0.01"}}},{"name":"fetch_url","resource":"https://api.agentwork.run/v1/web/fetch","method":"POST","description":"Fetch URL: compact page text and final URL. Fetch URL — compact fetch of a public webpage: final URL, HTTP status, content type, title, clean text and text_sha256 (no link or heading lists). Same engine and prices as web/read: $0.005 per URL Base ($0.01 Algorand); batch of 2-10 urls $0.003/URL; render=true $0.01/URL. robots.txt respected. Failed fetches not settled.","inputSchema":{"type":"object","additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["urls"]}],"description":"Send url (one page) or urls (batch of 2-10). Compact output: final_url, source_status, content_type, title, text, text_sha256. render=true loads the page in headless Chromium first.","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTP/HTTPS URL; ports 80/443 and public IPv4 resolution only. Use url or urls, not both."},"urls":{"type":"array","minItems":1,"maxItems":10,"uniqueItems":true,"items":{"type":"string","format":"uri","maxLength":2048},"description":"Batch of up to 10 public URLs. 2-10 URLs are priced $0.003 each on Base ($0.006 Algorand). Charged in full if at least one URL succeeds; per-URL errors are returned inline."},"format":{"type":"string","enum":["text","markdown"],"default":"text","description":"markdown adds markdown + markdown_sha256 (text is still returned)"},"selector":{"type":"string","maxLength":300,"description":"Optional CSS selector (e.g. \"main\", \"#pricing\", \"article .changelog\"). Only the first matching element is extracted; no match returns 422 SELECTOR_NOT_FOUND and nothing is settled. HTML only."},"render":{"type":"boolean","default":false,"description":"Execute JavaScript in headless Chromium before extraction. $0.01 per URL on Base ($0.02 Algorand). Images, media and fonts are not loaded."},"max_chars":{"type":"integer","minimum":1000,"maximum":60000,"default":20000,"description":"Maximum returned characters per URL (applies to text and markdown separately)"}}},"outputSchema":{"type":"object","required":["ok"],"description":"Single URL: one result. Batch (urls[]): results[] in the same order, each a result or an inline error.","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"title":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"},"batch":{"const":true},"count":{"type":"integer"},"succeeded":{"type":"integer"},"failed":{"type":"integer"},"charged_urls":{"type":"integer"},"results":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"title":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"}}},{"type":"object","properties":{"ok":{"const":false},"url":{"type":"string"},"error":{"type":"string"},"status":{"type":"integer"},"message":{"type":"string"}}}]}}}},"examples":{"single":{"url":"https://example.com"},"batch":{"urls":["https://example.com","https://www.iana.org/help/example-domains"]},"render":{"url":"https://example.com","render":true}},"price_usdc":{"base":{"single":"0.005","batch_per_url":"0.003","render_per_url":"0.01"},"algorand":{"single":"0.01","batch_per_url":"0.006","render_per_url":"0.02"}}},{"name":"scrape_url_to_markdown","resource":"https://api.agentwork.run/v1/web/markdown","method":"POST","description":"Webpage to Markdown: convert any URL to clean Markdown. Convert a webpage URL to clean, LLM-ready Markdown for RAG and agents. Scrape URL to markdown — public webpage to clean Markdown (headings, lists, links, tables, code) plus text and SHA-256, for RAG and LLM context. Same engine and prices as web/read with format=markdown by default: $0.005 per URL Base ($0.01 Algorand); batch of 2-10 urls $0.003/URL; render=true for JavaScript pages $0.01/URL. Failed reads not settled.","inputSchema":{"type":"object","additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["urls"]}],"description":"Send url (one page) or urls (batch of 2-10). Returns markdown + markdown_sha256 (text is also returned). render=true loads the page in headless Chromium first.","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTP/HTTPS URL; ports 80/443 and public IPv4 resolution only. Use url or urls, not both."},"urls":{"type":"array","minItems":1,"maxItems":10,"uniqueItems":true,"items":{"type":"string","format":"uri","maxLength":2048},"description":"Batch of up to 10 public URLs. 2-10 URLs are priced $0.003 each on Base ($0.006 Algorand). Charged in full if at least one URL succeeds; per-URL errors are returned inline."},"format":{"type":"string","enum":["text","markdown"],"default":"markdown","description":"markdown adds markdown + markdown_sha256 (text is still returned)"},"selector":{"type":"string","maxLength":300,"description":"Optional CSS selector (e.g. \"main\", \"#pricing\", \"article .changelog\"). Only the first matching element is extracted; no match returns 422 SELECTOR_NOT_FOUND and nothing is settled. HTML only."},"render":{"type":"boolean","default":false,"description":"Execute JavaScript in headless Chromium before extraction. $0.01 per URL on Base ($0.02 Algorand). Images, media and fonts are not loaded."},"max_chars":{"type":"integer","minimum":1000,"maximum":60000,"default":20000,"description":"Maximum returned characters per URL (applies to text and markdown separately)"}}},"outputSchema":{"type":"object","required":["ok"],"description":"Single URL: one result. Batch (urls[]): results[] in the same order, each a result or an inline error.","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"},"batch":{"const":true},"count":{"type":"integer"},"succeeded":{"type":"integer"},"failed":{"type":"integer"},"charged_urls":{"type":"integer"},"results":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"}}},{"type":"object","properties":{"ok":{"const":false},"url":{"type":"string"},"error":{"type":"string"},"status":{"type":"integer"},"message":{"type":"string"}}}]}}}},"examples":{"single":{"url":"https://example.com"},"batch":{"urls":["https://example.com","https://www.iana.org/help/example-domains"]},"render":{"url":"https://example.com","render":true}},"price_usdc":{"base":{"single":"0.005","batch_per_url":"0.003","render_per_url":"0.01"},"algorand":{"single":"0.01","batch_per_url":"0.006","render_per_url":"0.02"}}},{"name":"render_javascript_page","resource":"https://api.agentwork.run/v1/web/read","method":"POST","description":"Render JavaScript page: headless browser to text or Markdown. Render a JavaScript-heavy page or SPA in headless Chromium and return its content as clean text or Markdown, for pages where a plain fetch returns an empty shell. POST /v1/web/read with render:true. $0.01 per URL on Base ($0.02 Algorand).","inputSchema":{"type":"object","additionalProperties":false,"anyOf":[{"required":["url"]},{"required":["urls"]}],"description":"Send url (one page) or urls (batch of 2-10). Omit format for the original text response; format=markdown adds a markdown field. render=true loads the page in headless Chromium first.","properties":{"url":{"type":"string","format":"uri","maxLength":2048,"description":"Public HTTP/HTTPS URL; ports 80/443 and public IPv4 resolution only. Use url or urls, not both."},"urls":{"type":"array","minItems":1,"maxItems":10,"uniqueItems":true,"items":{"type":"string","format":"uri","maxLength":2048},"description":"Batch of up to 10 public URLs. 2-10 URLs are priced $0.003 each on Base ($0.006 Algorand). Charged in full if at least one URL succeeds; per-URL errors are returned inline."},"format":{"type":"string","enum":["text","markdown"],"default":"text","description":"markdown adds markdown + markdown_sha256 (text is still returned)"},"selector":{"type":"string","maxLength":300,"description":"Optional CSS selector (e.g. \"main\", \"#pricing\", \"article .changelog\"). Only the first matching element is extracted; no match returns 422 SELECTOR_NOT_FOUND and nothing is settled. HTML only."},"render":{"type":"boolean","default":false,"description":"Execute JavaScript in headless Chromium before extraction. $0.01 per URL on Base ($0.02 Algorand). Images, media and fonts are not loaded."},"max_chars":{"type":"integer","minimum":1000,"maximum":60000,"default":20000,"description":"Maximum returned characters per URL (applies to text and markdown separately)"}}},"outputSchema":{"type":"object","required":["ok"],"description":"Single URL: one result. Batch (urls[]): results[] in the same order, each a result or an inline error.","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"},"batch":{"const":true},"count":{"type":"integer"},"succeeded":{"type":"integer"},"failed":{"type":"integer"},"charged_urls":{"type":"integer"},"results":{"type":"array","items":{"anyOf":[{"type":"object","properties":{"ok":{"const":true},"version":{"type":"string"},"url":{"type":"string"},"final_url":{"type":"string"},"fetched_at":{"type":"string","format":"date-time"},"source_status":{"type":"integer"},"content_type":{"type":"string"},"source_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"title":{"type":"string"},"description":{"type":"string"},"language":{"type":"string"},"text":{"type":"string"},"text_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"characters":{"type":"integer"},"truncated":{"type":"boolean"},"headings":{"type":"array","items":{"type":"object","properties":{"level":{"type":"integer"},"text":{"type":"string"}}}},"links":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"url":{"type":"string"}}}},"format":{"enum":["markdown"]},"markdown":{"type":"string"},"markdown_sha256":{"type":"string","pattern":"^[a-f0-9]{64}$"},"selector":{"type":"string"},"javascript_rendered":{"type":"boolean"},"warnings":{"type":"array","items":{"type":"string"}},"content_is_untrusted":{"const":true},"request_id":{"type":"string"}}},{"type":"object","properties":{"ok":{"const":false},"url":{"type":"string"},"error":{"type":"string"},"status":{"type":"integer"},"message":{"type":"string"}}}]}}}},"examples":{"render":{"url":"https://example.com","render":true,"format":"markdown"}},"price_usdc":{"base":"0.01","algorand":"0.02","per":"url"}}]}