Skip to content

ENRICHLOOPS/ PEOPLE ENRICHMENT

An email.
A real
introduction.

Get to know the person behind the signup.

Turn a work email or LinkedIn profile URL into a name, role, location, and employment history. Bring more context to your first conversation.

100 free credits / month · No card. No sales call.

PERSON PROFILE Enriched

Maya Okafor

Head of Finance at Lumen Payments

Current role
Head of Finance
Company
Lumen Payments
Based in
Amsterdam, NL
Company domain
lumenpay.io

THE EXPERIENCE BEHIND THE TITLE

  1. Head of FinanceLumen Payments
    Current
  2. Finance ManagerHarborgrid
    Previous
14-day refresh cycle3 credits
Under the hood Request & JSON response
Request · queues an enrichment task
curl -X POST "https://api.enrichloops.com/v1/people/enrich" \
  -H "Authorization: Bearer $ENRICHLOOPS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"maya.okafor@lumenpay.io"}'
Person profile on the completed task
{
  "full_name": "Maya Okafor",
  "first_name": "Maya",
  "last_name": "Okafor",
  "headline": "Head of Finance at Lumen Payments",
  "city": "Amsterdam",
  "country_code": "NL",
  "linkedin_url": "https://www.linkedin.com/in/maya-okafor",
  "positions": [
    {
      "title": "Head of Finance",
      "company_name": "Lumen Payments",
      "company": {
        "name": "Lumen Payments",
        "domain": "lumenpay.io"
      },
      "employment_type": "Full-time",
      "location": "Amsterdam, Netherlands",
      "start_date": "2023-03-01",
      "start_date_precision": "month",
      "end_date": null,
      "end_date_precision": null,
      "is_current": true
    },
    {
      "title": "Finance Manager",
      "company_name": "Harborgrid",
      "company": {
        "name": "Harborgrid",
        "domain": "harborgrid.com"
      },
      "employment_type": "Full-time",
      "location": "Rotterdam, Netherlands",
      "start_date": "2019-01-01",
      "start_date_precision": "year",
      "end_date": "2023-02-01",
      "end_date_precision": "month",
      "is_current": false
    }
  ],
  "email_match": {
    "email": "maya.okafor@lumenpay.io",
    "method": "resolved"
  },
  "enrichment_status": "enriched",
  "updated_at": "2026-09-02T08:14:02.000Z",
  "last_enriched_at": "2026-09-02T08:14:02.000Z"
}

Fictional people. Illustrative responses using the API schema.

3 credits

Successful work-email lookup

1 credit

Successful LinkedIn URL lookup

14 days

Refresh cycle, on every plan

0 extra

Repeat lookups within that cycle

A little more about them.
A better next step.

Use the details behind a signup to route it, tailor the welcome, and give your team a fuller contact record.

Illustrative rules you can build in your own workflow. Use the position marked is_current for the current role.

A working life.
In useful detail.

Identity, location, and employment history in one consistent person object. Explore the fields your app can use.

Every field has a purpose.
Unverified values come back null.

Enrich contacts you already have. Person records do not include phone numbers.

See the full API reference
01IdentityName, headline, and profile URL for your contact record.5 fields
Identity field names, types, and example values
FieldTypeExample
full_namestring"Maya Okafor"
first_namestring"Maya"
last_namestring"Okafor"
headlinestring"Head of Finance at Lumen Payments"
linkedin_urlstring"https://www.linkedin.com/in/maya-okafor"
02LocationCity and country code for territory assignment and local context.2 fields
Location field names, types, and example values
FieldTypeExample
citystring"Amsterdam"
country_codestring"NL"
03PositionsCurrent and previous roles, with employer details. A company domain is included when matched.9 fields
Positions field names, types, and example values
FieldTypeExample
positions[].titlestring"Head of Finance"
positions[].company_namestring"Lumen Payments"
positions[].company.domainstring | null"lumenpay.io"
positions[].is_currentbooleantrue
positions[].employment_typestring"Full-time"
positions[].locationstring"Amsterdam, Netherlands"
positions[].start_datedate"2023-03-01"
positions[].start_date_precisionstring"month"
positions[].end_datedate | nullnull
04MatchEmail lookups only. The address used and how it was matched.2 fields
Match field names, types, and example values
FieldTypeExample
email_match.emailstring"maya.okafor@lumenpay.io"
email_match.methodstring"resolved"
05FreshnessTimestamps for the last update and enrichment, on a 14-day refresh cycle.2 fields
Freshness field names, types, and example values
FieldTypeExample
updated_attimestamp"2026-09-02T08:14:02Z"
last_enriched_attimestamp"2026-09-02T08:14:02Z"

Keep the signup moving.
The context follows.

Your form has one job: let someone in. Enrichment runs asynchronously, so the lookup can finish after the signup.

  1. 01

    Send the identifier

    POST a work email or LinkedIn profile URL. Get a task ID back and let your app carry on.

  2. 02

    Receive the result

    Poll the task, or use a Loop to deliver the result to your endpoint through a signed webhook.

  3. 03

    Put the context to work

    Update the contact, tailor onboarding, or enrich the current employer’s domain for company details.

