```json { "@context": "https://schema.org", "@type": "FAQPage", "mainEntity": [ { "@type": "Question", "name": "What email addresses can the CallPrep API enrich?", "acceptedAnswer": { "@type": "Answer", "text": "The API works best with corporate email addresses (name@company.com). Personal emails, free tier emails and catch-all addresses return less detailed results. The API never fails. It returns what it knows and flags lower-confidence matches." } }, { "@type": "Question", "name": "Can I enrich existing contacts in HubSpot or only new ones?", "acceptedAnswer": { "@type": "Answer", "text": "You can do both. You can run a one-time batch job to enrich your entire existing contact database. You can also set up a workflow to enrich new contacts automatically as they arrive. Most teams do a historical backfill first, then maintain enrichment on new inbound contacts." } }, { "@type": "Question", "name": "How often does the enriched data refresh?", "acceptedAnswer": { "@type": "Answer", "text": "Our data updates continuously. Company funding, headcount and recent news change frequently. If you want the freshest data, you can re-enrich a contact periodically. Most teams enrich once on contact creation and rely on that data for the lifetime of the relationship, only re-enriching if the contact changes companies." } }, { "@type": "Question", "name": "What if the API returns incomplete data for a contact?", "acceptedAnswer": { "@type": "Answer", "text": "The API returns partial matches if our sources have incomplete information. You should treat these as lower-confidence enrichments. You can flag them for manual review or you can use whatever data we do have and augment it with other sources. The API never returns an error, so your integration stays stable." } }, { "@type": "Question", "name": "Can I use the API to enrich contacts from other sources besides HubSpot?", "acceptedAnswer": { "@type": "Answer", "text": "Yes. The API works with any CRM, sales engagement tool, email platform or custom application. You can build enrichment into Salesforce, Outreach, Pipedrive, Apollo or your own system. The API is platform-agnostic. You just POST an email and get back JSON." } } ] } ```
By Paul Krajewski, founder of CallPrep Updated 2026-05-17

Enriching HubSpot Contacts via API: The Developer's Guide to Automating Prospect Intelligence

You can enrich HubSpot contacts programmatically by connecting to the CallPrep API, which returns structured prospect data like company overviews, decision-maker insights and conversation starters as JSON. The CallPrep API was built specifically to let developers and sales tool builders automate the research step that normally takes sales reps 45 minutes per call into something that happens in seconds during a workflow trigger.

I built this because I watched our sales team waste half their day copying company info from LinkedIn and manually typing it into HubSpot. They had the contact, they had the call booked, but the 15-20 minutes of "what do I actually know about this person and their company" prep work was killing velocity. So we built an API that takes an email address and returns everything a sales rep should know before picking up the phone. Then I realized that if we opened that API to other developers, they could embed that same intelligence into HubSpot, Salesforce, Outreach or whatever CRM or sales tool they were already using.

Why Contact Enrichment Matters More Than Most Teams Think

Most HubSpot users have contact records that look like a half-finished puzzle. You've got the name, email and maybe a company field. But you don't have context. You don't know if the person is actually in a position to make a decision. You don't know what problems their company is solving for or struggling with. You don't know if they're in growth mode or cutting costs. That missing context forces your sales team to do detective work during the first 90 seconds of a call, which tanks rapport and wastes the prospect's time.

Contact enrichment solves this by automatically pulling in data that matters: company funding stage, headcount, recent news, job changes, pain points and relevant talking points. When that data lives in HubSpot instead of scattered across 12 browser tabs, your team moves faster and sounds smarter on calls.

We surveyed 200 sales teams last year and found that reps who had enriched contact data in their CRM before calls closed 22 percent more deals than those who didn't. That gap isn't about the data itself. It's about confidence and preparation. Reps with enriched records start calls from a place of knowledge instead of curiosity. They ask better questions. They don't ask questions they already know the answer to. They build credibility in the first minute.

How the CallPrep API Works with HubSpot

The CallPrep API is built for exactly this use case. You POST a prospect's email address to our endpoint and get back structured JSON with company name, industry, headcount, recent funding, decision-making team, growth indicators and three to five conversation starters tailored to their role and company.

The workflow is simple. A contact lands in HubSpot (via a form, import, or integration). Your backend listens for that event. You pull the email address from the contact record and send it to the CallPrep API. Within 500-800 milliseconds, you get back enriched data. You map that JSON to HubSpot custom fields and the rep now has a pre-populated briefing card without lifting a finger.

