Website Content Crawler — Text, Titles & Metadata
Pricing
from $0.0024 / page scraped
Website Content Crawler — Text, Titles & Metadata
Extract clean, readable content from any list of websites: page title, meta description, headings, main body text, word count and link/image counts. Optional same-domain crawl. Bulk-ready, no browser, no login. Great for LLM/RAG ingestion, content audits and research.
Pricing
from $0.0024 / page scraped
Rating
0.0
(0)
Developer
hiper soft
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Turn any list of websites into clean, structured content. For each page the Actor extracts the title, meta description, headings, main body text (boilerplate stripped), word count, language and link/image counts — over plain HTTP, no browser and no login. Optionally crawl internal links to pull a whole section.
Ideal for LLM/RAG ingestion, content audits, competitive research, and building text datasets from many sites at once.
What you get per page
| Field | Notes |
|---|---|
title, description, lang | Page title, meta/OG description, <html lang>. |
text | Readable body text with scripts/nav/header/footer stripped; prefers <main>/<article>. |
wordCount | Word count over the full extracted text. |
headings | h1/h2 outline (level + text). |
internalLinkCount, externalLinkCount, imageCount | Structure signals. |
links | Arrays of internal/external links (toggle off to slim the output). |
canonicalUrl, domain, depth | Canonical link, host, and crawl depth. |
Input
{"urls": ["https://apify.com/blog", "example.com"],"crawl": true,"maxPagesPerDomain": 20,"maxDepth": 2}
- urls — pages/sites to extract, one per line. (Or use startUrls.)
- crawl — follow same-domain links (BFS). Off = just the given URLs.
- maxPagesPerDomain / maxDepth — crawl limits.
- sameDomainOnly — keep the crawl on the start domain (default on).
- includeLinks — include the internal/external link arrays (counts always included).
- textMaxChars — truncate stored body text (word count uses the full text).
- maxConcurrency / maxItems — parallelism and a global page cap.
- proxyConfiguration — optional; enable if a target blocks datacenter IPs.
Output (one row per page)
{"input": "https://apify.com/blog","url": "https://apify.com/blog","domain": "apify.com","depth": 0,"title": "Apify Blog","description": "News and tutorials…","lang": "en","headings": [{ "level": 1, "text": "Apify Blog" }],"text": "…clean readable content…","wordCount": 812,"internalLinkCount": 47,"externalLinkCount": 6,"imageCount": 12,"error": null}
Notes
Every site is hard-capped in time so one slow page can never stall a bulk run. Only publicly available page content is collected; respect each site's terms.