SEO Audit Tool: Website SEO Checker, Crawler & Score avatar

SEO Audit Tool: Website SEO Checker, Crawler & Score

Pricing

Pay per event

Go to Apify Store
SEO Audit Tool: Website SEO Checker, Crawler & Score

SEO Audit Tool: Website SEO Checker, Crawler & Score

Crawl a website and get a 0-100 SEO score and a prioritised issue list for every page: titles, meta descriptions, headings, canonicals, noindex, broken internal links, duplicates, images alt, structured data, Open Graph, sitemap and orphan pages. $2 per 1,000 pages.

Pricing

Pay per event

Rating

0.0

(0)

Developer

A Q

A Q

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

SEO Audit Tool: website SEO checker with a 0-100 score per page

Crawl any website and get a technical and on-page SEO audit of every page: a 0-100 SEO score, every issue ranked as error, warning or notice, and a concrete fix hint for each. Titles, meta descriptions, headings, canonicals, noindex, broken internal links, redirects, duplicate titles and descriptions, image alt text, structured data, Open Graph, mobile viewport, HTTPS and mixed content, XML sitemap coverage and orphan pages. Plus a site-wide report with the overall score and issue totals.

$2 per 1,000 pages audited. A 500-page site costs $1. No login, no API keys, no proxies.

What it checks (45 checks)

AreaChecks
Status & indexability4xx / 5xx / unreachable pages, redirects (full chain), noindex in meta robots or X-Robots-Tag, canonical missing / multiple / pointing elsewhere, indexable flag with reason
Titles & descriptionsMissing, too long (>60 / >160 chars), too short (<30 / <70), multiple titles, duplicates across the site (with the other URLs)
Headings & contentMissing or multiple H1, H1 equal to title, skipped heading levels, word count, thin content (<250 words), text-to-HTML ratio
LinksBroken internal links (with anchor text), links to redirecting URLs, internal / external / nofollow link counts, inlinks and anchors pointing to each page, click depth
Sitemap & crawlabilityrobots.txt rules honoured, XML sitemaps (incl. sitemap indexes and .gz), indexable pages missing from the sitemap, sitemap URLs that don't return 200, orphan pages
Mobile, security, performanceViewport tag, lang, charset, HTTPS, mixed content, server response time, HTML size
Rich results & socialJSON-LD and microdata types (Organization, Product, Article, BreadcrumbList...), invalid JSON-LD, Open Graph, Twitter/X card, favicon, hreflang
URLsLength, uppercase, underscores, query parameters

Every page gets score, errors, warnings, notices and an issues list like:

{ "code": "title_too_long", "severity": "warning", "message": "Title longer than 60 characters", "fix": "Shorten the title so it is not truncated in search results." }

The SUMMARY record in the key-value store has the site score, status code totals, indexable pages, average response time and word count, robots.txt and sitemap details, and every issue type with the number of affected pages and example URLs, sorted by priority. Rows in the dataset are sorted worst page first.

How to use

  1. Enter your website URL (homepage or any section such as https://example.com/blog/).
  2. Set Max pages (default 50, up to 10,000).
  3. Click Start. Download the results as JSON, CSV, Excel or HTML, or open the Issues per page view.

Bulk on-page SEO checker: turn Crawl the site off and paste a list of URLs (any domains) to audit exactly those pages.

Example input:

{ "startUrls": ["https://docs.apify.com"], "maxPages": 20 }

Use includePatterns / excludePatterns (*/blog/*, */tag/*) to focus the crawl.

Output example (shortened)

{
"url": "https://example.com/pricing",
"score": 72,
"errors": 1, "warnings": 3, "notices": 2,
"statusCode": 200, "indexable": true, "redirectChain": [], "responseTimeMs": 212, "htmlSizeKb": 84.2,
"title": "Pricing", "titleLength": 7,
"metaDescription": null, "metaDescriptionLength": 0,
"canonical": "https://example.com/pricing", "metaRobots": null,
"h1": ["Simple pricing"], "h1Count": 1, "h2Count": 4, "wordCount": 412,
"lang": "en", "hasViewport": true, "structuredDataTypes": ["Organization", "Product"],
"openGraph": { "title": "Pricing", "image": "https://example.com/og.png" }, "twitterCard": "summary_large_image",
"imageCount": 6, "imagesMissingAlt": 2, "internalLinks": 38, "externalLinks": 4,
"brokenLinks": [{ "url": "https://example.com/old-plans", "statusCode": 404, "anchorText": "compare plans" }],
"duplicateTitleUrls": [], "inSitemap": true, "depth": 1, "inlinks": 27,
"issues": [
{ "code": "broken_links", "severity": "error", "message": "Links to internal pages that return errors", "fix": "Fix or remove the links listed in brokenLinks." },
{ "code": "title_too_short", "severity": "warning", "message": "Title shorter than 30 characters", "fix": "Expand the title with the main keyword and a benefit." }
]
}

Pricing compared

ActorPrice per 1,000 pages
This Actor$2
autofacts/metadata-scraper$5
logiover/website-seo-audit-crawler$10
smart-digital/complete-seo-audit-tool$40

Prices from the Apify Store, October 2026 (free-plan tier). Plus $0.0005 per run start. Set a maximum cost per run and the Actor audits only as many pages as the limit allows, then stops cleanly.

Use cases

  • Technical SEO audits for clients or your own sites, scheduled weekly to catch regressions
  • Pre-launch and migration checks: redirects, noindex left on, broken links, canonicals
  • Content audits: thin pages, duplicate titles and descriptions, missing H1s
  • Agency lead generation: audit prospects' homepages in bulk and pitch with real findings
  • AI agents and dashboards: structured JSON for Looker Studio, Sheets or an LLM summary

FAQ

Is it polite to the website? Yes. It honours robots.txt, sends at most 4 parallel requests per host, retries 429/503 with backoff and identifies itself with a clear user agent.

Does it render JavaScript? No. It audits the HTML your server returns, which is what search engines see first. That makes it fast and cheap (hundreds of pages per minute).

How is the score calculated? Each page starts at 100: minus 10 per error, 4 per warning, 1 per notice. Pages that return errors score 0. The site score is the average.

Does it check external links? It counts them. To check every internal and external link for 404s, use our Broken Link Checker.

Core Web Vitals? This Actor reports server response time and HTML size. For a fast check of what technologies a site runs, see Website Tech Stack Detector.

API

curl -X POST "https://api.apify.com/v2/acts/best_apis~seo-audit-tool/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" -d '{"startUrls":["https://example.com"],"maxPages":50}'

Python: ApifyClient("TOKEN").actor("best_apis/seo-audit-tool").call(run_input={"startUrls": ["https://example.com"]}). Works with Zapier, Make, n8n, Google Sheets, webhooks and the Apify MCP server for AI agents.