Enrichment
Enrich Company Profiles
Build richer CRM, directory and marketplace profiles with logos, descriptions, socials, colors, addresses and industry data.
How it works
From input to useful output in three steps
GET /v1/brand/retrieve-by-email
Turn email into company context
Reject free email domains and use business domains to retrieve brand and company fields.
GET /v1/brand/retrieve-by-email
Add routing signals
Use industry classification and social links to segment leads, assign accounts and personalize outreach.
GET /v1/web/eic
Map to CRM fields
Store only useful fields and allow manual overrides when a rep corrects the account.
POST /v1/workflows/lead-enrichment
Example workflow
Sparse CRM row to rich account profile
john@lead-company.com with an empty account profile.
Domain, description, logo, socials, phone/address hints and industry classification.
A visual, searchable company profile that sales and support can use.
{
"email": "john@lead-company.com",
"crm": "hubspot"
}
Built for
Teams that can use this immediately
Sales teams
Challenge: Lead records lack context.
Solution: Add company visuals and summaries.
Impact: Reps research less before outreach.
Directories
Challenge: Listings look empty or inconsistent.
Solution: Normalize brand profile data.
Impact: Profiles feel credible and scannable.
Support tools
Challenge: Agents cannot tell who the customer is.
Solution: Attach company context to accounts.
Impact: Support replies become more informed.
01
From sparse lead to usable account
Transform a work email or domain into a normalized company profile your sales or support product can use.
02
Keep profiles visually useful
Add logos, brand colors and screenshots so profile rows, account pages and reports become easier to scan.
03
Add classification and routing
Use NAICS, SIC and EIC classification to segment accounts, route leads and personalize messaging.
Implementation FAQ
Questions teams ask before building Enrich Company Profiles
What does Enrich Company Profiles help me build?
It turns Company profile enrichment API for CRMs and directories. into a repeatable workflow. The first practical outcome is domain, email, name, ticker and isin lookup.
Which API should I call first?
Start with GET /v1/brand/retrieve-by-email. The workflow section shows the supporting endpoints to add when you need more context, evidence or visual assets.
What input do I need from my user?
The smallest useful input is shown in the example workflow: john@lead-company.com with an empty account profile. Ask only for the domain, URL, email, ticker or descriptor that the selected endpoint actually needs.
What should I store from the response?
Store the normalized result together with source URLs, confidence or access state, and the time it was fetched. This keeps later refreshes and human review explainable.
Can I use this from a backend, CLI or AI agent?
Yes. The REST endpoint, TypeScript and Python SDKs, CLI and MCP tools use the same local API contract. No-code templates are available for business workflows.
How do I keep the result current?
Use maxAgeMs where the endpoint supports it, or schedule the relevant crawl or workflow. Refresh facts that can change and cache stable assets such as logos more aggressively.
What happens when the website blocks access?
The API reports blocked, verification_required, login_required, robots_disallowed or permission_required instead of treating an empty page as a successful result.
How should I handle missing fields?
Keep the UI usable with optional fields, sensible placeholders and manual overrides. A missing logo, address or classification should not prevent the rest of the workflow from completing.
Who is this workflow designed for?
The examples focus on sales teams, directories, support tools, but the API response is general enough to use in custom applications.
Can I review the result before publishing it?
Yes. Show extracted values, source URLs and generated visual previews in an approval step before changing customer-facing content or records.
Is batch processing supported?
Use the batch, crawl or workflow endpoint shown for the capability when available. For smaller integrations, process a controlled list and record individual failures rather than failing the whole job.
How do I try the complete example locally?
Open the linked playground from this page or call GET /v1/brand/retrieve-by-email at http://127.0.0.1:8013 with X-API-Key: mh-localhost-dev-key. The example payload on this page is ready to adapt.
Related use cases