RAG Web Browser — URL & Website to Markdown for LLM & RAG avatar

RAG Web Browser — URL & Website to Markdown for LLM & RAG

Pricing

$2.00 / 1,000 url converteds

Go to Apify Store
RAG Web Browser — URL & Website to Markdown for LLM & RAG

RAG Web Browser — URL & Website to Markdown for LLM & RAG

Search the web or pass URLs, get clean Markdown, plain text or HTML for LLM and RAG pipelines. Follows links, streams results, no per-run fee.

Pricing

$2.00 / 1,000 url converteds

Rating

0.0

(0)

Developer

SR

SR

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

2 days ago

Last modified

Share

RAG Web Browser: URL & Website to Markdown for LLM and RAG

Give it a search query or a list of URLs. Get back clean Markdown, plain text or HTML, ready to chunk and embed. It reads the live web for your LLM the way a search tool inside a chat assistant does, without you running browsers, proxies or a bot-detection arms race.

Point it at one page, a whole site, or a question you want answered from current sources.

What it does

  • Search the web, then read the results. Pass a query and it fetches the top N results and converts each page to Markdown. One step instead of a SERP scraper plus a content scraper.
  • Convert known URLs in bulk. Pass a list and it processes them in parallel, streaming rows into the dataset as each finishes rather than making you wait for the slowest page.
  • Crawl a site. Set a depth and it follows in-content links, stays on the domain unless you say otherwise, and stops at a hard page cap you control.
  • Three output formats. Markdown, plain text, and HTML, any combination, on the same row.
  • Pay per page, no run fee. Several actors in this category charge a fixed fee every time a run starts, on top of per-result pricing. This one does not, and it does not charge for pages it failed to fetch.

Quick start

Search the web and read the top 5 results:

{
"query": "best vector database for RAG",
"maxResults": 5
}

Convert specific pages, with plain text alongside the Markdown:

{
"urls": [
"https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
"https://example.com/pricing"
],
"outputFormats": ["markdown", "text"]
}

Crawl a documentation site, capped at 50 pages:

{
"urls": ["https://docs.example.com/getting-started"],
"crawlDepth": 2,
"maxCrawlPages": 50,
"sameDomainOnly": true,
"excludeUrlPatterns": ["/tag/", "/author/", "?replytocom"]
}

Input

FieldTypeDefaultDescription
querystringSearch the web and convert the top results. A single URL pasted here is fetched directly instead.
urlsarraySpecific pages to convert. Bare domains like example.com are accepted. Works alongside query.
maxResultsinteger5How many search results to fetch. Search mode only.
searchLanguagestringTwo-letter code (en, de, nl) to narrow results by language.
outputFormatsarray["markdown"]Any of markdown, text, html.
includeMetadatabooleantrueAdds title, description, publishedTime, finalUrl.
minContentLengthinteger200Pages thinner than this are flagged, not dropped.
crawlDepthinteger00 fetches only what you asked for. 1 also follows links found in those pages. Max 3.
maxCrawlPagesinteger10Hard ceiling on pages fetched during a crawl. This is your cost cap.
sameDomainOnlybooleantrueKeep the crawl on the starting domain.
excludeUrlPatternsarraySkip URLs containing any of these substrings. Case-insensitive.
concurrencyinteger10Pages in parallel. See the note below before raising it.
requestTimeoutSecsinteger30Per-attempt timeout for one page.
hedgeDelaySecsinteger4If the first extraction backend has not answered in this many seconds, a second is tried in parallel and the first good result wins.
maxRetriesinteger2Retries per backend for a rate-limited or failed page.

Every field has a default. The minimum viable input is a query or a single URL.

Output

One row per page:

{
"url": "https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
"finalUrl": "https://en.wikipedia.org/wiki/Retrieval-augmented_generation",
"title": "Retrieval-augmented generation",
"description": "Retrieval-augmented generation (RAG) is a technique that enables large language models to retrieve and incorporate new information from external data sources.",
"publishedTime": "2023-11-05T13:19:20Z",
"markdown": "From Wikipedia, the free encyclopedia\n\n**Retrieval-augmented generation**...",
"wordCount": 2100,
"length": 14822,
"provider": "provider_a",
"fetchedInSeconds": 0.61
}

