SEO Audit Tool: Website SEO Checker, Crawler & Score
Pricing
Pay per event
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
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)
| Area | Checks |
|---|---|
| Status & indexability | 4xx / 5xx / unreachable pages, redirects (full chain), noindex in meta robots or X-Robots-Tag, canonical missing / multiple / pointing elsewhere, indexable flag with reason |
| Titles & descriptions | Missing, too long (>60 / >160 chars), too short (<30 / <70), multiple titles, duplicates across the site (with the other URLs) |
| Headings & content | Missing or multiple H1, H1 equal to title, skipped heading levels, word count, thin content (<250 words), text-to-HTML ratio |
| Links | Broken internal links (with anchor text), links to redirecting URLs, internal / external / nofollow link counts, inlinks and anchors pointing to each page, click depth |
| Sitemap & crawlability | robots.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, performance | Viewport tag, lang, charset, HTTPS, mixed content, server response time, HTML size |
| Rich results & social | JSON-LD and microdata types (Organization, Product, Article, BreadcrumbList...), invalid JSON-LD, Open Graph, Twitter/X card, favicon, hreflang |
| URLs | Length, 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
- Enter your website URL (homepage or any section such as
https://example.com/blog/). - Set Max pages (default 50, up to 10,000).
- 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
| Actor | Price 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.
Related Actors
- Broken Link Checker: every internal and external link, 404s, redirect chains
- Website Tech Stack Detector: CMS, frameworks, analytics and hosting of any site
- Wayback Machine Scraper: page history and archived URLs of any domain
- Domain WHOIS Lookup: registrar, creation and expiry dates