{"uid":"cap_DBrjN6WDxsCvG1MFlIP2R","slug":"pagewatch-web-page-data-extractor-40bb0474","name":"PageWatch Web Page Data Extractor","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.erikssonanton2001.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/pricing","data":{"name":"Example product","price":1299.5,"source":"json-ld","currency":"SEK","availability":"InStock"},"meta":{"matched":1,"truncated":false},"mode":"price","final_url":"https://example.com/pricing","fetched_at":"2026-10-17T08:00:00.000Z"}},"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":"down","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_7mM-5sDJBpkpPhG6pZN-5","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, links, events, JSON) from public static web pages using CSS selectors and JSONPath","exampleAgentPrompt":"Can you extract the price from this product page — https://www.example.com/product/widget — using the price extraction mode?","exampleUseCases":[{"title":"Competitor price monitoring","prompt":"Extract the current price from https://www.competitorsite.com/product/model-x using price mode so I can compare it to ours."},{"title":"Public event schedule scraping","prompt":"Scrape the upcoming events list from https://www.cityevents.org/calendar — use the events mode and return it as ICS format so I can add them to my calendar."},{"title":"Extract table from government data page","prompt":"Pull the second table from https://www.stats.gov/data/population-by-region using table mode with table index 1 and return it as CSV."}],"resultDescription":"A JSON object containing the extracted data under a 'data' field (type depends on mode — scalar, array, or object), plus metadata including the extraction mode used, number of matches, whether results were truncated, the final resolved URL, and the timestamp when the page was fetched.","failureModes":["URL is not publicly accessible or requires authentication — returns error","Page uses JavaScript rendering — static HTML only, dynamic content will not be present","CSS selector matches nothing — returns empty or null data","Invalid or unsupported URL (non-public DNS, non-standard ports) — rejected","JSONPath expression matches nothing in the JSON payload — empty result","Table index out of bounds — no data returned","Malformed CSS selector or JSONPath — validation error","Page returns non-200 HTTP status — fetch error"],"whenToPreferThis":"Choose this endpoint when you need to extract specific structured data from a known public static HTML page — especially prices, tables, event lists, or links — and you can provide a CSS selector or JSONPath to target the data. It is ideal for lightweight, single-page extraction tasks where the target page does not require JavaScript rendering or authentication. Prefer alternatives if the target page is JavaScript-heavy (SPA), requires login, or you need to crawl multiple pages.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-19T22:25:03.051Z","isFirstParty":false,"canonicalSlug":"pagewatch-web-page-data-extractor-40bb0474"}