Web Scraper For Llms icon

Web Scraper For Llms

Stealth web scraping engine built for LLMs. Converts any web page to clean markdown or HTML

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

Web Scraper For Llms at a glance

Web Scraper For Llms is a ready-to-run Apify actor from abotapi for collecting ai data. Its documented output includes url, title, ok, duration (ms) and scraped at, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
AI, Developer Tools, Automation
Pricing
$2.00 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
27 options

Stealth web scraping engine built for LLMs. Converts any web page to clean markdown or HTML

What Web Scraper For Llms can do

  • Two ways to collect pages. Scrape a fixed list of URLs, or turn on crawl mode and let the actor follow links from a seed page to discover and read the rest of a site.
  • Markdown and HTML output. Choose one format or both, per run, so the content slots straight into a prompt, a vector store, or a content pipeline.
  • Automatic content cleaning. Navigation, headers, footers, sidebars, ads and tracking elements are stripped by default, so what you get is the page's actual content, not the surrounding layout.
  • Handles slow and script heavy pages. A page is read with a quick request first, and the actor automatically falls back to full page rendering when a site needs JavaScript to show its content or blocks a simple request.
  • Page details with every record. Title, language, favicon and canonical URL come back alongside the content, no extra parsing required.
  • Fine grained control when you need it. CSS selectors to keep or drop specific elements, regex patterns to include or exclude URLs during a crawl, and a selector to wait for before reading a page.

Choose what to collect

These inputs let you configure Web Scraper For Llms. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
urlsarray · requiredURLs to scrape. When crawl is enabled, each URL is used as a seed to discover linked pages.
crawlbooleanWhen enabled, the scraper will follow links from each URL to discover and scrape additional pages. Use Crawl Depth and Max Pages below to control how far it goes.
crawlDepthintegerHow many link hops from the starting URL. Ignored when crawl is off.
crawlMaxPagesintegerMaximum pages to discover per seed URL. Ignored when crawl is off. When left empty, a hard cap of 20 pages per seed applies; the value cannot exceed 1000.
formatsarrayWhich content formats to extract.
concurrencyintegerNumber of URLs to process in parallel.
maxRetriesintegerMaximum retry attempts for failed URLs. Ignored when crawl is on.
Show 20 more inputs
More input fields
InputWhat it controls
timeoutMsintegerRequest timeout per URL in milliseconds.
waitForSelectorstringCSS selector to wait for before considering page loaded. Ignored when crawl is on.
crawlerTypestringauto tries a fast HTTP fetch first and falls back to a browser. http never starts a browser (fastest, no JavaScript). browser always renders the page. In crawl mode, link discovery always uses the browser.

Choices: auto, http, browser

