{"openapi":"3.1.0","info":{"title":"Page2JSON — web page to structured JSON (x402)","version":"1.0.0","description":"Page to JSON: scrape and extract any public web page URL into clean structured data JSON. Web scraper / HTML-to-JSON extractor / readability parser for AI agents and LLMs: returns title, author, site name, published date, main article text (plain text), word count, up to 200 links and an optional short summary. Web scraping, content extraction, metadata extraction, article parsing, crawl, RAG ingestion. GET /extract?url=<url>&summary=true","contact":{"email":"inamericablackman@gmail.com"},"x-guidance":"Call GET /extract?url=<public http(s) URL>&summary=true. Pay per call with x402 (USDC on Base). Returns JSON with title, author, date, siteName, mainText, wordCount, links and optional summary. For clean Markdown (LLM-ready) call GET /markdown?url=<url>&summary=true ($0.005); send Accept: text/markdown to get raw markdown instead of JSON. For OpenGraph/SEO tags and contact info call GET /meta?url=<url> ($0.003)."},"servers":[{"url":"https://web4-page2json.hawkinsairman.workers.dev"}],"paths":{"/extract":{"get":{"operationId":"extractPage","summary":"Page to JSON - scrape and extract a web page into structured data","description":"Page to JSON: scrape and extract any public web page URL into clean structured data JSON. Web scraper / HTML-to-JSON extractor / readability parser for AI agents and LLMs: returns title, author, site name, published date, main article text (plain text), word count, up to 200 links and an optional short summary. Web scraping, content extraction, metadata extraction, article parsing, crawl, RAG ingestion. GET /extract?url=<url>&summary=true","tags":["Scraping"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","minLength":8,"maxLength":2048,"pattern":"^https?://","description":"Public http(s) URL of the web page to scrape/extract"},"description":"Public http(s) URL of the web page to scrape/extract"},{"name":"summary","in":"query","required":false,"schema":{"type":"boolean"},"description":"If true, include a short extractive summary of the page"}],"responses":{"200":{"description":"Extracted page","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":["string","null"]},"author":{"type":["string","null"]},"date":{"type":["string","null"]},"siteName":{"type":["string","null"]},"mainText":{"type":"string","description":"Main readable text of the page"},"wordCount":{"type":"integer"},"links":{"type":"array","items":{"type":"object","properties":{"href":{"type":"string"},"text":{"type":"string"}}}},"summary":{"type":"string"}},"required":["title","mainText"]},"example":{"url":"https://example.com/","title":"Example Domain","author":null,"date":null,"siteName":null,"mainText":"This domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.","wordCount":28,"links":[{"href":"https://www.iana.org/domains/example","text":"More information..."}],"summary":"This domain is for use in illustrative examples in documents."}}}},"402":{"description":"Payment Required"}}}},"/markdown":{"get":{"operationId":"pageToMarkdown","summary":"Page to Markdown - convert a web page into clean LLM-ready Markdown","description":"Page to Markdown: convert any public web page URL into clean, LLM-ready Markdown. HTML to Markdown converter / web scraper for AI agents, RAG and LLM context: title as # heading, headings, paragraphs, lists, links as [text](href), code blocks; nav, footer, ads and scripts stripped. Returns JSON {url,title,markdown,wordCount,summary?} or raw text/markdown with Accept: text/markdown. Web scraping, content extraction, readability, html2md, crawl. GET /markdown?url=<url>&summary=true","tags":["Scraping"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","minLength":8,"maxLength":2048,"pattern":"^https?://","description":"Public http(s) URL of the web page to scrape/extract"},"description":"Public http(s) URL of the web page to scrape/extract"},{"name":"summary","in":"query","required":false,"schema":{"type":"boolean"},"description":"If true, include a short extractive summary of the page"},{"name":"Accept","in":"header","required":false,"schema":{"type":"string","enum":["application/json","text/markdown"]},"description":"text/markdown returns the raw markdown body"}],"responses":{"200":{"description":"Markdown of the page","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":["string","null"]},"markdown":{"type":"string","description":"Clean Markdown of the main content"},"wordCount":{"type":"integer"},"summary":{"type":"string"}},"required":["url","markdown","wordCount"]},"example":{"url":"https://example.com/","title":"Example Domain","markdown":"# Example Domain\n\nThis domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.\n","wordCount":27,"summary":"This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes."}},"text/markdown":{"schema":{"type":"string"},"example":"# Example Domain\n\nThis domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.\n"}}},"402":{"description":"Payment Required"}}}},"/meta":{"get":{"operationId":"pageMeta","summary":"Page metadata - OpenGraph, SEO tags and contact info as JSON","description":"Page metadata / SEO / OpenGraph extractor: give any public web page URL, get JSON with title, meta description, keywords, canonical URL, robots, lang, favicon, OpenGraph and Twitter card tags, h1 headings, hreflang alternates, RSS/Atom feeds, JSON-LD schema.org types and contact info (emails, phone numbers, social profile links). Link preview, SEO audit, lead enrichment for AI agents. GET /meta?url=<url>","tags":["Scraping"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"url","in":"query","required":true,"schema":{"type":"string","minLength":8,"maxLength":2048,"pattern":"^https?://","description":"Public http(s) URL of the web page to scrape/extract"},"description":"Public http(s) URL of the web page to scrape/extract"}],"responses":{"200":{"description":"Page metadata","content":{"application/json":{"schema":{"type":"object","properties":{"url":{"type":"string"},"title":{"type":["string","null"]},"description":{"type":["string","null"]},"keywords":{"type":["string","null"]},"canonical":{"type":["string","null"]},"robots":{"type":["string","null"]},"lang":{"type":["string","null"]},"favicon":{"type":["string","null"]},"themeColor":{"type":["string","null"]},"author":{"type":["string","null"]},"generator":{"type":["string","null"]},"openGraph":{"type":"object","additionalProperties":{"type":"string"}},"twitter":{"type":"object","additionalProperties":{"type":"string"}},"h1":{"type":"array","items":{"type":"string"}},"h2Count":{"type":"integer"},"alternates":{"type":"array","items":{"type":"object","properties":{"hreflang":{"type":"string"},"href":{"type":"string"}}}},"feeds":{"type":"array","items":{"type":"string"}},"jsonLdTypes":{"type":"array","items":{"type":"string"}},"contact":{"type":"object","properties":{"emails":{"type":"array","items":{"type":"string"}},"phones":{"type":"array","items":{"type":"string"}},"socials":{"type":"array","items":{"type":"string"}}}}},"required":["url","openGraph","twitter","contact"]},"example":{"url":"https://example.com/","title":"Example Domain","description":null,"keywords":null,"canonical":null,"robots":null,"lang":"en","favicon":"https://example.com/favicon.ico","themeColor":null,"author":null,"generator":null,"openGraph":{"title":"Example Domain","type":"website","image":"https://example.com/og.png"},"twitter":{"card":"summary_large_image"},"h1":["Example Domain"],"h2Count":0,"alternates":[],"feeds":[],"jsonLdTypes":["Organization"],"contact":{"emails":["hello@example.org"],"phones":["+1-555-0100"],"socials":["https://github.com/example"]}}}}},"402":{"description":"Payment Required"}}}},"/":{"get":{"operationId":"info","summary":"Service info","security":[],"responses":{"200":{"description":"OK"}}}},"/health":{"get":{"operationId":"health","summary":"Health check","security":[],"responses":{"200":{"description":"OK"}}}},"/openapi.json":{"get":{"operationId":"openapi","summary":"This document","security":[],"responses":{"200":{"description":"OK"}}}}}}