Custom data enrichment and verification pipelines
Take the list you already have, fill the gaps from public sources, kill the dead records, and keep it that way on a schedule.
At handover you get
- Your file back, corrected, with a change log per record
- A rejection report — what was dropped and on what evidence
- The pipeline itself, so you can re-run it whenever you like
- Optional write-back straight into your CRM
Fixed price agreed in writing before development starts. Hosting and maintenance are optional, and nothing stops working if you decline them — you hold the code.
Most companies do not have a lead-generation problem. They have a lead-hygiene problem. There is a CRM with forty thousand records in it, half of them bought years ago, and nobody trusts the file enough to work it.
Enrichment is the cheapest build we do because it starts from something you already own. We take your export, match it against public sources, fill in what is missing, flag what is dead, and hand the corrected file back — then run the same job monthly so it never decays again.
Where it fits
- Lead Scraper Development
- Custom Web Scraping Services
- Custom Lead Database
- Lead Generation Automation
- CRM Integration & Lead Routing
- Lead Scoring & Prioritisation
- Public Records Data Mining
Most projects are one build type. Some are two joined together — a scraper feeding a database, or enrichment feeding a CRM integration.
What the build covers
Gap filling
Missing websites, phone numbers, addresses, categories and entity details recovered from public registers, directories and the open web.
Decay detection
Domains that no longer resolve, businesses marked closed at the source, entities dissolved on the state register, numbers that no longer format as valid lines.
Signal appending
Computed flags your reps can sort on: website quality, years since registration, licence status, recent permit or filing activity, multi-location operator.
Scheduled re-runs
The pipeline runs again on your cadence, so enrichment is a standing condition of the database rather than a project you did once.
Enrichment inside PermitPulse
PermitPulse, the permit dataset this company runs, cleans every record before it counts it. City spellings are merged (ST. and SAINT, FT and FORT, BCH and BEACH). A row counts for a city only when its ZIP code sits in the row's state, which drops rows filed under an owner's out-of-state mailing address. Names are grouped across distinct property addresses, so a buyer can see which owners hold several rentals.
Each register page then shows what the file carries field by field. On October 22, 2026, Florida's license file had an owner name on all 50,110 records, a mailing address on all but 3, and a phone on 77%. A coverage table like this is the right first step in any enrichment build: it shows what the data already holds before anything is appended.
The Florida DBPR register page · City files built with these rules
- What sets the number: how many sources have to be parsed, how clean those sources are, how much data moves, and where the output has to land — not how long we spend.
- Fixed, in writing, before development starts. A paid source-mapping phase comes first so the quote is based on what the records actually contain.
- Hosting and maintenance are optional. Decline them and everything still runs, because you hold the code.
- No per-lead fees. We do not meter your own data back to you.
Questions
Can you enrich a list we bought from someone else?
Yes, and it is a common first job. We do not need to know where the file came from. We match what is in it against public sources, correct what we can prove, and clearly mark what we cannot verify rather than guessing.
What do you do with records you cannot verify?
They are flagged, not deleted, and they arrive in a separate tab with the reason attached. Deleting a customer's data on our own judgement is not our call to make.
Will this work with our CRM?
If it has an API or accepts a structured import, yes. Write-back is scoped per CRM — matching on the right key and never overwriting a human-edited field is the part that takes the care.
Other build types
Lead Scraper Development
A scraper built for one job: your sources, your fields, your filters — running on a schedule and dropping clean records where your team already works.
Read more →Custom Web Scraping Services
Public web data, extracted properly: parsed, deduplicated, verified and delivered in a format your team can work the same morning.
Read more →Custom Lead Database
A private database of your market — built once from public sources, kept current automatically, searchable by the people who have to call it.
Read more →Lead Generation Automation
The whole chain, wired end to end: find, verify, score, route, notify. No one on your team copying rows between tools.
Read more →CRM Integration & Lead Routing
Get sourced records into the system your reps already live in — matched, deduplicated against what is already there, and assigned correctly on arrival.
Read more →Lead Scoring & Prioritisation
Rank the list before anyone dials it — on signals from your own closed deals, not a vendor's black box.
Read more →Public Records Data Mining
Government registers publish business events every day — new entities, new licences, new permits. Software that watches them turns filings into first-mover leads.
Read more →Guides for buyers
Where we build
What the PermitPulse file holds, column by column
Enrichment starts with a count of what the data already holds. The table shows how many PermitPulse records carry each field on October 23, 2026. Phones are on 43% and emails on 22%; property addresses on 97%. The gap between an address and a reachable owner is the work an enrichment build is hired to close.
One worked example from our own file: several Colorado registers publish an address and no owner. In October 2026 we joined them to the free parcel and owner files that the county assessors publish (Summit County and Denver among them), matching on the property address. Today 9,904 of the 10,105 Colorado records carry an owner name. The join used only government records, so the result stays public-record data, which matters for how it may be used.
| Column | Records | Share |
|---|---|---|
| Owner name | 209,049 | 75% |
| Business name | 121,405 | 44% |
| Property address | 269,460 | 97% |
| Separate mailing address | 114,619 | 41% |
| Phone | 118,673 | 43% |
| 61,635 | 22% | |
| Filing date | 141,926 | 51% |
Describe the problem, not the spec.
Tell us who you are trying to reach and how you find them today. We come back with a source map, a fixed price, and an honest note on anything we do not think will work.