Fetch rendered web content

From Litescrape, through Joshu Data Bodega.

Price
Price not listed

No calls measured in the last 30 days.

Prices include the router's 10% markup and are paid from the usage wallet. Checked on November 11, 2026.

Inputs

  • urlstring, required

    Public HTTP(S) URL to capture, 1-8,192 characters. Include http:// or https://; bare domains are rejected. The host must be public, on port 80 or 443, without embedded credentials.

  • basestring: initial, final, optional

    Resolve relative links against the requested URL (initial, default) or the final URL after redirects (final).

  • enginestring: auto, browser, curl, optional

    auto (default; lightweight HTTP first, a browser when needed), browser, or curl (no JavaScript).

  • localestring, optional

    Browser locale as a language tag, 2-64 characters. Defaults to the browser's own.

  • no_gfmstring, optional

    true, false or table: disable GitHub-flavored Markdown, or only its tables.

  • presetstring: reader, index, research, agent, spider, optional

    Option preset. Fills only the options the request leaves unset.

  • refererstring, optional

    HTTP(S) URL sent as the Referer.

  • timeoutnumber, optional

    Optional budget for the entire request in seconds, measured from gateway receipt until the response is ready to send. Includes admission, queueing and settlement. Must be greater than 0 and at most 90. On expiry, the call is not billed and returns 503 request_deadline_exceeded with retryable=true and a request ID. Omit to retain the standard server deadline.

  • max_tokensinteger, optional

    Integer 500-10,000,000. Trim content to this many tokens.

  • robots_txtstring, optional

    User agent, 1-256 characters, to check against the site's robots.txt; disallowed URLs are rejected.

  • user_agentstring, optional

    User-Agent for the page request, 1-1,024 characters without control characters. Defaults to the browser's own.

  • with_iframestring, optional

    true, false or quoted: include iframe content before extraction.

  • page_timeoutinteger, optional

    Seconds from 1 through 180 for page loading and browser operations. Cannot extend the total request budget set by timeout.

  • respond_withstring, optional

    Output format: content (default; main content as Markdown, or the whole page when extraction keeps too little), markdown (whole page as Markdown), html, text, frontmatter (content plus front matter), or a '+' combination such as markdown+frontmatter. For screenshots use /api/web/screenshot.

  • retain_linksstring: none, all, text, gpt-oss, optional

    Links to keep: all (default), text (link text only), none, or gpt-oss (citation format with a links summary).

  • retain_mediastring: none, text, link, image, html, optional

    How video, audio and embedded video appear: none, text, link (default), image or html.

  • token_budgetinteger, optional

    Integer 1-10,000,000. Reject the page when its token count exceeds the budget.

  • retain_imagesstring: none, all, alt, optional

    Images to keep: all (default), alt (alt text only) or none.

  • remove_overlayboolean, optional

    Remove modal and cookie-banner overlays from the page.

  • respond_timingstring: html, visible-content, mutation-idle, resource-idle, media-idle, network-idle, optional

    Page readiness condition to reach before responding.

  • remove_selectorstring, optional

    CSS selector removed before extraction, 1-2,048 characters; POST also accepts a list of 1-16 selectors.

  • target_selectorstring, optional

    CSS selector to extract, 1-2,048 characters; POST also accepts a list of 1-16 selectors. Implies waiting for the selector. Match-all selectors are rejected.

  • with_shadow_domboolean, optional

    Include open shadow DOM content before extraction.

  • detach_invisiblesboolean, optional

    Drop display:none elements from the page.

  • keep_img_data_urlboolean, optional

    Keep inline data: images in Markdown.

  • markdown_chunkingstring: true, h1, h2, h3, h4, h5, structured, s1, s2, s3, s4, s5, optional

    true, h1-h5, structured or s1-s5: split the Markdown and return chunks.

  • wait_for_selectorstring, optional

    CSS selector to wait for after navigation, 1-2,048 characters. POST also accepts a list of 1-16 selectors.

  • assert_status_codeinteger, optional

    Expected origin HTTP status, 100-599. A different status is rejected; otherwise a rendered error page is a successful capture.

  • with_links_summarystring, optional

    true, false or all: add a links list to the response.

  • with_images_summaryboolean, optional

    Add an images list to the response.

Call it

Router call with a router API key
curl https://hello.joshu.me/api/router/call \
  -H "Authorization: Bearer $JOSHU_ROUTER_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "endpoint": "litescrape.web.fetch",
    "params": {
      "url": "https://example.com/",
      "respond_with": "markdown"
    }
  }'