Search results also carry searchQuery, searchRank, searchTitle, searchSnippet and searchEngine. Crawled pages carry crawlDepth and seedUrl. A page that could not be fetched comes back as a row with an error explaining why, so a partial failure never silently shrinks your dataset.

Results are pushed as each page completes, so you can start reading the dataset while the run is still going. Download as JSON, JSONL, CSV or Excel, stream via the Apify API, or pipe to a webhook, S3, or BigQuery.

Notes worth reading before you scale up

Concurrency. The default of 10 is a measured throughput peak, not a conservative guess. The extraction backends rate-limit per source IP: a 15-page burst at concurrency 10 from a single IP gets throttled on 14 of 15 requests. This Actor handles that by moving a throttled backend onto rotating egress for the rest of the run, which is why a 30-page batch completes in full rather than losing a handful of pages. Pushing concurrency to 25 made throughput worse in testing (3.4 pages/sec at 10, 1.1 at 25). Raise it only if you measure a gain.

HTML output is rendered from the extracted Markdown. It is clean, structured HTML, but it is not the origin page's own markup, which the extraction step has already discarded along with the nav bars and cookie banners.

Crawl links come from the extracted Markdown, so they are in-content links. Navigation chrome that the extractor stripped is not followed. For a RAG crawl that is usually what you want.

Where search results come from. Search mode queries a web index and each row records its searchEngine. It is not Google's index, and this Actor does not claim to be. If you need Google specifically, pair a dedicated SERP Actor with this one in URL mode.

How it compares

This ActorFirecrawlTavilyWebsite Content Crawler
Run without your own API keyYesNo, needs a Firecrawl keyNo, needs a Tavily keyYes
Search query as inputYesYesYesNo, URL only
Markdown, text and HTMLYesYesMarkdownYes
Crawl with a hard page capYesYesLimitedYes
Per-run start feeNoneMonthly creditsMonthly creditsPlatform compute
Charges for failed pagesNoVariesVariesCompute is billed regardless

If you already run jobs on Apify, this keeps web-to-Markdown in the same account, dataset format and billing as everything else.

FAQ

How is this different from a plain URL to Markdown converter?

A converter takes one URL and returns one document. This takes a question and returns the current web's answer to it as documents, or takes a site and returns the whole readable surface of it. Search mode and crawl mode are the difference, and both feed the same clean row shape.

Why does my page come back with a contentWarning instead of content?

It has content, just less than minContentLength (200 characters by default). Genuinely short pages, stubs and brief news items are returned flagged rather than thrown away. Lower minContentLength to silence it, or raise it to be stricter about thin pages.

What happens when a page is behind a bot wall?

The Actor detects interstitials (Cloudflare challenges, "enable JavaScript" stubs, captcha pages) and refuses to pass them off as content. It tries the other extraction backend, and if the wall holds, the row comes back with an error naming the reason. You are not charged for it.

Can I use it as an HTTP endpoint instead of starting a run?

Yes. Standby mode serves the same pipeline over HTTP, so an agent can request a page mid-conversation without paying Actor start latency each call. Pass the same fields as query parameters, for example ?query=vector+databases&maxResults=3 or ?urls=https://a.com&urls=https://b.com.

How much does a run cost?

Pay-per-event: you are billed per page successfully converted, with no monthly minimum and no fee for starting a run. Failed pages and pages dropped by a plan limit are not billed. A 100-page crawl costs 100 page events. See the Store page for the current per-page price.

Can I schedule it?

Yes, via Apify's built-in scheduler. A common setup is a nightly crawl of a docs site with crawlDepth set, diffing against the previous run to re-embed only what changed.

Is there a free tier?

Free-plan Apify accounts get 10 results per run. Paid plans have no cap. The limit is per run, so free users can still evaluate every feature.