{"service":"fetchwerk","currency":"USDC","network":"eip155:8453","network_name":"Base Mainnet","pay_to":"0x2880EdfFF13100677Bf97A3CBdF3Bc34771C4E5E","settlement":"per request, no account, no API key","endpoints":[{"method":"POST","path":"/extract","price_usdc":"0.001","amount_units":"1000","tool":"extract_url","summary":"Fetch one URL and return clean article Markdown without navigation, ads or cookie banners."},{"method":"POST","path":"/metadata","price_usdc":"0.002","amount_units":"2000","tool":"url_metadata","summary":"Return title, description, OpenGraph card, canonical URL, feeds, favicon and detected technologies for one URL."},{"method":"POST","path":"/structured","price_usdc":"0.005","amount_units":"5000","tool":"extract_structured","summary":"Fill a caller supplied JSON Schema from one web page and report source and confidence for every field."},{"method":"POST","path":"/diff","price_usdc":"0.003","amount_units":"3000","baseline_price_usdc":"0.001","baseline_amount_units":"1000","tool":"page_diff","summary":"Compare a page against its last stored state, or two supplied documents, and report only the content changes."},{"method":"POST","path":"/batch/extract","price_usdc":"0.008","amount_units":"8000","tool":"extract_batch","summary":"Extract up to ten URLs in one paid call."},{"method":"POST","path":"/product","price_usdc":"0.005","amount_units":"5000","tool":"extract_product","summary":"Return the structured offer of one product page: identifiers, price, availability, shipping, variants, ratings, images and seller, each with its source."}],"notes":["Cache hits are billed at the same rate; they simply answer faster.","Failed extractions are rejected before settlement, so a failure is never charged.","POST /diff costs 0.001 USDC when no earlier state exists for the URL: that call only stores the baseline. The price is fixed in the 402 challenge before any payment is signed.","POST /diff with changed=false is a complete, billable answer. Nothing is invented to justify the price.","On /structured a schema that is too large, too deep or uses unsupported keywords is refused before the price offer.","On /structured with strict=true a schema violation is an error, not a partial result, and stays uncharged."]}