SEO crawlers and audit tools compared
Desktop crawlers, cloud platforms and open-source tools on the same 24 capabilities: price, interfaces, crawl, audit, data and what happens after the audit. Charts are counted from the table, and every cell on a comparison page links to the vendor's own page.
Checked 21 October 2026.
The market on one map
- SpiderHeadOpen-source crawler and audit toolkit16 of 24 capabilitiesOpen sourceRuns locallyCLIMCP
Screaming FrogSEO Spider desktop crawler18 of 24 capabilities22 in common with SpiderHeadRuns locallyCLIMCP
Ahrefs Site AuditCloud SEO crawler inside an all-in-one SEO platform12 of 24 capabilities16 in common with SpiderHeadMCPAPI
Semrush Site AuditCloud SEO platform module (technical site audit)9 of 24 capabilities15 in common with SpiderHeadMCPAPI
SEOnautOpen-source web-based SEO auditing tool (self-hosted or hosted)5 of 24 capabilities7 in common with SpiderHeadOpen sourceRuns locally- LibreCrawlOpen-source web-based SEO crawler (self-hosted)9 of 24 capabilities13 in common with SpiderHeadOpen sourceRuns locallyAPI
- advertoolsPython library with a Scrapy-based SEO crawler6 of 24 capabilities12 in common with SpiderHeadOpen sourceRuns locally
Market map
Coverage by group
Share of rows each tool covers in a group, 0–100. Click a column to sort.
| Product | ||||||||
|---|---|---|---|---|---|---|---|---|
| 100 | 100 | 75 | 67 | 80 | 63 | 100 | 83 | |
| 70 | 100 | 50 | 100 | 100 | 75 | 83 | 83 | |
| 30 | 50 | 50 | 100 | 100 | 63 | 50 | 65 | |
| 30 | 0 | 100 | 83 | 80 | 63 | 50 | 58 | |
| 20 | 0 | 100 | 50 | 60 | 75 | 50 | 50 | |
| 90 | 0 | 0 | 33 | 0 | 0 | 17 | 25 | |
| LibreCrawl | 90 | 25 | 50 | 33 | 50 | 0 | 50 | 46 |
| advertools | 100 | 0 | 25 | 33 | 20 | 13 | 33 | 38 |
SpiderHead vs each tool
Head to head
Screaming Frog vs SitebulbScreaming Frog vs Ahrefs Site AuditScreaming Frog vs Semrush Site AuditScreaming Frog vs SEOnautScreaming Frog vs LibreCrawlScreaming Frog vs advertoolsSitebulb vs Ahrefs Site AuditSitebulb vs Semrush Site AuditSitebulb vs SEOnautSitebulb vs LibreCrawlSitebulb vs advertoolsAhrefs Site Audit vs Semrush Site AuditAhrefs Site Audit vs SEOnautAhrefs Site Audit vs LibreCrawlAhrefs Site Audit vs advertoolsSemrush Site Audit vs SEOnautSemrush Site Audit vs LibreCrawlSemrush Site Audit vs advertoolsSEOnaut vs LibreCrawlSEOnaut vs advertoolsLibreCrawl vs advertools
All tools, one table
| Capability | LibreCrawl | advertools | ||||||
|---|---|---|---|---|---|---|---|---|
| Price and setup | ||||||||
| Free to use | Yes: Free and open source; no paid tier | Partly: Paid licence $279 per user per year (1-4 licences) | No: Paid subscription; Cloud from £95/month (FAQ) | Partly: Paid plans: Starter $29/mo; Lite $129/mo; free tier | Partly: Subscription; SEO+AI Search Starter $165.17/mo annual ($199 monthly) | Yes: Free MIT self-host; hosted Growth $9/month | Yes: Free, $0; donations requested | Yes: Free, MIT licence; no paid tier |
| Open source | Yes: Core MIT; Desktop GPL-3.0-or-later (PyQt5) | No: Proprietary; free version is closed source | No: Proprietary commercial software | No: Proprietary SaaS | No: Proprietary SaaS | Yes: Yes, MIT licence (LICENSE file / README) | Yes: Yes, MIT licence | Yes: Yes, MIT licence |
| Runs on your machine | Yes: Crawl and storage run on your machine | Yes: Crawls run on your own machine | Partly: Desktop crawls locally; Cloud runs in browser | No: Crawl runs in Ahrefs cloud | No: Crawl runs in Semrush cloud | Yes: Self-hosted via Docker; hosted version also exists | Yes: Self-hosted; Local mode on 127.0.0.1 | Yes: Runs in your own Python environment |
| Works without an account | Yes: No account; no hosted service | Yes: Licence key only; free version needs no sign-up | Partly: Cloud and MCP need an account; Desktop not stated | No: Free account and verified site required | No: Semrush account required (free account available) | Partly: Sign-in in the web app; hosted needs sign-up | Partly: Not in Local mode; login in Standard mode | Yes: None for crawling (some SERP APIs need own keys) |
| Free tier | Yes: No licence cap; default crawl cap 200 URLs | Yes: Free version crawls up to 500 URLs | Partly: 14-day trial equal to Pro, no card; no free tier | Yes: 5,000 crawl credits per verified project/month | Partly: Free account with limited tools; free SEO checker page | Yes: Hosted Lite: 1 project, 500 URLs; self-host: none stated | Yes: No URL cap stated; guests 3 crawls/24h | Yes: No limits; free library |
| Interfaces | ||||||||
| Desktop app | Yes: PyQt5 app: macOS, Windows, Linux | Yes: Windows, macOS (Apple Silicon/Intel), Linux | Yes: Windows 10/11 (64-bit), macOS Sonoma+ (Apple/Intel) | No: Web app only | No: Web app only | No: Web app run via Docker, no native app | No: Web UI in browser (Docker or Python) | No: Python library, no native app |
| Command line | Yes: seohead CLI, 230 commands | Yes: Command-line crawling and exports | Not found in public docs: Not found in public docs | No: Not found in public docs | No: Not found in public docs | Not found in public docs: Not found in public docs | Partly: python main.py --local; no crawl CLI | Not found in public docs: No CLI documented; used from Python |
| AI agents and integrations | ||||||||
| MCP server for AI agents | Yes: Local stdio server, 246 tools | Yes: Official MCP server since v24.0; paid licence only | Yes: Official read-only MCP for Claude/ChatGPT, Desktop and Cloud | Yes: Official hosted remote MCP, paid plans from Lite | Yes: Official hosted MCP (SEO, Trends, read-only Projects API) | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs |
| API | Partly: Python API; optional self-hosted job API | No: No public REST API found; it consumes third-party APIs | No: Cloud: no API yet; webhooks and Data Studio connector | Yes: API v3 Site Audit endpoints, paid plans from Lite | Yes: Projects API v3: run audit, snapshots, issues | Not found in public docs: Not found in public docs | Yes: Session-auth HTTP API, 19 endpoints | Partly: Python API; no hosted web API |
| Crawl | ||||||||
| JavaScript rendering | Partly: Optional Playwright extra; raw HTML by default | Yes: Integrated headless Chromium rendering | Yes: Evergreen Chromium rendering, all plans, toggleable | Yes: Optional JavaScript execution in crawl settings | Partly: Plan-dependent; docs differ by plan tier | Not found in public docs: Not found in public docs | Yes: Yes, via Playwright (Chromium) | No: Not built in; scrapy-playwright mentioned |
| Scheduled crawls | Partly: Writes launchd/cron/Task Scheduler trigger; no daemon | Yes: File > Scheduling with intervals and auto-exports | Yes: Scheduled/recurring audits on Pro and Cloud | Yes: Scheduled crawls plus Always-on audit (Lite+) | Yes: Scheduled recurring audits (e.g. weekly) | Yes: Hosted Growth lists recurring audits | Not found in public docs: Not found in public docs | No: No built-in scheduler; run via your own cron |
| Custom extraction | Yes: Declarative extraction rules and content selectors | Yes: XPath, CSS Path, regex, custom search | Yes: Content Extraction (CSS selector, regex) and Content Search | Partly: Post-crawl search of raw/rendered HTML; no XPath found | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Yes: CSS and XPath selectors via crawl() |
| Audit | ||||||||
| Audit checks | Yes: 280 checks (generated registry, CHECKS.md) | Yes: Over 300 issues, warnings, opportunities (issues list) | Yes: 300+ Hints (vendor Hints page) | Yes: 170+ issues, per Site Audit page | Yes: 140+ technical checks (feature page) | Not found in public docs: No count published; issues in 3 severity levels | Not found in public docs: No count; 13 check areas listed | No: No fixed audit checklist; raw crawl data columns |
| Hreflang | Yes: hreflang-check plus hreflang audit checks | Yes: Missing return tags, bad codes, non-200 URLs | Yes: Hreflang report/checker | Yes: Hreflang issues and graph view | Yes: International SEO report: hreflang codes, conflicts | Not found in public docs: Not found in public docs | Yes: Listed among audit checks | Partly: Extracts alternate/hreflang links; no audit report |
| Structured data | Yes: schema-check/schema-build and Schema.org checks | Yes: Schema.org and Google rich result validation | Yes: Structured Data validator report | Yes: Checked against 190+ Google/Schema.org requirements | Partly: Markup checks listed among audit areas | Not found in public docs: Not found in public docs | Partly: Schema listed among audit checks | Partly: Extracts JSON-LD columns; no validation |
| Core Web Vitals / Lighthouse | Partly: Lab render-check, CrUX field data; Lighthouse JSON supplied | Yes: PageSpeed Insights API: Lighthouse and CrUX data | Yes: Web Vitals and Lighthouse via Chrome, sampled (default 10%) | Yes: CrUX and Lighthouse metrics; PSI API key | Partly: Lighthouse-based CWV report, 10 pages per audit | Not found in public docs: Not found in public docs | Yes: PageSpeed Insights Core Web Vitals | No: Not documented for the crawler |
| Accessibility | Partly: Static a11y checks only (lang, labels, alt) | Yes: Automated WCAG checks using axe rules | Yes: Accessibility audit, 35+ Hints linked to axe guides | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | No: Not documented |
| Data sources | ||||||||
| Google Search Console | Yes: Search Console via provider (OAuth/service account) | Yes: Search Analytics and URL Inspection APIs | Yes: Search Console data, keywords and URL Inspection | Partly: GSC import/verification of projects; deeper use unclear | Yes: Via My Reports (Search Console data in PDF reports) | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs |
| Google Analytics 4 | Partly: Landing pages and page views via provider calls | Yes: GA4 API connection during a crawl | Yes: GA4 (or Universal) visitor data in audits | Not found in public docs: Not found in public docs | Yes: GA connection in Site Audit and My Reports | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs |
| Backlink data | Partly: Donor-list verification and CSV import; no own index | Partly: Link metrics via Majestic, Ahrefs, Moz APIs | Not found in public docs: Not found in public docs | Yes: Own index in Site Explorer (free: 1,000 shown) | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | No: No backlink data in the crawler |
| Keyword data | Partly: Via external providers (Wordstat, Arsenkin, DataForSEO) | Partly: Only GSC query/position data per URL | Partly: Keywords report from Search Console data only | Yes: Organic keywords in Site Explorer (free: 1,000 shown) | Yes: Daily keyword tracking (Starter: 500 keywords) | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Partly: SERP functions for Google and YouTube (own API keys) |
| Reports and follow-up | ||||||||
| Report exports | Yes: XLSX, DOCX, CSV, Markdown, JSON, PDF overview | Yes: Spreadsheets, XML sitemaps, Google Sheets, Looker Studio | Yes: Custom PDF reports, Data Studio, Google Sheets; CSV/XLSX | Yes: CSV and ZIP bulk issue export | Yes: Excel, CSV, PDF; limits depend on plan | Partly: Report export mentioned; formats not named | Yes: CSV, XLSX, JSON, XML (site: CSV/JSON/XML) | Partly: JSON Lines output; parquet conversion; pandas |
| Task list and fix recheck | Yes: Task backlog, verify-fixes, remediation ledger | Partly: Re-crawl and compare crawls; no task tracker found | Partly: Prioritized Hints and audit-to-audit comparison | Partly: Crawl-to-crawl comparison and alerts; no task list found | Partly: Recurring re-audits and snapshot history | Not found in public docs: Not found in public docs | Partly: Issue filtering; no task tracking found | Partly: compare() diffs two crawls; no task tracking |
| Reads Screaming Frog exports | Yes: Screaming Frog CSV/XLSX export analysis | Yes: Native: opens .seospider and .dbseospider crawls | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | Not found in public docs: Not found in public docs | No: Not documented |
yespartlynonot found in public docs
Open a comparison for the exact value and the source of each cell.
How we compare
- Only the vendor's own public pages: product, documentation, pricing, release notes and repositories. No reviews, no rumours.
- “Not found in public docs” means we could not confirm it, not that the feature is missing.
- Prices and plans change; every page shows the date it was checked. Spotted something out of date? Tell us.
- All product names, icons and trademarks belong to their owners and only identify the products compared. SpiderHead is not affiliated with any of the vendors; owners can ask us to remove an icon.