Website Content Extractor for LLM and RAG avatar

Website Content Extractor for LLM and RAG

Pricing

Pay per event

Go to Apify Store
Website Content Extractor for LLM and RAG

Website Content Extractor for LLM and RAG

Crawl any website and extract the main readable content of each page as clean markdown - nav, footers, scripts and ads stripped. Built for RAG pipelines and LLM ingestion. One record per page {url, title, markdown, word_count} plus a final site inventory.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Martello Systems

Martello Systems

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Website Content Extractor for LLM / RAG

Turn any website into clean markdown for RAG / LLM ingestion. Point it at a domain, and it discovers the site's pages, fetches each one, and extracts only the main readable content - navigation, headers, footers, scripts, cookie banners and ads are stripped out. You get tidy markdown ready to embed, chunk, or feed straight into a vector store.

What it does

  1. Discovers pages - parses sitemap.xml (and any sitemap index it points to, plus sitemaps named in robots.txt). If there's no sitemap, it falls back to a breadth-first crawl of same-domain links from the start URL.
  2. Extracts main content - uses trafilatura to pull the article body as markdown, with a readability-style heuristic fallback. No boilerplate, no markup noise.
  3. Outputs one record per page plus a final site inventory record.

Egress is routed through Apify residential proxies when available, so it keeps working on sites that block datacenter IPs.

Input

FieldTypeDefaultDescription
start_urlstring (required)-Domain or page to start from, e.g. https://example.com
max_pagesinteger25Cap on pages fetched and extracted (1-500)
same_domain_onlybooleantrueStay on the start URL's registered domain when following links
{
"start_url": "https://example.com",
"max_pages": 25,
"same_domain_only": true
}

Output

One dataset record per page:

{
"url": "https://example.com/pricing",
"title": "Pricing - Example",
"markdown": "# Pricing\n\nSimple, transparent plans...\n\n## Starter\n...",
"word_count": 412
}

Plus a final inventory record (also stored in the key-value store under SITE_INVENTORY):

{
"record_type": "inventory",
"start_url": "https://example.com",
"domain": "example.com",
"discovery_method": "sitemap",
"pages_discovered": 25,
"pages_extracted": 24,
"pages_failed": 1,
"total_words": 9123,
"extractor": "trafilatura",
"pages": [{ "url": "...", "title": "...", "word_count": 412 }]
}

Typical uses

  • Build a knowledge base from a company or docs site for a RAG chatbot.
  • Snapshot a competitor's site as markdown for LLM analysis.
  • Bulk-ingest content for embeddings / semantic search.