How enrichment works
When you enrich a company, Metal gathers data from multiple sources, resolves conflicts, and writes the result back to the record. Enrichment runs asynchronously: you trigger it, and the enriched values appear on the record once processing completes.Metal sources and resolves data
Metal queries providers and AI models, then reconciles the results into a single best value per attribute.
Enrichment is asynchronous. After triggering it, poll the company record (or wait for a webhook if configured) rather than expecting enriched values in the immediate response.
Enrichment timestamps
Companies carry timestamps that tell you the state of enrichment:| Field | Description |
|---|---|
lastEnrichmentStartedAt | When the most recent enrichment run began. |
lastEnrichedAt | When enrichment last completed and wrote values. |
lastEnrichmentStartedAt is newer than lastEnrichedAt, a run is in progress.
Enriching in bulk
To enrich many resources at once, add them to a list and trigger enrichment at the list level. Lists are the spreadsheet-like surface for working with resources in bulk, including computing enriched columns across every entry.Best practices
Create first, enrich second
Create a company with at least a
canonicalName (and a website when you have one) before enriching for the best match.Poll, don't block
Trigger enrichment and check back later; don’t hold a request open waiting for results.
Provide hints
The more identifying detail you supply (website, location), the more accurate enrichment is.
Batch with lists
Use lists to enrich large sets efficiently instead of looping one-by-one.