Sitemap & On-Page Crawl avatar

Sitemap & On-Page Crawl

Pricing

$4.20 / 1,000 page analyzeds

Go to Apify Store
Sitemap & On-Page Crawl

Sitemap & On-Page Crawl

Discovers a site's sitemap via robots.txt, crawls up to maxPages pages with CheerioCrawler, and returns per-page SEO/on-page metrics.

Pricing

$4.20 / 1,000 page analyzeds

Rating

0.0

(0)

Developer

Mark

Mark

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What it does

Discovers a site's sitemap (via robots.txt, falling back to /sitemap.xml or /sitemap.txt), respects robots.txt disallow rules, then crawls up to maxPages of the listed pages with Crawlee's CheerioCrawler and returns one on-page SEO/metrics row per page.

Input

FieldTypeRequiredDescription
urlstringyesAny URL on the target site — its origin's robots.txt/sitemap is used.
maxPagesintegernoMax pages to crawl (default 100).

Output example

One row per crawled page in the default dataset:

{
"url": "https://crawlee.dev/blog",
"status": 200,
"title": "Crawlee Blog - learn how to build better scrapers | Crawlee for JavaScript · Build reliable crawlers. Fast.",
"metaDescription": "Guides and tutorials on using Crawlee, the most reliable open-source web scraping and browser automation library for JavaScript and Node.js developers.",
"h1": null,
"canonical": "https://crawlee.dev/blog",
"wordCount": 1370,
"internalLinks": 82,
"externalLinks": 64,
"imagesWithoutAlt": 0,
"loadMs": 471
}

Pricing

Pay-per-event (PPE). One page-analyzed event is charged per dataset row via Actor.charge({ eventName: 'page-analyzed' }) — never charged for a page that errors before a row is pushed. Configure the event at $0.0042/page-analyzed in the Apify Console pricing step (policy/RULES.md rule 3: ~10% under apify/sitemap-extractor's $0.0005/item baseline scaled to a full on-page pass, and 10x under the $0.04/page audit-tool alternative).

Limits

Free-plan compute only (policy/RULES.md rule 4). No residential proxy needed. JS-rendered content is not executed (Cheerio, not a browser) — pages that inject title/meta/h1 via client-side JS will show blank/null for those fields. No personal data in output (rule 1).