SEO Audit Tool & Website Crawler – Website SEO Checker avatar

SEO Audit Tool & Website Crawler – Website SEO Checker

Pricing

from $2.00 / 1,000 page auditeds

Go to Apify Store
SEO Audit Tool & Website Crawler – Website SEO Checker

SEO Audit Tool & Website Crawler – Website SEO Checker

Crawl a website and audit every page: title and meta description, H1, canonical, noindex, word count, images without alt, broken links, redirects and slow pages, with issue codes, a 0-100 SEO score per page and duplicate titles across the site. Plain HTTP, robots.txt respected.

Pricing

from $2.00 / 1,000 page auditeds

Rating

0.0

(0)

Developer

Rowfeed

Rowfeed

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Crawl any website and get an SEO audit of every page: title and meta description (text and length), H1 and H2, canonical, noindex, language, viewport, Open Graph, word count, images without alt text, broken links, redirects and slow pages. Each page gets a list of issue codes and a 0-100 SEO score, and titles and descriptions used on more than one page are flagged as duplicates. Built for SEO audits, agencies checking client sites on a schedule, site migrations, content teams and AI agents. A lightweight Screaming Frog alternative you can run from the API.

What you get

  • One row per page with every on-page SEO fact: title, title_length, meta_description, meta_description_length, h1, h1_count, h2_count, canonical, meta_robots, x_robots_tag, lang, has_viewport, has_og_tags, word_count, images, images_missing_alt, internal_links, external_links.
  • Technical facts: HTTP status, redirects, final URL, response time and click depth from the start page.
  • Issue codes and a score per page, e.g. missing_meta_description, title_too_long, duplicate_title, missing_h1, noindex, canonical_elsewhere, broken_links, thin_content, images_missing_alt, slow_response.
  • Broken links per page: every link and image the pages point to is checked (optional), and each page lists the broken ones it contains.
  • Site summary in the run's key-value store (SUMMARY): pages audited, average score and how often each issue occurs.

Example output

{
"url": "https://example.com/blog/launch",
"score": 81,
"issues": ["missing_meta_description", "duplicate_title", "broken_links", "images_missing_alt"],
"issue_count": 4,
"status_code": 200,
"title": "Our launch | Example",
"title_length": 20,
"meta_description": null,
"meta_description_length": 0,
"h1": ["We launched"],
"h1_count": 1,
"h2_count": 3,
"canonical": "https://example.com/blog/launch",
"meta_robots": null,
"lang": "en",
"has_viewport": true,
"has_og_tags": true,
"word_count": 742,
"images": 4,
"images_missing_alt": 2,
"internal_links": 31,
"external_links": 5,
"broken_links": ["https://example.com/old-pricing"],
"broken_links_count": 1,
"redirects": 0,
"depth": 1,
"response_ms": 212,
"site": "example.com",
"checked_at": "2026-10-28T12:00:00+00:00"
}

Issues checked

IssueMeaningWeight
broken_pageThe page answers 4xx/5xx or not at allerror
broken_linksThe page links to broken pages, files or imageserror
missing_titleNo <title>error
missing_h1No H1 headingerror
noindexnoindex in meta robots or X-Robots-Tagerror
canonical_elsewhereThe canonical points to another URLerror
title_too_long / title_too_shortOver 60 or under 10 characterswarning
missing_meta_descriptionNo meta descriptionwarning
meta_description_too_long / _too_shortOver 160 or under 50 characterswarning
duplicate_title / duplicate_meta_descriptionSame text on more than one pagewarning
multiple_h1More than one H1warning
thin_contentUnder 200 wordswarning
images_missing_altImages without alt textwarning
missing_viewport / missing_lang / missing_og_tagsMobile viewport, language or Open Graph missingwarning
redirectedThe URL redirectswarning
slow_responseOver 2 seconds to answerwarning

Score: 100 minus 10 per error and 3 per warning (never below 0).

Input

FieldWhat it does
startUrlsStart page of each site, e.g. https://example.com/.
maxPagesPages to audit per site, 1 to 10,000. Default 30.
checkBrokenLinksAlso check every link and image the pages point to. Default on.
maxLinksPerSiteMost extra URLs to check for broken links per site. Default 2,000.

Pricing

Pay per event, no subscription:

  • $2 per 1,000 pages audited ($0.002 per page).
  • $0.0005 per extra link checked for the broken-link report (links to other sites, images, pages beyond your page limit); each URL is checked once per site. Turn checkBrokenLinks off to skip it.
  • $0.005 per run start.

Examples: a 30-page site with 200 extra links costs about $0.17. 1,000 pages without the link check cost about $2.01. Cap the cost of a run with the maximum charge setting; the Actor stops when the budget is used.

How it works

  • Plain HTTP requests with an honest User-Agent; no browser, no proxies.
  • Only pages on the same domain are crawled, only where the site's robots.txt allows it, and pages marked nofollow are not followed.
  • At most 2 requests at a time per website, to stay polite.
  • Pages that build their content with JavaScript are audited as the server sends them, so text and links added later by scripts are not seen.
  • Only SEO facts are stored: no page text, e-mail addresses or phone numbers.

Good to know

  • A 30-page site usually takes 20 to 70 seconds, depending on how fast the site answers.
  • Run it on a schedule to catch new SEO issues, from the API, n8n/Make/Zapier, or from AI agents through MCP (rowfeed-seo-mcp).

More SEO tools from Rowfeed

Not affiliated with Screaming Frog or Google.