Public Records Signals
Public Records Signals is a five-step outbound and ABM play for email, calls and your CRM, from “Pick the records tied to your buyer's decision” to “Route to the owner with the record attached”. It uses SEC EDGAR, Browserbase, Firecrawl, Clay, HubSpot and nine more tools.
- Motion
- Outbound, ABM
- Channel
- Email, Call, CRM
- Steps
- 5
- Tools
- 14
The workflow
Public Records Signals
Government APIsFree, read-onlyDaily for declarations, weekly for filing phrase searches.
Portals with no APIReal browserThrottled, sessions recycled. Portals behind a CAPTCHA are out.
Browserbase
Firecrawl
One row per recordDate, source URL, verbatim excerptA record names a legal entity or a place, not your CRM account.
HubSpot
SalesforceCustomers, open deals and competitors come out first.

Claude reads the excerpt and gives a one-line reason.

Owner alertThis weekRecord link, excerpt and matched sites, straight to the owner.
Slack
HubSpotThe right contact, then a checked email.
AI Ark
Prospeo
Findymail
BounceBanAdds weight to the account score. Never opens a message.
HubSpotSomething the buyer can check for themselves, with the source link at hand.
Smartlead
Nooks
SEC EDGAR
Browserbase
Firecrawl
Clay
HubSpot
Salesforce
Claude
Slack
AI Ark
Prospeo
Findymail
BounceBan
Smartlead
Nooks
The diagram as text
- 1
Pull public records on a schedule
Government APIs (free, read-only): Disaster declarations, Weather events and SEC filings. Daily for declarations, weekly for filing phrase searches. Pull: Plain GET on a schedule. Tool: SEC EDGAR.
Portals with no API (real browser): Court dockets and Permits. Throttled, sessions recycled. Portals behind a CAPTCHA are out. Drive: Browserbase and Firecrawl. Tool: Browserbase.
One row per record (date, source url, verbatim excerpt): Tool: Clay.
- 2
Match each record to an account
Entity resolution (the hard part): A record names a legal entity or a place, not your CRM account. Name: Strip Inc, Corp, LLC, The. Place: County or address to known sites. Against: HubSpot and Salesforce.
Match → Confidence
- Name and location agree → High: routes on its own
- Name only → Medium: review queue
- Fuzzy or alias → Low: review queue
- 3
Qualify in two gates
Gate 1: Not suppressed. Customers, open deals and competitors come out first. Rejected: Customer or open deal. Tools: HubSpot.
Gate 2: Actually relevant. Claude reads the excerpt and gives a one-line reason. Rejected: Not relevant. Tools: Claude.
- 4
Tier what the record allows
Act alone: The event is the reason
Owner alert (this week): Record link, excerpt and matched sites, straight to the owner. Alert: Slack. Log: HubSpot. Tool: Slack.
One more fact: Person or site first
Find the person: The right contact, then a checked email. Find: AI Ark. Email: Prospeo and Findymail. Verify: BounceBan.
Rank only: Context, no message
Score only: Adds weight to the account score. Never opens a message. On: HubSpot.
- 5
Reach out with the record as evidence
State the public fact plainly: Something the buyer can check for themselves, with the source link at hand. Email: Smartlead. Call: Nooks.
Outcome: A dated reason to call this week. Tools: HubSpot.
The stack: SEC EDGAR, Browserbase, Firecrawl, Clay, HubSpot, Salesforce, Claude, Slack, AI Ark, Prospeo, Findymail, BounceBan, Smartlead and Nooks.
Open the diagram full size (1180 px wide)
The play in five steps
- 01
Step 1: Pick the records tied to your buyer's decision
Public records hold dated, defensible events that no data vendor packages, so very few competitors are working them.
- Court filings and dockets from county portals.
- Building, renovation and business permits.
- Government disaster declarations and severe weather events, by county.
- SEC filings, searched for phrases that describe the problem you solve.
- Choose the one or two record types that force an unplanned decision on your buyer. A deterministic source beats asking a model to guess.
- 02
Step 2: Pull on a schedule
Each source needs its own cadence and method, and every row has to keep the evidence it came from.
- Read free government APIs with plain GET requests: daily for declarations and alerts, weekly for filings.
- Drive portals without an API in a real browser through Browserbase. Some portals refuse to load in a local headless browser. Firecrawl handles the simpler static pages.
- Throttle requests and recycle sessions. Anything behind a CAPTCHA is out of scope.
- Land every row in Clay with the record date, the source URL and a verbatim excerpt.
- 03
Step 3: Match each record to an account
A record names a legal entity or a street address, never your CRM account. Matching is where this play is won or lost.
- Normalize names: lowercase, strip Inc, Corp, LLC, Holdings, The and punctuation.
- Match on legal name, known aliases and domain against HubSpot or Salesforce.
- For place-based records, join the county or address to each account's known site locations.
- Give every match a confidence level:
- High: name and location agree, routes automatically
- Medium or low: a review queue, before anyone acts
- 04
Step 4: Qualify the record
A real record on the wrong account, or on an existing customer, does more damage than having no signal at all.
- Suppress first: customers, open deals and competitors come out.
- Claude reads the excerpt and confirms it really touches the problem you solve, with a one-line reason.
- Tier what the record allows you to do:
- Act alone: the event itself is the reason to call this week
- One more fact: find the right person or the affected sites first
- Rank only: adds to the account score, never opens a message
- 05
Step 5: Route to the owner with the record attached
The rep gets the record, not a summary of it, so every message can cite something the buyer can verify.
- Write the signal onto the CRM account with its date, excerpt and source URL.
- Find the right contact with AI Ark and a work email from Prospeo or Findymail, re-verified with BounceBan on the send day.
- Alert the account owner in Slack with the record link and the matched sites.
- Outreach states the public fact plainly, by email through Smartlead or a call through Nooks. No dramatizing the event.
- A record type with no owner and no agreed response time does not go live.
Tools used
The fourteen tools this play names. Each links to the other plays that use it.
Related plays
Qualifying from Public Filings
The fact that decides fit, which firmographic databases do not carry. Every field allows unknown.
Target accounts, pulled into a Clay tableName, domain, country, CRM id
Public filerThe filing is the answerPin the run to one named filing.
SEC EDGAR
ClaudePublished totals first, then a build-up per format, flagged as an estimate.
Exa
Firecrawl
ClaudeEvery field returns a value, or unknown with a reason.
Arithmetic in the method forces the estimate flag on.
Each field carries its filing, fiscal year and URL.
Open a sample of rows and match each value to the page it cites. Report coverage per field.
Write to the CRMValue, source and estimate flag land together. Unknown becomes the rep's first question.
HubSpot
HubSpot
SEC EDGAR
Claude
Exa
Firecrawl
Qualifying from Public Filings
6 steps · CRM





