{"uid":"cap_V4dTe8rj8jJ7UrhUV6nst","slug":"pagewatch-web-extraction-api-b51f95fc","name":"PageWatch Web Extraction API","description":"Extract prices, lists, tables and events from public web pages and get notified when they change. RSS, ICS, signed webhooks, MCP. Static HTML only.","url":"https://pagewatch.zenith-ops.workers.dev/v1/pro/extract?utm_source=zero.xyz","method":"GET","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":["GET"],"type":"string"},"queryParams":{"type":"object","required":["url"],"properties":{"all":{"type":"string","description":"mode=text: return every match instead of the first (true/false)."},"url":{"type":"string","description":"Public http(s) page URL (ports 80/443, public DNS name)."},"attr":{"type":"string","description":"Attribute name for mode=attr."},"mode":{"enum":["text","attr","list","table","price","events","page","links","json"],"type":"string","description":"What to extract. Default text."},"match":{"type":"string","description":"Regular expression filter for mode=links."},"fields":{"type":"string","description":"JSON object for mode=list: {\"name\":\"css\" or \"css@attr\"}, max 20 fields."},"format":{"enum":["json","csv","ics"],"type":"string","description":"json (default), csv, or ics (events mode)."},"jsonpath":{"type":"string","description":"JSONPath-lite for mode=json, for example $.items[0].price."},"sameHost":{"type":"string","description":"mode=links: only links on the page's own host (true/false)."},"selector":{"type":"string","description":"CSS selector (max 300 characters). Required for text, attr and list."},"tableIndex":{"type":"string","description":"mode=table: zero-based index of the table to read."}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object"}}}}},"responseSchema":{"type":"json","example":{"url":"https://example.com/","data":{"h1":[],"title":"Example Domain","canonical":null,"wordCount":25,"contentHash":"e4d13b4926b39ea0","description":null},"meta":{"matched":1,"truncated":false},"mode":"page","final_url":"https://example.com/","fetched_at":"2026-10-18T10:16:15.654Z"}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.002","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.002/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.002","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ulD_EadSQ2QJ-TXxh-GHZ","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.002","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Extracts structured data (prices, lists, tables, events, links, text) from public web pages using CSS selectors and various extraction modes","exampleAgentPrompt":"Can you extract the current price from this product page https://example.com/product/123 using the CSS selector '.price-now' in price mode?","exampleUseCases":[{"title":"Track competitor product pricing","prompt":"Pull the price from https://shop.competitor.com/item/widgets using the CSS selector '.product-price' in price mode — I want to know what they're charging right now."},{"title":"Extract event listings from a public calendar","prompt":"Grab the list of upcoming events from https://cityevents.org/calendar using the CSS selector '.event-item' in events mode and give me the results as an ICS calendar file."},{"title":"Scrape a comparison table from a webpage","prompt":"Extract the first table from https://broadbandcompare.com/plans — use table mode with tableIndex 0 — I need all the plan names and prices in JSON format."}],"resultDescription":"Returns a JSON object containing the extracted data under a 'data' key, the extraction mode used, the final resolved URL, a fetch timestamp, and metadata including match count and whether results were truncated. For 'page' mode, includes title, headings, word count, content hash, canonical URL, and description. For other modes, data is mode-specific (price string, array of list items, array of table rows, etc.).","failureModes":["URL is not publicly accessible or uses a non-standard port — returns error","Page requires JavaScript rendering (only static HTML is supported) — returns empty or incomplete data","CSS selector is malformed or exceeds 300 characters — returns validation error","Selected element or table index not found on page — returns empty match with matched:0","URL resolves to a private IP or non-public DNS — blocked for security","fields parameter exceeds 20 fields in list mode — returns validation error","Requested URL returns non-HTML content — extraction may fail or return unexpected results"],"whenToPreferThis":"Choose this endpoint when you need to extract specific structured data from a known static public web page — particularly prices, tables, event lists, or CSS-targeted text — without needing JavaScript rendering. It is ideal for one-shot data pulls from product pages, public directories, or news sites. Prefer alternatives if the target page requires JavaScript (SPA/React sites), requires authentication, or if you need full-site crawling rather than single-page extraction.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T06:33:23.450Z","isFirstParty":false,"canonicalSlug":"pagewatch-web-extraction-api-b51f95fc"}