crawl-engine/2026
Two-Pass Crawl Engine
# Browser cost paid only when HTTP genuinely fails
- context
- Solo build
- role
- GTM Engineer
- stack
- Python · Playwright · Spider.cloud
- stage
- S — Build the Asset
Cheap HTTP first, headless browser only on escalation, behind a content gate that decides on the response body rather than the status code. Fingerprinting and a session pool sit behind the browser lane, and pages are selected from the site's own sitemap rather than crawled blindly. A keep-biased domain screen runs first so nothing dies on looking unusual.
No diagram code provided
S1the workflow
Account Intelligence Crawl
Before anything gets crawled, each domain gets a fast screen — a DNS check, a parked-nameserver check, and one classified request — deliberately biased toward keeping: it drops what is provably dead, not what merely looks unusual. Survivors go through a two-pass fetch. Plain HTTP handles the large majority, and only when a content gate says the response is not real content does the request escalate to a full browser. Pages are chosen from the site's own sitemap rather than crawled blindly.
Deciding on content rather than status code is the important part. A site can return a perfectly healthy 200 alongside a challenge page or a stub, and a status check will happily record that as success — which quietly poisons everything downstream.
The crawled pages become a written business summary — model, reach, history, context — which becomes the evidence every later step reads. Classification works from that summary against the graded store and returns scope, match, confidence, and reach; routing off that decision is fully deterministic. No later step re-reads raw pages and quietly forms its own contradictory opinion.
The full breakdown
Data & AI Infrastructure — the crawl