maxResultsintegerStop after this many pages have been saved in total (0 = the maximum of 1,000,000). Failed URLs do not count.
customHttpHeadersobjectHeaders sent with each page request, as a JSON object. Not applied during crawl-mode link discovery.
onlyMainContentbooleanExtract only main content, removing nav/header/footer/sidebar. Ignored when crawl is on.
removeAdsbooleanRemove ads and tracking elements.
removeBase64ImagesbooleanRemove base64-encoded images to reduce output size.
includeTagsarrayCSS selectors for elements to include. If set, only matching elements are kept. Ignored when crawl is on.
excludeTagsarrayCSS selectors for elements to exclude from output. Ignored when crawl is on.
includePatternsarrayRegex patterns for URL filtering. In crawl mode, controls which discovered links to follow.
excludePatternsarrayRegex patterns for URL filtering. In crawl mode, controls which discovered links to skip.
includeUrlGlobsarrayOnly follow or scrape URLs matching one of these globs (for example https://example.com/blog/). Combined with the regex patterns above.
excludeUrlGlobsarraySkip URLs matching one of these globs.
respectRobotsTxtFilebooleanOn by default. Turn off only for sites whose robots.txt you are allowed to ignore.
keepUrlFragmentsbooleanCrawl mode: keep the #fragment of discovered links instead of removing it.
onlyCrawlPagesModifiedSincestringISO date (2025-01-31) or relative text (7 days). Pages whose Last-Modified header or sitemap lastmod is older are skipped. Pages without that information are kept.
mcpConnectorsarrayOptionally send a condensed summary of each result into the apps you already use, via Model Context Protocol (MCP) connectors. The full record stays in the dataset. Leave empty to skip. Supported: Notion, Linear, Airtable, Apify.
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

urlURL (link)
titleTitle (text)
successOK (boolean)
durationDuration (ms) (number)
scrapedAtScraped At (text)
markdownContent (text)
crawl.loadedUrlLoaded URL (link)
crawl.httpStatusCodeHTTP status (number)
crawl.depthDepth (number)
crawl.referrerUrlReferrer (link)
crawl.contentTypeContent type (text)
crawl.contentLengthBytesBytes (number)
Show 7 more fields
crawl.loadedTimeLoaded at (text)
metadata.canonicalUrlCanonical URL (link)
metadata.titleMeta title (text)
metadata.descriptionMeta description (text)
metadata.authorAuthor (text)
metadata.languageCodeLanguage (text)
metadata.keywordsKeywords (text)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "url": "https://example.com/blog/how-rag-pipelines-work",
  "title": "How RAG Pipelines Work",
  "description": null,
  "markdown": "# How RAG Pipelines Work\n\nRetrieval augmented generation combines a search step with a language model, so answers can draw on content the model was never trained on.",
  "html": "<article><h1>How RAG Pipelines Work</h1><p>Retrieval augmented generation combines a search step with a language model.</p></article>",
  "metadata": {
    "title": "How RAG Pipelines Work",
    "language": "en",
    "favicon": "https://example.com/favicon.ico",
    "canonical": "https://example.com/blog/how-rag-pipelines-work",
    "description": null,
    "openGraph": null,
    "twitter": null
  },
  "duration": 4210,
  "scrapedAt": "2026-02-24T03:36:28.990Z",
  "success": true,
  "error": null
}

Ways to use this data

  • RAG pipelines and AI knowledge bases: turn a list of pages or a whole site into clean markdown chunks ready for embedding.
  • Documentation and content migration: crawl a docs site or blog and export every page as markdown in one run.
  • Research and monitoring: pull articles, product pages or listings on a recurring schedule and compare the results over time.
  • AI agent tooling: give an agent a single action that reads any URL and returns clean text instead of raw HTML.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does Web Scraper For Llms return?

The documented output for Web Scraper For Llms includes url, title, ok, duration (ms), scraped at, content, loaded url and http status. Availability of each field depends on the source page and the selected mode.

How much does Web Scraper For Llms cost?

It costs $2.00 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Why did a crawl return far more pages than Max Pages to Discover?

Max Pages to Discover is a limit per seed URL, not a total for the run. If you list five seed URLs with Crawl Mode on, the actor can return up to five times that number, one batch of discovered pages per seed. Reduce the number of seed URLs, or lower Max Pages to Discover, to control the total.

Why did my run fail instead of returning results?

With Crawl Mode off, the run ends as failed when the input has no URLs or when no URL at all could be loaded (every URL is listed under failedUrls in the run summary). If a specific page cannot be read, blocked, timed out, taken down, or refused by robots.txt, it is listed under failedUrls with an error message, no dataset row is written for it, and the run keeps going. In Crawl Mode, pages that cannot be opened or are disallowed by robots.txt during link discovery are skipped and not listed. A crawl whose pages take more than about five minutes to read can stop the run, but rows already written are kept. Lower Max Pages to Discover or split large crawls into several runs.

Can I use this with AI agents or MCP?

Yes. It is built to hand language models and RAG pipelines clean markdown instead of raw HTML, and like any Apify actor it can be called from an AI agent or an MCP client through Apify's integrations.

Ready to collect with Web Scraper For Llms?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.