{"uid":"cap_z6zFZuv1v5-gRSVBSFI3t","slug":"web-page-scraper-with-structured-json-extraction-e8b60caf","name":"Web Page Scraper with Structured JSON Extraction","description":"Scrapes a URL and returns structured JSON: title, meta tags, headings, paragraphs, links, tables, extracted emails and phone numbers, and word counts. Accepts a single 'url' or a list of 'urls' for batch scraping. Includes retry logic and anti-detection headers.","url":"https://app-446.hdgregory.com/run?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","description":"Single URL to scrape (required unless 'urls' given)"},"urls":{"type":"array","items":{"type":"string"},"description":"List of URLs for batch mode instead of 'url'"},"timeout":{"type":"integer","description":"Fetch timeout in seconds (default 15)"},"max_retries":{"type":"integer","description":"Fetch retry attempts (default 3)"},"delay_between":{"type":"number","description":"Delay in seconds between requests, batch mode only (default 1.0)"},"normalize_links":{"type":"boolean","description":"Resolve relative links to absolute URLs (default true)"},"extract_tables_as_records":{"type":"boolean","description":"Convert HTML tables to key/value records (default true)"}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.005","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":{"p10Cents":"0.5000","medianCents":"0.5000","p90Cents":"0.5000","minCents":"0.5000","maxCents":"0.5000","p95Cents":"0.5000","sampleCount":1,"varies":false,"failureChargeRate":1},"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.005/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.005","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_gJHfkGE6FrzX7emAc9S97","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.005","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Scrapes one or more URLs and returns structured JSON containing title, meta tags, headings, paragraphs, links, tables, extracted emails, phone numbers, and word counts.","exampleAgentPrompt":"Scrape https://example.com/about and give me all the emails, phone numbers, headings, and links you find on the page as structured JSON.","exampleUseCases":[{"title":"Contact info harvesting from directory","prompt":"Scrape https://somedirectory.com/contractors and extract all email addresses and phone numbers you can find — I want them in a clean structured format."},{"title":"Competitive page content analysis","prompt":"Fetch https://competitor.com/pricing and pull out all the headings, paragraphs, and tables so I can analyze their pricing structure."},{"title":"Batch link and metadata extraction","prompt":"Scrape these three pages — https://site.com/page1, https://site.com/page2, and https://site.com/page3 — and return the title, meta tags, and all outbound links from each one."}],"resultDescription":"Returns a JSON object with a success flag and a result object containing: fetch metadata, parsed content (title, meta tags, headings, paragraphs, links, tables), extracted entities (emails, phone numbers), word counts, a schema version string, and any errors encountered during scraping.","failureModes":["URL is unreachable or returns a non-200 status after retries — error string returned in result.errors","Malformed or non-HTTP URL provided — validation error returned","Target page uses JavaScript rendering and content is not available in raw HTML — partial or empty parse result","Rate limiting or bot detection by target site despite anti-detection headers — fetch failure or incomplete content","Timeout exceeded for slow-loading pages — partial result or error after configured timeout"],"whenToPreferThis":"Choose this endpoint when you need structured extraction of multiple content types (text, links, contact info, tables, meta) from a webpage in a single call, especially when batch scraping multiple URLs or when you need retry logic and anti-detection headers built in. Prefer over simpler fetch tools when you need contact information (emails, phone numbers) or table records automatically parsed out.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-16T00:32:45.721Z","isFirstParty":false,"canonicalSlug":"web-page-scraper-with-structured-json-extraction-e8b60caf"}