Data enrichment API

Data enrichment API for people, companies and work emails

Send a LinkedIn profile URL, a company domain, or a person's name and company domain to the EnvoAPI data enrichment API. You get back the job title, company, industry, headcount and location your records are missing, as JSON read from public pages at request time. The same key finds and verifies work emails. Each endpoint has a fixed credit price: a contact plus its company costs 2 credits, about $0.006 on the Growth plan. Start with 100 free credits, no card required.

Illustration: an identifier you already hold, such as a company or profile URL, goes into EnvoAPI, and the matched company or person record comes back as structured fields.

How it works

How enrichment works: from an identifier to a JSON record

EnvoAPI takes an identifier you already hold, reads the matching public page, and returns one JSON record in the { data, meta } envelope. Each lookup takes 3 steps:

  1. Send the identifier to a GET endpoint with your API key in the Authorization: Bearer header.

    CallGET /v1/profiles/details/by-url
  2. EnvoAPI matches it to a public page and reads that page at request time.

    Readlinkedin.com/in/avery-chen-synthetic
  3. Store the record from data, and read meta for the credit cost and missing sections.

    Store"fullName": "Avery Chen"

Identifiers you can send and the endpoint for each

The domain row works as a domain enrichment API: send northstarsystems.example and get the matching company pages back, then pass a slug to /v1/companies/details/by-slug for the full company record.

Identifiers and endpoints
InputEndpoint
Profile URL/v1/profiles/details/by-url
Profile username/v1/profiles/details/by-username
Profile ID/v1/profiles/details/by-id
Company website domain/v1/companies/by-domain
Company page URL/v1/companies/details/by-url
Company slug/v1/companies/details/by-slug
Company ID/v1/companies/details/by-id
Job posting URL/v1/jobs/details
Person's name and company domain/v1/emails/find
Email address/v1/emails/verify
Website URL/v1/websites/emails

A profile lookup request and its JSON response

The request sends a profile URL in the url parameter. The response is synthetic sample data, trimmed for this page.

curlbash
curl -G "https://api.envoapi.com/v1/profiles/details/by-url" \  --data-urlencode "url=https://www.linkedin.com/in/avery-chen-synthetic/" \  -H "Authorization: Bearer $ENVO_API_KEY"

data.fullName

The matched person's name, as a plain string.

The record sits in data, and meta.creditCost reports 1 credit for this call.

JSON responsejson
{  "data": {    "publicId": "profile_7Hc2Qa",    "fullName": "Avery Chen",    "headline": "Revenue operations lead for B2B SaaS",    "location": { "displayName": "Austin, Texas, United States", "countryCode": "US" },    "industry": "Software Development",    "counts": { "followerCount": 2140, "connectionCount": 500 },    "experience": [      {        "title": "Head of Revenue Operations",        "company": { "publicId": "company_9Nst4R", "name": "Northstar Systems" },        "dateRange": { "start": { "year": 2023, "month": 4, "day": null }, "end": null, "isCurrent": true }      }    ],    "education": [],    "skills": ["Salesforce", "Lead Scoring", "SQL"]  },  "meta": {    "creditCost": 1,    "sections": { "counts": "complete", "experience": "complete", "education": "empty", "skills": "incomplete" }  }}

Reading meta.sections before you write a record

The meta.sections object marks each section of the record complete, empty, incomplete or unavailable. In the sample, education is empty and skills is incomplete. Three JSON data enrichment techniques protect your CRM data quality:

  • Map the { data, meta } envelope once for every endpoint.
  • Skip sections marked empty, and treat incomplete as a partial list.
  • Never overwrite a good CRM value with an empty one.

Coverage

People, company, job and email data from one API key

One EnvoAPI key calls 58 GET endpoints for B2B data enrichment. The 7 families are Profiles 24, Companies 9, Search 9, Jobs 2, Posts 8, Email 3 and Websites 3.

Person profile fields

A profile lookup returns the person's name, headline, current title and company, location, industry, experience, education, skills and follower count. Separate endpoints return the full experience, education, skills, certifications, courses and volunteer lists.

Other profile endpoints return the companies a person follows, publicly shown contact data, recent posts, comments, reactions and similar profiles.

Company and account fields

A company enrichment API call returns the company name, website, industry, headcount range, headquarters, founding year and specialties.

For account enrichment, separate endpoints return a company's employees, products, recent posts, open jobs and similar companies.

Job postings and hiring signals

EnvoAPI job search filters postings by keyword, location, company and experience level. Job details return the title, company, location, workplace type, description and posted date. Open roles show which target accounts are hiring.

Work emails and website data

EnvoAPI works as an email enrichment API for B2B contact records. The email finder returns a work email from a person's name and company domain when it finds one. The verify endpoint checks a mailbox live without sending a message.

A disposable-domain check flags throwaway domains for free. Three website endpoints return a site's published email addresses, a page's rendered HTML with JavaScript, or its clean text.

Pricing

Data enrichment API pricing and cost per record

The Growth plan costs $149 per month for 50,000 credits, so one contact plus its account (2 credits) costs about $0.006, as of October 2026.

Monthly plans and cost per credit

EnvoAPI plan prices:

EnvoAPI plans
PlanPrice per monthCreditsCost per credit
Free$0100, one time$0
Launch$4910,000$0.0049
GrowthRecommended$14950,000$0.00298
Scale$499250,000$0.0020
Volume$1,7991,000,000$0.0018
EnterpriseCustom2M+Custom, with SLA and DPA