See how Loops deliver your data
THE API, IN THREE STEPSEXAMPLE
curl -X POST "https://api.enrichloops.com/v1/people/enrich" \
  -H "Authorization: Bearer $ENRICHLOOPS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"maya.okafor@lumenpay.io"}'
POST /v1/people/enrich · email or linkedinUrl
Real schema. No mystery fields.JSON / REST

Meet the person.
Then their company.

A person’s current position includes the employer’s domain when we can match it. Send that domain to company enrichment for industry, headcount, and headquarters.

One API key. Two useful perspectives. Choose when your workflow needs both.

Explore company enrichment

ONE WORK EMAIL → TWO RECORDS

01 / PERSON

Maya Okafor

Head of Finance at Lumen Payments

3 credits
lumenpay.io
02 / COMPANY

Lumen Payments

Add industry, headcount, and headquarters

+1 credit
Person + company, via work email4 credits

Fictional example. Company data requires a separate call.

Make the company call Request example
POST /v1/companies/enrich · 1 credit
curl -X POST "https://api.enrichloops.com/v1/companies/enrich" \
  -H "Authorization: Bearer $ENRICHLOOPS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"domain":"lumenpay.io"}'

A clear match.
Or a clear answer.

Sometimes an address fits more than one person. We return an ambiguous error with a candidate count, refund the lookup, and leave the choice open.

Retry with a name, title, or location to separate the existing candidates. No candidate names are exposed in the error.

Personal emails and shared inboxes?
Refused before a lookup. No charge.

Two possible matches.0 credits charged · retry with a hint
task.failed · ambiguous
{
  "task": {
    "id": "7a4e2c19-5b8d-4f03-9e61-2c8d0b4a7f15",
    "object_type": "person",
    "status": "failed",
    "credits_charged": 0
  },
  "error": {
    "code": "ambiguous",
    "message": "More than one person at this company matches that address and nothing separates them. Retry with fullName, title or location to disambiguate.",
    "candidates": 2,
    "hintsAccepted": [
      "fullName",
      "title",
      "location"
    ]
  }
}
Add a hint and retry Request example
Same email, with a title hint
curl -X POST "https://api.enrichloops.com/v1/people/enrich" \
  -H "Authorization: Bearer $ENRICHLOOPS_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email":"m.jefferson@lumenpay.io","title":"VP Sales"}'

More context.
A clear price.

Estimate the cost of enriching your work-email signups. Add company data when you need a fuller picture.

  • Three credits for a work email. One credit when you already have the LinkedIn profile URL.
  • Pay for successful lookups. Failures are refunded. Repeat lookups within the 14-day refresh window cost no credits.
  • Start with 100 free credits each month. Enough for 33 work-email lookups, 100 profile URL lookups, or 25 person-and-company pairs via email.
DO THE MATHUSD / MONTH

2,500signups

2550,000

Add industry, headcount, and location from the employer's domain.

Your estimated monthly cost$250 / mo
Plan
Scale
Per signup
$0.10

10,000 credits per month. Scale covers this volume. Every plan includes the same features.

Assumes successful, chargeable lookups. Failed lookups are refunded; repeat lookups within the refresh window use no credits.

A better contact record.
In your own tools.

Explore the integration guides

Find your fit.

EnrichLoops vs People Data LabsEnrichLoops vs ApolloEnrichLoops vs Clearbit
All comparisons

A FEW MORE DETAILS

Before your first lookup.

Inputs, matching, freshness, and what you pay for.

Send one work email address or LinkedIn profile URL per request. Both return the same person schema. Email lookups also accept fullName, title, or location as tie-break hints. Personal email addresses and role addresses such as info@ are refused before lookup and cost no credits.

POST /v1/people/enrich returns a task ID. Poll the task for the result, or use a Loop to deliver it to your endpoint through a signed webhook. Reverse email lookups take longer than profile URL lookups, so design your workflow to receive the result asynchronously.

The task returns an ambiguous error with a candidate count and no names. The lookup is refunded. Retry the same email with fullName, title, or location to separate the candidates already found. A hint cannot introduce someone the address does not fit.

A successful work-email lookup costs 3 credits. A successful LinkedIn profile URL lookup costs 1 credit. Failed lookups are refunded automatically. Repeat lookups within the 14-day refresh window cost no additional credits.

Yes. The person’s current position includes the employer’s name and, when matched, its domain. Send that domain to company enrichment for industry, headcount, and headquarters. This separate call costs 1 credit: 4 credits total for a person and company via work email.

Person records follow a 14-day refresh cycle on every plan, including Free. Each response includes updated_at and last_enriched_at so you can see when the record was updated and enriched.

People enrichment adds context to identifiers you already hold, such as a signup’s work email or a LinkedIn profile URL in your CRM. It does not search for new contacts, build prospect lists, or return phone numbers.

Sign up and generate an API key in the dashboard. The free tier includes 100 credits each month with no card required: enough for 33 work-email lookups, 100 LinkedIn URL lookups, or 25 person-and-company pairs via email. Upgrade from the dashboard whenever you need more credits.

Make the next hello
more personal.

Start with a work email or LinkedIn profile URL. Your first 100 credits are on us.

Get your free API key Start with the documentation