Signals in the CRM, with Decay
Every signal carries a date, a one-line summary and the source URL.
Clay
Claude Code
Trigify
HubSpot
SalesforceEach signal adds its weight, then decays on its own curve. A new signal lifts the score again.
Watched, no outreach yet.
The owner works it today.
Decayed out on its own.
Every buyer at the account, checked and pushed to the CRM.
AI Ark
Prospeo
Findymail
LinkedIn
BounceBan
Brief and alertWhy it is hot, written only from copy-safe signals, plus a task for the owner.
Claude
HubSpot
Slack
Clay
Claude Code
Trigify
HubSpot
Salesforce
AI Ark
Prospeo
Findymail
LinkedIn
BounceBan
Slack
Claude
Signals in the CRM, with Decay
6 steps · CRM, Email, LinkedIn





+6 moreLocal Business TAM from Directories
One search per region and category. Read the result count, scrape nothing.
BrowserbaseShows coverage, which categories are noise, and whether a term runs dry early.
Apify
Google MapsSearch the whole region, exclude cities afterwards. Maps lists locations, not companies.
Apify
Google MapsConfirm page 1 and page 2 differ before crawling. Resumable on region, category and offset.
BrowserbaseFind a site for address-only rows, then read the team page for the owner.
Clay
ClaudeOnly the misses move to the next provider. Nothing goes out unverified.
Prospeo
Findymail
BounceBanBefore anyone calls: the listing is not marked closed, the phone still connects, and the email is re-verified on the day it is sent.
Google Maps
ZeroBounce
Call, then emailNowThe phone came with the listing. A rep calls first, then the sequence starts.
Nooks
HubSpot
Smartlead
Email onlyAutoThe copy names the category and the city the business was found under.
Smartlead
Browserbase
Apify
Google Maps
Clay
Claude
Prospeo
Findymail
BounceBan
ZeroBounce
Nooks
HubSpot
Smartlead
Local Business TAM from Directories
6 steps · Email, Call, CRM





+6 more