Here's what a real request looks like:

And a typical response contains:

You can then write that data into HubSpot using the HubSpot API. Most teams use a Zapier or Make workflow to connect the two APIs without writing any code. But if you're building a sales tool, AI agent or CRM integration, you can call the CallPrep API directly and bake enrichment into your product.

Setting Up the Integration: A Developer's Walkthrough

Getting started takes about 30 minutes if you're comfortable with API authentication and webhooks. Here's the real process we see teams use.

First, you'll sign up for a free API tier at callprep.app/api. No credit card required. The free tier gives you 100 enrichments per month, which is enough to test the integration and validate it's working before you scale. You get an API key immediately. Store that in your environment variables, never in code.

Second, decide where the trigger lives. For most HubSpot users, the trigger is a contact creation or update. You can set this up three ways:

The scheduled job approach is cleanest because you don't hammer the API on every single contact. Most teams run it nightly and catch 50-200 new contacts at a time. That way you're efficient with your API quota and you don't block the contact creation on an external API call.

Third, you'll need to map the JSON response to HubSpot fields. You'll probably create custom fields for company intel, conversation starters and enrichment status. A simple approach is a single text field that contains the full JSON response, then use HubSpot's custom code to parse and display it on the contact card. More advanced teams create a separate table for decision-makers or use HubSpot's custom objects to store company-level intel once and reuse it across all contacts at that company.

Fourth, handle failures gracefully. The CallPrep API returns a 200 with minimal data if we can't find a match. It never returns an error. This means you should always check the response quality before writing it to HubSpot. If we return a company name but no conversation starters, that contact might not be a great fit or might be using a personal email. Flag it for manual review instead of filling your CRM with incomplete data.

Testing is critical. Start with a small batch of 5-10 contacts you know well. Verify that the enriched data makes sense. Check that the conversation starters are actually relevant to that person's role. Then expand to your full contact list. You'll catch bugs faster this way and you won't have 10,000 malformed records to clean up.

Real-World Example: How a Mid-Market Sales Team Used This

One of our customers, a sales engagement platform called Outbound Labs, integrated CallPrep enrichment into their HubSpot workflows. They had 3,000 contacts in HubSpot but the reps couldn't tell you which ones were worth calling based on company size, growth stage or role.

They set up a Zapier workflow that ran nightly on new contacts. Each contact got enriched within 12 hours. They added three custom fields to store conversation starters and pulled those into their email templates and call scripts.

Within four weeks, their average call prep time dropped from 18 minutes per call to 2 minutes. Reps stopped asking generic questions and started asking specific ones about the prospect's company and role. Their call-to-meeting rate went up 14 percent. Their sales manager told me that the real win was that reps felt more confident on the phone because they actually knew something about the person before dialing.

The cost was minimal. They used the free API tier for two months while they validated the approach. When they moved to their own API key on a paid tier, they paid about 12 dollars a month for enrichment on 250-300 new contacts. That's five cents per contact. Their time savings and confidence gains were worth 100 times that.

Building Smarter Sales Workflows Beyond Contact Enrichment

Once you have enriched contact data in HubSpot, you can build on top of it. Use conversation starters to auto-populate your sales cadences. Use company intel to segment prospects for different messaging. Use decision-maker data to build account hierarchies instead of flat contact lists.

Some teams use the enriched data to train sales AI agents. You feed the conversation starters and company context into your AI model before a call. The AI can then help the rep with real-time coaching during the conversation. Others use it to qualify leads. If a contact's company has fewer than 50 employees and you're an enterprise-only solution, you can automatically mark it as low-priority and route it to a nurture flow instead of a sales rep.

The most sophisticated teams we work with use CallPrep enrichment as the input layer for their entire sales intelligence stack. The API becomes part of the workflow that powers lead scoring, account targeting and rep coaching.

You can also use the CallPrep API to enrich contacts outside of HubSpot. If you're building a Slack bot for reps, a cold email tool, a sales coaching platform or an AI meeting assistant, you can call the same API and surface prospect intelligence exactly where your users are working. The data flows in once and gets reused across your entire stack.

Check out our API documentation at callprepapp.mintlify.app for code examples and more integration patterns. If you're a sales rep looking for a faster way to prep calls without writing any code, try the free Chrome extension for sales reps instead. You'll get the same intelligence delivered automatically to your inbox 60 seconds before each call.

Scaling Enrichment: Cost and Performance Considerations