Top-up packs start at $29 for 5,000 credits. They never expire and are sold on paid plans only.

Credits per call by endpoint

Each EnvoAPI endpoint has a fixed credit price, and every response reports it in meta.creditCost.

Credits per call
CallCredits
Profile, company, job, search, post or profile contact1
Email verify, website content or website text2
Website emails5
Email finder10
Disposable email check0

Cost of one enriched contact and account

Growth plan math for one record:

  1. $149 ÷ 50,000 credits = $0.00298 per credit.
  2. A profile lookup plus a company lookup is 2 credits, about $0.006.
  3. Add an email finder call, and the record takes 12 credits, about $0.036.
  4. Add an email verify call, and the record takes 14 credits, about $0.042.

The 100 free credits cover 100 profile or company lookups, or 10 email finder calls.

Real-time data

Real-time public data and the limits of each response

EnvoAPI is a real-time data enrichment API: each request reads the public page when you call, not a dataset refreshed on a schedule. The enrichment API answers one request at a time and sells no datasets or file exports.

Every EnvoAPI response stays within 4 limits:

  • Public data only: no private messages, connection lists or anything behind a login.
  • Data gaps: a field stays empty when the public page does not show it, and meta.sections marks that section.
  • No promised contact details: emails and phone numbers are not guaranteed for any person.
  • Read-only: EnvoAPI sends no messages, publishes no posts and sends no connection requests.

Use cases

Data enrichment API use cases by team

Each team starts from an identifier it already holds, calls 1 to 3 endpoints, and gets back the data points it needs.

CRM contact and account enrichment

Enrich records with title, industry and company size for lead scoring.

Input

Contact profile URL, account domain

Calls

  • GET/v1/companies/by-domain
  • GET/v1/companies/details/by-slug
  • GET/v1/profiles/details/by-url

Returns

  • industry
  • headcount
  • job title
  • location

Integrations

SDKs, MCP server and no-code integrations

EnvoAPI endpoints run from code through MIT-licensed SDKs for Python, TypeScript and Go. AI assistants call them through the EnvoAPI MCP server, and n8n, Make and Zapier call them through HTTP steps.

MCP server for Claude, ChatGPT and Cursor

The EnvoAPI MCP server at https://api.envoapi.com/mcp exposes 35 read-only tools. AI clients connect with OAuth or an API key, and an MCP call costs the same credits as the matching REST call.

Setup guides cover Claude, Claude Code, ChatGPT, Cursor, VS Code, Codex and OpenCode. In the synthetic example below, the AI agent calls get_profile_details for 1 credit.

Sample MCP conversationsynthetic

Enrich this contact for our CRM: linkedin.com/in/avery-chen-synthetic

get_profile_detailsGET /v1/profiles/details/by-username✓ 1 credit

Avery Chen is Head of Revenue Operations at Northstar Systems, based in Austin, Texas, United States. Industry: Software Development.

SDKs, OpenAPI contract and changelog

EnvoAPI publishes a versioned OpenAPI contract that is checked for drift. The changelog says what to update in your code for each change, and a public status page reports uptime and latency.

FAQ

Enrichment API FAQ: legality, rate limits and billing

Is it legal to enrich records with public LinkedIn data?

No single answer covers every use. LinkedIn's User Agreement restricts automated collection, and you are responsible for how you use the data under GDPR and CCPA. Read how EnvoAPI handles data before you plan your use.

Is EnvoAPI affiliated with LinkedIn?

No. EnvoAPI is an independent, unofficial third-party API. It is not affiliated with or endorsed by LinkedIn. LinkedIn's open, self-serve permissions return only the signed-in member's own name, headline, photo and email. Sales Navigator and other partner programs need LinkedIn's approval.

Do I need a LinkedIn account, cookies or proxies?

No. Each request needs only your EnvoAPI key in the Authorization: Bearer header, sent from your server, so no account of yours gets restricted. Skipping a LinkedIn sign-in does not mean private data: only public data comes back.

How many records can I enrich per minute?

Your plan sets the limit, as of October 2026: Free 10, Launch 60, Growth 120, Scale 300 and Volume 600 requests per minute. Over the limit, the API returns HTTP 429 with a Retry-After header. Search endpoints return a cursor for paging, and EnvoAPI takes no file uploads.

Am I charged when a request fails?

Not for invalid requests or expired cursors, which cost 0 credits. An email finder call or website email scan that finds nothing is still charged. Email verify credits are refunded when the verification provider is unavailable, and for Yahoo addresses.

How do I move from Proxycurl to EnvoAPI?

Proxycurl has shut down. Send the same profile and company URLs to /v1/profiles/details/by-url and /v1/companies/details/by-url. Every response uses the { data, meta } envelope, so you map the fields once.

Quickstart

Make your first enrichment call with 100 free credits

Sign up for 100 free credits with no card, then send your first data enrichment API request with curl. The call takes 3 steps:

  1. Export your API key

    Copy your API key and export it as ENVO_API_KEY. Keep the key on your server.

    Shellbash
    export ENVO_API_KEY="your_api_key"
  2. Look up a company by domain

    Call GET /v1/companies/by-domain with domain=northstarsystems.example, for 1 credit.

    curlbash
    curl "https://api.envoapi.com/v1/companies/by-domain?domain=northstarsystems.example" \  -H "Authorization: Bearer $ENVO_API_KEY"
  3. Read the response

    Read the matching company pages in data, and the credit cost in meta.

    JSONjson
    {  "data": { "companies": [ … ] },  "meta": {    "paging": { … },    "creditCost": 1  }}