{"uid":"cap__NhEQ7BoZZJOnldkK0k9L","slug":"doc-json-html-web-page-to-structured-json-extractor-4650a1fd","name":"doc-json HTML/Web Page to Structured JSON Extractor","description":"Web pages, PDFs and feeds turned into clean structured JSON for AI agents: metadata, schema.org data, tables, headings, readable text, per-page PDF text, feed items. Pay per call over x402, no API key.","url":"https://doc-json.agent-utils.workers.dev/v1/html","method":"POST","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["POST"],"type":"string"},"queryParams":{"type":"object","required":["html"],"properties":{"html":{"type":"string","maxLength":2000000},"baseUrl":{"type":"string","description":"Base URL used to resolve relative links"},"maxChars":{"type":"integer","default":20000,"maximum":200000,"minimum":500}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"url":{"type":"string"},"meta":{"type":"object","additionalProperties":{"type":"string"}},"text":{"type":"string","description":"Readable text without nav, scripts, footers"},"chars":{"type":"integer"},"links":{"type":"object","properties":{"sample":{"type":"array","items":{"type":"object","properties":{"href":{"type":"string"},"text":{"type":"string"}}}},"external":{"type":"integer"},"internal":{"type":"integer"}}},"title":{"type":["string","null"]},"author":{"type":["string","null"]},"images":{"type":"integer"},"jsonLd":{"type":"array","items":{},"description":"Parsed schema.org JSON-LD blocks (products, articles, organizations, events...)"},"status":{"type":"integer"},"tables":{"type":"array","items":{"type":"object","properties":{"rows":{"type":"array","items":{"type":"array","items":{"type":"string"}}},"caption":{"type":["string","null"]},"headers":{"type":"array","items":{"type":"string"}}}},"description":"Up to 20 HTML tables as headers + rows"},"twitter":{"type":"object","additionalProperties":{"type":"string"}},"finalUrl":{"type":"string"},"headings":{"type":"array","items":{"type":"object","properties":{"text":{"type":"string"},"level":{"type":"integer"}}}},"language":{"type":["string","null"]},"canonical":{"type":["string","null"]},"fetchedAt":{"type":"string"},"openGraph":{"type":"object","additionalProperties":{"type":"string"}},"truncated":{"type":"boolean"},"wordCount":{"type":"integer"},"responseMs":{"type":"integer"},"contentType":{"type":"string"},"description":{"type":["string","null"]},"publishedAt":{"type":["string","null"]}}}}}}},"responseSchema":{"type":"json","example":{"meta":{},"text":"Hi\nHi\n1 2","chars":8,"links":{"sample":[],"external":0,"internal":0},"title":"Hi","author":null,"images":0,"jsonLd":[],"tables":[{"rows":[["1","2"]],"caption":null,"headers":["a","b"]}],"twitter":{},"headings":[{"text":"Hi","level":1}],"language":null,"canonical":null,"openGraph":{},"truncated":false,"wordCount":3,"description":null,"publishedAt":null}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.01","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.01/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.01","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_lxtJF1Q8tYbTHsG_XNnC6","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.01","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Converts raw HTML content into clean, structured JSON including metadata, readable text, headings, tables, schema.org JSON-LD, links, and Open Graph data for AI agent consumption","exampleAgentPrompt":"Take this raw HTML from the product page and extract everything useful — clean readable text, any tables, schema.org product data, headings, and metadata — structured as JSON so I can process it further.","exampleUseCases":[{"title":"Extract product details from e-commerce HTML","prompt":"I've got the raw HTML from an Amazon product listing — can you pull out the clean text, any schema.org product data, price tables, and Open Graph metadata as structured JSON?"},{"title":"Parse article content for summarization","prompt":"Here's the HTML from a news article I fetched — extract just the readable text, author, title, publish date, and headings so I can summarize it without all the nav and footer junk."},{"title":"Scrape structured data from a business listing page","prompt":"I have the HTML of a local business directory page — extract any schema.org Organization or LocalBusiness JSON-LD blocks, the tables, and all the visible text so I can analyze the listing details."}],"resultDescription":"A JSON object containing: clean readable text (nav/scripts/footers stripped), page title, author, language, word count, character count, canonical URL, meta tags, Open Graph properties, Twitter card data, parsed schema.org JSON-LD blocks, up to 20 HTML tables with headers and rows, hierarchical headings with levels, internal/external link counts with a sample, image count, fetch timestamp, and a truncation flag.","failureModes":["HTML input missing or empty — returns error requiring 'html' query param","HTML too large — maxChars capped at 200,000 characters, content truncated beyond that","Malformed HTML — parser may miss elements or return partial data","No schema.org JSON-LD present — jsonLd array will be empty","Payment not completed via x402 — request blocked before processing"],"whenToPreferThis":"Choose this endpoint when you have raw HTML content already fetched and need to extract structured data without making another HTTP request — ideal for pipelines where you control the fetch step. It excels at pulling schema.org/JSON-LD data, HTML tables, and clean readable text in one call. Prefer it over URL-fetching extractors when you need to pass pre-fetched HTML, handle authenticated pages, or work with locally modified HTML.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T18:32:58.585Z","isFirstParty":false}