Screaming Frog reads the live web, so there is no data moat to copy: an agent can write a crawler that follows your links, respects robots.txt and records status codes, redirects, titles, descriptions, canonicals and directives in one sitting. Store the results in SQLite, add an issues view and CSV export, and you have the audit most people open it for. What you give up is years of edge cases and extras: custom extraction, spelling and accessibility checks, Search Console and Analytics data per URL, and a crawl file colleagues already open. If your site is under 500 URLs, the free version may already be enough.
Before you buildIf your site has fewer than 500 URLs, the free Screaming Frog already runs the basic audit.
Build me a local SEO site crawler to replace Screaming Frog SEO Spider. Requirements: - Python 3.12: httpx (async) to fetch, selectolax to parse, a Typer CLI `seocrawl crawl https://example.com`, and a FastAPI + HTMX report on http://localhost:4950. - Crawl: stay on the start host (subdomains optional), obey robots.txt and a crawl delay, 5 concurrent requests by default, custom User-Agent, max depth, max URLs, include and exclude regexes. Record every redirect hop. - Per URL: status code, redirect chain, content type, response time, size, title and its length, meta description and its length, H1s, canonical, meta robots and X-Robots-Tag, hreflang, word count, images without alt, inlinks, outlinks, depth. - Storage: one SQLite file per crawl in ~/SEOCrawls/<host>-<date>.db, so 100k-URL crawls don't live in memory; a crawl can pause and resume. - Issues view: 4xx and 5xx with the pages linking to them, redirect chains and loops, missing, duplicate or too-long titles and descriptions, missing H1, canonicals to non-200 URLs, noindex pages listed in the XML sitemap, and URLs found only in the sitemap. - Export any table to CSV or XLSX (openpyxl); generate a sitemap of indexable URLs. - `--render` uses Playwright Chromium for JavaScript sites. - Compare two crawls of one site: new, removed and changed URLs. - No accounts, no telemetry, local-first. - Out of scope: Search Console or Analytics data, scheduling, spelling checks. - README: install, a warning to crawl only sites I own or may audit, and how to open a crawl .db in any SQLite browser.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Screaming Frog SEO Spider.
Add custom extraction to the SEO crawler in this folder. Requirements: - Up to 10 rules per crawl, each with a name and an XPath, CSS selector or regex, set in the report UI or a YAML file passed with `--extract rules.yaml`. - Store each rule's matches per URL in their own table and show them as columns. - A rule tester: paste a URL, run the rules on that page only and show the matches. - Include extracted columns in CSV and XLSX exports. - Update the README with example rules.
Add Google Search Console data to the SEO crawler in this folder. Requirements: - OAuth desktop-app flow with google-auth-oauthlib; client id and secret in .env, the token cached in ~/SEOCrawls/.gsc-token.json. - After a crawl, fetch clicks, impressions, CTR and position for the last 28 days per page through the Search Analytics API and join them to the crawl by URL. - Add those columns to every table and a filter "has clicks". - Update the README; budget an hour for the Google Cloud console and the consent screen.
Add scheduled crawls to the SEO crawler in this folder. Requirements: - `seocrawl schedule add https://example.com --weekly mon 06:00` writes a cron entry (launchd plist on macOS) that runs the crawl with the saved settings. - After each run, compare it with the previous crawl and email a summary through SMTP from .env: new 4xx and 5xx, new redirects, pages that became noindex. - Keep the last 8 crawls per site and delete older .db files. - Update the README.
For people who audit sites for a living the yearly licence is small next to the time it saves, and it copes with odd servers, huge sites and JavaScript frameworks that a home-made crawler only meets after months of use. Agencies standardise on it, so crawls, exports and training material move between people without any conversion.
Estimate · Runs on your machine with no services to pay for. The build is token usage on your agent plan.
Checked 2026-10-13 against Screaming Frog SEO Spider's docs: 1, 2
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0/user | $0/user | 500 URLs per crawl; broken links, redirects, titles and meta data, directives, hreflang, exact duplicates, XML sitemaps, site visualisations. |
| Paid licence | — | $23.25/user | No URL limit beyond your machine's memory and disk; every feature and free support. |
Not answered here? Tell us and we'll add it.
Ask a question ›The free version crawls up to 500 URLs with the basic checks, but can't save crawls, render JavaScript or use integrations.
Yes. An AI coding agent such as Claude Code, Codex or Cursor can build a usable personal version in one session with the prompt on this page, running on your own machine.
About $23.25 a month on the Paid licence plan per seat, $279 a year (checked 2026-10-13).
Dozens of specialist checks: structured data, AMP, spelling, accessibility; Custom extraction with XPath, CSS or regex across a whole crawl; Search Console, Analytics, PageSpeed and link metrics next to each URL; Scheduled crawls and Looker Studio reports; Crawl files that colleagues and clients can open. If any of those matter to you, keep paying.
Yes: LibreCrawl (open source), SiteOne Crawler (open source), SEOnaut (open source).