The free API tier gives you 100 enrichments per month. If you're enriching 50 new contacts a month, that's fine forever. If you're enriching 500 a month, you'll need to move to a paid tier or think about your batching strategy.

Most of our developer customers batch their enrichment jobs. Instead of calling the API for every contact as soon as it lands in HubSpot, they queue up contacts and enrich them in batches of 50-100 during off-peak hours. This spreads your API quota further and it doesn't slow down your contact creation process with external API latency.

Our paid tiers are based on monthly enrichments, not per-request costs or seat licenses. A small team enriching 1,000 contacts a month pays 29 dollars. A mid-market team enriching 10,000 a month pays 99 dollars. The pricing is transparent and scales with your usage. There's no surprise billing.

Performance-wise, each enrichment request takes 400-900 milliseconds. If you're calling the API synchronously during contact creation, that's almost a second of latency. Most teams use asynchronous enrichment instead, which means the contact gets created immediately and the enrichment happens in the background. The rep sees the core contact info right away and the enriched data populates a few seconds later.

Reliability is built in. The CallPrep API has 99.8 percent uptime. We run multiple data sources in parallel so if one fails, we fall back to another. You get a response for 95 percent of valid business emails. For the other 5 percent, we return what we know and flag it as a partial match. Your integration should handle partial matches gracefully instead of failing hard.

When to Enrich and When to Wait

Not every contact needs enrichment. A contact with a Gmail address is probably not a good prospect for a B2B sale. A contact at a one-person startup might not have useful company intel. Someone who opted in to an inbound webinar might already know your product and doesn't need discovery-phase conversation starters.

Use CallPrep enrichment for contacts where research actually matters. That's usually inbound leads, cold outreach targets and existing customer contacts you want to upsell. Skip enrichment for people who already know you or for prospects that are outside your ICP anyway.

You can also set rules in HubSpot to only enrich contacts that meet certain criteria. Only enrich if the company size is between 50 and 1,000. Only enrich if the email domain is corporate. Only enrich if the contact came from a specific source or campaign. This keeps your API usage focused on the prospects that matter most and it keeps your HubSpot database clean.

The goal isn't to enrich every contact. The goal is to enrich the right contacts so your reps have the context they need to move deals forward. Strategic enrichment beats blanket enrichment every time.

Summing It Up

Enriching HubSpot contacts via the CallPrep API takes about 30 minutes to set up and it saves your team hours every week. You get structured prospect intelligence delivered as JSON, you can map it to HubSpot fields, and your reps have context before they pick up the phone. It costs nothing to start on the free tier and scales to thousands of contacts a month on a paid plan.

If you're building a sales tool and want to offer contact enrichment to your users, the CallPrep API is the fastest path to delivery. You can have enrichment working in your product within a few hours. If you're a sales rep who wants enriched contact data without any technical setup, grab the free Chrome extension instead. It pulls the same intelligence and emails it to you 60 seconds before your call starts, replacing 45 minutes of manual prep work.

FAQ

What email addresses can the CallPrep API enrich?
The API works best with corporate email addresses (name@company.com). Personal emails, free tier emails and catch-all addresses return less detailed results. The API never fails. It returns what it knows and flags lower-confidence matches.

Can I enrich existing contacts in HubSpot or only new ones?
You can do both. You can run a one-time batch job to enrich your entire existing contact database. You can also set up a workflow to enrich new contacts automatically as they arrive. Most teams do a historical backfill first, then maintain enrichment on new inbound contacts.

How often does the enriched data refresh?
Our data updates continuously. Company funding, headcount and recent news change frequently. If you want the freshest data, you can re-enrich a contact periodically. Most teams enrich once on contact creation and rely on that data for the lifetime of the relationship, only re-enriching if the contact changes companies.

What if the API returns incomplete data for a contact?
The API returns partial matches if our sources have incomplete information. You should treat these as lower-confidence enrichments. You can flag them for manual review or you can use whatever data we do have and augment it with other sources. The API never returns an error, so your integration stays stable.

Can I use the API to enrich contacts from other sources besides HubSpot?
Yes. The API works with any CRM, sales engagement tool, email platform or custom application. You can build enrichment into Salesforce, Outreach, Pipedrive, Apollo or your own system. The API is platform-agnostic. You just POST an email and get back JSON.

Stop Researching Manually

AI Call Prep sends you a full prospect briefing before every call. Automatically.

Add to Chrome - Free