Skiptrace · JV brief Lab · not live billing

Worker economics

How much it costs us to process one property-owner lead end-to-end (LLM + Firecrawl scrapes), and what that means next to our $0.50 / line price.

Not a live dashboard. Numbers from real lab runs and production-shaped measurements. Not an invoice. PII stripped.

TL;DR

LLM cost / lead
~$0.01
Gemini 2.5 Flash on our Vertex (lab)
Firecrawl / lead
~18–24 cr
Credits per lead · not text tokens
All-in COGS / lead
~$0.03
Standard FC plan + Flash LLM

vs list price $0.50 / line → large gross margin on the marginal lead (fixed “shelf” costs separate below).

How the worker spends money

1. Sunbiz (entity pierce) 2. LLM disambiguation 3. TruePeopleSearch (stealth)

Product shape: batch job (upload list → process async → notify).

Concurrency today: 4 leads in parallel on the Cloud Run worker.

Not “answer in 2 seconds” — that would be a future tier with paid people-data APIs.

Firecrawl — unit of cost

Firecrawl does not bill like ChatGPT tokens. We pay credits per scrape page.

Call typeCreditsNotes
Sunbiz search / detail1Corporate registry
TPS name / address / detail (stealth)5Cloudflare-protected; retries cost again
Cache hit (lab only)0Production worker runs without disk cache between jobs

Failed stealth attempts bill the same as success.

Credits per lead (what to plan with)

ScenarioCredits / leadWhen
Clean individual~10–20Address + detail, few retries
Clean entity~17–27Sunbiz pierce + TPS on officer
Operating average~20–24COGS table + FTL batch (real API delta)
Hard / partial / flail40–70+Bot blocks, thrash, weak names

Lab gold-set (15 leads, mixed): ~18 credits / lead average (balance delta).

$ Firecrawl depends on the plan

Example at 24 credits / lead:

Plan (indicative)≈ $ / credit≈ $ FC / lead @ 24 cr
Hobby$0.0032~$0.08
Standard (ops base)$0.00083~$0.02
Growth$0.00067~$0.016

Takeaway: the plan tier moves Firecrawl $ more than the LLM does. Standard is the sensible default for production volume.

LLM — model economics (lab)

Same motor, different Camada 2 models:

Model≈ LLM $ / leadNotes
Gemini 2.5 Flash (Vertex)~$0.009–0.011Best cost; lab recommendation for cost-mode
Claude Haiku 4.5~$0.02Fine quality; not on Vertex
Gemini 2.5 Pro~$0.035Overkill for cost
Gemini 3.5 Flash~$0.05–0.06More thrash / worse economics in lab
Claude Sonnet 4.6 (historical)~$0.055–0.058Gold quality baseline

List prices used for Flash (Vertex): ~$0.30 / M input · $2.50 / M output (thinking billed as output).

PROD (as of 2026-07-30 flip): Camada 2 on Vertex · Gemini 2.5 Flash with guardrails (anti–registered-agent, richer Sunbiz paths, short-name address-first). Grok remains available as rollback if needed.

Quality (gold set)

Method: 15 leads from the original Sonnet high-confidence enriched set (ground truth), scored name match OR shared phone.

ResultNumber
First pass (Flash, before guardrails)11 / 15 (73%)
4 hard fails investigatedRA-vs-officer, incomplete path, scrape flakiness, 1 ambiguous gold
After code guardrails · retest those 43 / 4 recovered
Remaining disagreement1 lead where current Sunbiz managers ≠ namesake heuristic in gold

Projected if we re-score the full 15 with guards: ~14 / 15 (93%) — meets the prior quality bar if that one gold row is treated as ambiguous or re-labeled.

Gold = prior Sonnet high-confidence set; one lead’s ground truth may lag current Sunbiz filings.

Guardrails shipped: never prefer Registered Agent / attorney over PT/MGR; force richer Sunbiz detail paths; short owner names go address-first.

Unit economics

LineAmount
Price (current commercial)$0.50 / line
LLM (Flash lab)~$0.01
Firecrawl @ 20–24 cr, Standard~$0.017–0.020
COGS / line (variable)~$0.03
Gross margin on variable COGS~94%

Shelf / fixed (order of magnitude): ~$85–90 / month (Firecrawl Standard + light infra). Break-even is “a few hundred lines / month,” not thousands — exact break-even depends on plan mix and hit rate; this page is about per-lead variable cost.

Bad lists cost more — planned cost brake

The expensive leads are usually the bad ones (bot blocks, incomplete names, thrash). Without a brake, a rotten upload burns Firecrawl and still returns poor results. Goal: if quality will be bad, fail cheaper.

In production now:

Lab proof (4 bad leads, parallel, budget 20):

Next layers: job-level credit ceiling · two-pass lean→full · product copy “garbage → cheap not_found”.

Takeaways for Rob