Bulk enrichment
Updated November 10, 2026
Bulk enrichment is the practice of enriching a large set of person or company records in one batch job, rather than enriching a single record through an interactive call. Teams use it for CRM cleanups, list imports, and scheduled refreshes. The unit of work is the file or query cohort, and the unit of cost is still the credit or lookup charged per successful or attempted result.
In short: Bulk enrichment runs enrichment across a large cohort in one job, so CRM imports and refresh windows can fill missing fields at batch scale while still billing per result or call.
How bulk enrichment works
Bulk enrichment starts with a cohort. Ops selects the rows that deserve a lookup, exports or queries them, and sends each row through the same enrichment path a single-record call would use. The difference is orchestration: retries, pacing, receipts, and a scorecard across thousands of rows instead of one screen.
RichAPI prices Bulk profile enrichment and Bulk company enrichment at 1 credit per result inside the Enrichment Pass, which covers fifty thousand profile or company enrichments a month on the yearly Enrichment Pass plan 1. The same product catalog prices ordinary Profile enrichment and Company enrichment at 1 credit per call, billed on any 2xx response, including an empty one 2. That means a bulk empty return can still spend a credit unless you are on a miss-free waterfall endpoint.
Input keys still gate the job. RichAPI Profile enrichment needs a LinkedIn profile URL, and Company enrichment needs a LinkedIn company page URL 2. A bulk file of names and domains is not enough until those URLs exist. Teams often run a finder step first, then bulk enrich only the rows that have a usable key.
Waterfall enrichment changes the bill on email and phone passes. RichAPI Email finder, Email verifier, and Phone finder bill zero credits when no source returns data 3. That miss policy matters more in bulk than in a demo of ten rows, because empty rows dominate real CRM files.
Bulk enrichment is still data enrichment. It fills fields on records you already hold. It does not invent net-new accounts by itself, and it does not freeze data decay. Store source and retrieval date next to every field the batch writes 2.
Ops should freeze a sample before the full run. Score fill rate and match rate on that sample under the same blank rules you will use in production. Only then raise volume.
Credit bundles on RichAPI never expire, and new accounts start with one hundred free credits, which is enough to prove the bulk path on a small slice before buying a larger bundle 1.
Batch size is a product decision as much as a script setting. Too large and a bad key map burns thousands of credits before anyone notices. Too small and the job never leaves the pilot. Start with a few hundred rows that match the production segment, freeze the blank rules, and only then scale the same code path.
Failure handling belongs in the same design. Non-2xx failures should be free on platforms that advertise that rule, while empty 2xx bodies on profile and company calls can still spend a credit 2. Your bulk worker must classify those outcomes the same way billing does, or the overnight job will look healthy while the ledger bleeds.
Field maps should be boring. Write industry to industry. Write company size to the field routing already reads. Inventing parallel custom fields for every bulk pass is how CRM schemas rot. Prefer a small set of trusted fields with source and retrieval-date stamps next to each value 2.
When bulk enrichment beats one-by-one calls
Interactive enrichment is right for a form fill or a live agent turn. Bulk enrichment is right when hundreds or thousands of rows share the same missing fields and the same deadline.
CRM imports are the classic case. A conference list lands with titles missing. Routing rules need industry and size. A bulk company pass on LinkedIn company URLs fills those firmographic gaps before sequences start 2.
Scheduled refresh is the second case. Enriching the whole CRM every night wastes credits on rows nobody will touch. Enriching the accounts in this quarter's pipeline, in bulk, keeps spend next to action 2.
Cost control is the third case. On miss-free waterfall endpoints, bulk volume times hit rate times credits per hit is the real bill 3. On 2xx-billed enrichment, volume times credits per call is the bill even when the payload is thin 2. Pick the endpoint family before you pick the row count.
Governance still applies at batch scale. Under GDPR-style notice rules discussed on the RichAPI enrichment page, people may need to be informed when personal data is enriched from other sources 2. Plan notice before you plan the volume.
Keep match rate and fill rate on the same bulk scorecard. A cheap bulk pass that fills junk is worse than a smaller pass that fills verified values.
Compliance review should see the bulk plan before credits move. If the cohort includes EU personal data, the notice timing discussed on the enrichment page is part of the launch checklist, not a later legal surprise 2.
Finally, separate discovery spend from enrichment spend. Finding LinkedIn URLs is a different endpoint family from filling firmographics. Budget them as two lines so a weak finder step does not get blamed on enrichment fill rate.
Example of a bulk profile enrichment pass before a quarter kickoff
Sales ops pulls a multi-thousand account cohort for the next quarter, each with a LinkedIn company page URL and empty industry fields. They run Bulk company enrichment under the Enrichment Pass pricing of 1 credit per result 1.
A frozen sample of a few hundred rows shows fill rate on industry before finance approves the rest. Empty 2xx responses still matter on non-waterfall enrichment, so the sample includes receipt checks for billed calls 2.
For contacts on those accounts, they only bulk enrich rows that already have a LinkedIn profile URL. Rows without a URL wait for a finder step. Emails found later go through Email verifier, where misses bill zero credits 3.
The runbook stores source, timestamp, credit spend, and field-level fill rate. That is bulk enrichment as an operating system, not as a one-click cleanup myth.
After the pass, ops compares credit receipts to the scorecard. Rows that billed without filling industry are tagged for key repair, not for another blind enrich. The next bulk window only includes rows that still lack the field and still have a valid company URL.
The scorecard from that run becomes the template for the next cohort, so arguments about coverage start from the same denominator every time.
Bulk enrichment vs data enrichment
Data enrichment is the goal of adding fields to records you hold. Bulk enrichment is one way to run that goal across a large cohort in one job.
| Bulk enrichment | Data enrichment | |
|---|---|---|
| What it answers | How do we enrich many rows in one job? | What else is known about this record? |
| Input | A cohort with shared missing fields. | One record and a usable key. |
| Output | A scored batch of filled fields. | Fields returned for that record. |
| Cost driver | Credits times rows that bill under the endpoint rules. | Credits per call or per result. |
| Main risk | Enriching rows nobody will act on. | Stale fields that look complete. |
| Use it when | Imports, cleanups, or scheduled refreshes. | Any time a held record needs more fields. |
Frequently asked questions
What is bulk enrichment?
Bulk enrichment means running enrichment across a large set of records in one job instead of one interactive call at a time 2. The cohort is the unit of work. Keep that distinction on the ops checklist before the next send.
How much does bulk enrichment cost on RichAPI?
Bulk profile and bulk company enrichment are listed at 1 credit per result on the Enrichment Pass 1. Ordinary profile and company calls also cost 1 credit and bill on any 2xx 2.
Do I need LinkedIn URLs for a bulk pass?
For RichAPI Profile and Company enrichment, yes. Those endpoints take a LinkedIn profile URL or company page URL as the required input key 2. Keep that distinction on the ops checklist before the next send.
Is bulk enrichment the same as a waterfall?
No. A waterfall is a source order for one value 3. Bulk enrichment is batch orchestration. You can run a waterfall inside a bulk job. Keep that distinction on the ops checklist before the next send.
The bottom line
Bulk enrichment applies data enrichment across a cohort so imports and refreshes can fill fields at scale 2. Score a frozen sample first, watch billing rules, and store source plus date on every write. RichAPI bulk profile and company results are listed at 1 credit each on the Enrichment Pass 1. Do this before volume rises.
Sources
- RichAPI pricing, RichAPI
- Data enrichment, RichAPI
- Waterfall enrichment, RichAPI