{"uid":"cap_rljIh-hx9pl9N9zjDbbVW","slug":"readfetch-single-url-web-scraper-790703ac","name":"ReadFetch Single-URL Web Scraper","description":"JavaScript rendering and web scraping for agents: load a public URL in a real browser session, optionally scroll, wait for selectors, run JS, set headers, cookies or auth, and return Markdown, text or HTML with the page's links.","url":"https://readfetch.com/v1/scrape?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"url":{"type":"string","title":"Url","format":"uri","maxLength":2083,"minLength":1},"auth":{"anyOf":[{"$ref":"#/$defs/Auth"},{"type":"null"}],"default":null},"mode":{"enum":["fast","render","full"],"type":"string","title":"Mode","default":"render"},"fresh":{"type":"boolean","title":"Fresh","default":false},"egress":{"type":"string","title":"Egress","description":"Exit to leave through: `direct` (this service's own datacentre egress) or `residential` (a residential address pool, for targets that refuse datacentre addresses). Omit to use the default route."},"format":{"enum":["markdown","text","html"],"type":"string","title":"Format","default":"markdown"},"options":{"anyOf":[{"$ref":"#/$defs/ScrapeOptions"},{"type":"null"}],"default":null,"deprecated":true,"description":"Deprecated — use `advanced` instead (same ScrapeOptions shape). Scheduled for removal in a future API semver bump."},"advanced":{"anyOf":[{"$ref":"#/$defs/ScrapeOptions"},{"type":"null"}],"default":null},"egress_fallback":{"type":"string","title":"Egress Fallback","description":"Pool to retry through once when the first attempt is refused (bot check, wall, empty extraction, origin 403/429/5xx); must differ from `egress`. Absent keeps one exit for the whole call."}}},"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":null,"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_MSCptjuBxfzKMmi3vZuq1","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":"Loads a public URL in a real browser session with optional JS execution, scrolling, and selector waiting, returning the page as Markdown, text, or HTML with links.","exampleAgentPrompt":"Load https://news.ycombinator.com in a real browser, wait for the page to fully render, and give me the content as Markdown including all the links.","exampleUseCases":[{"title":"Scrape JS-rendered product page","prompt":"Fetch https://www.nike.com/t/air-max-270-shoes in render mode and return the page as Markdown — I need the product description, price, and any links on the page."},{"title":"Bypass bot detection with residential IP","prompt":"Scrape https://www.linkedin.com/in/someprofile using a residential IP exit so it doesn't block me, and return the full page text."},{"title":"Extract content from authenticated page","prompt":"Load https://app.example.com/dashboard using these session cookies and return the page as Markdown — I need all the text content and links from that page."}],"resultDescription":"Returns the scraped page content in the requested format (Markdown, plain text, or HTML), along with any links found on the page. The response reflects the fully rendered DOM after JavaScript execution, scrolling, and any specified wait conditions have completed.","failureModes":["Target site blocks the request even through residential egress — returns error or empty extraction","Selector never appears on page, causing a timeout","URL is malformed or unreachable — returns 4xx or connection error","Page requires auth that was not supplied — returns login page content instead of target content","Rate limiting or anti-bot measures return a 403/429 from the target site"],"whenToPreferThis":"Use this endpoint when you need to scrape a single URL from a JavaScript-rendered page and want fine-grained control over render mode, output format, headers, cookies, auth, and egress pool. Prefer this over the batch endpoint for one-off fetches, over the residential-only endpoint when datacenter egress is sufficient, and over lightweight HTTP-only fetchers when the target page requires JS execution to render its content.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-31T18:34:34.963Z","isFirstParty":false,"canonicalSlug":"readfetch-single-url-web-scraper-790703ac"}