API Person Enrichment

Person Enrichment Datalegion API

Enrich one person from an email, a phone number or a social profile URL into Data Legion's premium profile with contact data: emails, phone numbers, location, age and sex, plus current job and employer, seniority, job function, decision-maker flag, years of experience, work history, education, certifications, skills and social profiles.

POST/v1/run/person_enrichment.datalegion
Доступность
100,00%
30d · 1 вызов
Запросы
1
30d
Ответ
2,3s
медиана · 30d

Цены

Цена API Person Enrichment Datalegion

Вы платите
960,60 USD
96,06 USD/1 тыс. запросов, только за то, чем пользуетесь. Без ежемесячного тарифа.
Ваши первые запросы (1) бесплатны за счёт стартового баланса 0,10 USD.

Вызвать

Получите Person Enrichment Datalegion одним запросом

import os, requests

res = requests.post(
    "https://api.getanyapi.com/v1/run/person_enrichment.datalegion",
    headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"},
    json={},
)
print(res.json())
Открыть в
Пример ответа
{
  "data": {
    "age": 29,
    "averageTenureMonths": 29,
    "birthDate": "2024-01-15T09:30:00Z",
    "birthDay": 42,
    "birthMonth": 42,
    "birthYear": 2024,
    "certifications": [
      {
        "credentialId": "a1b2c3d4",
        "expirationDate": "2024-01-15T09:30:00Z",
        "institution": "example",
        "issueDate": "2024-01-15T09:30:00Z",
        "name": "Example title"
      }
    ],
    "company": {
      "companyId": "Acme Inc",
      "industry": "general",
      "linkedinId": "https://example.com/page",
      "linkedinUrl": "https://example.com/page",
      "name": "Example title",
      "size": "example",
      "website": "https://example.com/page"
    },
    "datasetVersion": "example",
    "education": [
      {
        "degree": "example",
        "degreeLevel": "example",
        "endDate": "2024-01-15T09:30:00Z",
        "fieldOfStudy": "example",
        "isCurrent": true,
        "schoolLinkedinUrl": "https://example.com/page",
        "schoolName": "Example title",
        "schoolWebsite": "https://example.com/page",
        "startDate": "2024-01-15T09:30:00Z"
      }
    ],
    "emails": [
      {
        "address": "123 Main St",
        "confidence": "a1b2c3d4",
        "isCurrent": true,
        "lastSeenUtc": 42,
        "numSources": 42,
        "type": "general",
        "validated": true,
        "validationStatus": "active"
      }
    ],
    "expenseCategory": "general",
    "experience": [
      {
        "companyId": "Acme Inc",
        "companyIndustry": "Acme Inc",
        "companyLinkedinId": "https://example.com/page",
        "companyLinkedinUrl": "https://example.com/page",
        "companyName": "Acme Inc",
        "companySize": "Acme Inc",
        "companyWebsite": "https://example.com/page",
        "description": "A short example description of this item.",
        "endDate": "2024-01-15T09:30:00Z",
        "expenseCategory": "general",
        "isCurrent": true,
        "isDecisionMaker": true,
        "isPlatformWorker": true,
        "jobFunction": "example",
        "seniority": "example",
        "startDate": "2024-01-15T09:30:00Z",
        "tenureMonths": 12.5,
        "title": "Example title"
      }
    ],
    "firstName": "Alex",
    "fullName": "Alex Rivera",
    "headline": "Example title",
    "highestDegree": "example",
    "isDecisionMaker": true,
    "isPlatformWorker": true,
    "jobChangedUtc": 42,
    "jobFunction": "example",
    "jobTitle": "Example title",
    "jobVerifiedUtc": 42,
    "languages": [
      {
        "name": "Example title",
        "proficiency": "example"
      }
    ],
    "lastInitial": "example",
    "lastName": "Rivera",
    "lastSeenUtc": 42,
    "legionId": "a1b2c3d4",
    "linkedinConnections": 42,
    "linkedinFollowers": 12500,
    "linkedinId": "https://example.com/page",
    "linkedinUrl": "https://example.com/page",
    "location": {
      "country": "US",
      "countryCode": "US",
      "locality": "example",
      "region": "CA",
      "regionCode": "CA"
    },
    "locations": [
      {
        "addressLine2": "123 Main St",
        "confidence": "a1b2c3d4",
        "continent": "example",
        "country": "US",
        "countryCode": "US",
        "geo": "example",
        "isCurrent": true,
        "lastSeenUtc": 42,
        "locality": "example",
        "postalCode": "94107",
        "region": "CA",
        "regionCode": "CA",
        "streetAddress": "123 Main St"
      }
    ],
    "matchConfidence": "a1b2c3d4",
    "matchType": "general",
    "matchedOn": [
      "example"
    ],
    "middleInitial": "a1b2c3d4",
    "middleName": "Example title",
    "mobilePhone": "+1 555-0142",
    "numSources": 42,
    "phones": [
      {
        "confidence": "a1b2c3d4",
        "isCurrent": true,
        "lastSeenUtc": 42,
        "numSources": 42,
        "number": "example",
        "type": "general"
      }
    ],
    "prefix": "example",
    "profiles": [
      {
        "confidence": "a1b2c3d4",
        "isCurrent": true,
        "lastSeenUtc": 42,
        "network": "example",
        "profileId": "a1b2c3d4",
        "url": "https://example.com/page",
        "username": "alex_rivera"
      }
    ],
    "seniority": "example",
    "sex": "example",
    "skills": [
      "example"
    ],
    "suffix": "example",
    "summary": "A short example description of this item.",
    "workEmail": "alex@example.com",
    "yearsOfExperience": 2024
  },
  "found": true,
  "reason": "not_found"
}

Полный справочник по параметрам и ответу: каждое поле, тип и пример для этого эндпоинта.

Справочник

Один запрос, один формат ответа.

Каждое поле, которое вы отправляете, и каждое поле, которое получаете, с реальным примером.

Проверено 2026-10-25 · доступность и задержка измерены за 30d

Тело запроса

JSON, отправляется на этот эндпоинт.

  • emailstring

    Any email address the person uses, work or personal. Send exactly one of email, phone or socialUrl.

  • minConfidenceenum

    Lowest match confidence that still counts as found. Omit it for Data Legion's default.

  • phonestring

    Phone number with its country code, e.g. +1 415 555 0100.

  • requiredstring

    Fields a match must have, as a Data Legion expression over its snake_case field names combined with AND, OR and parentheses, e.g. work_email OR mobile_phone, or phones.type:mobile. A match without them counts as not found.

  • socialUrlstring

    https://www.linkedin.com/in/dharmesh

    Social profile URL: LinkedIn (linkedin.com/in/...), GitHub, X and similar networks. A LinkedIn URL matches most reliably.

Вы отправляете. Небольшое тело JSON. Показанные значения это примеры, замените их своими.

Ответ

JSON, по одному примеру значения на поле.

datadata

The enriched person, or null when nothing matched.

  • ageinteger

    Age in years.

  • averageTenureMonthsnumber

    Average months the person stays in a job.

  • birthDatestring

    Date of birth, as precise as Data Legion holds it.

  • birthDayinteger

    Day of the month of birth.

  • birthMonthinteger

    Month of birth, 1 to 12.

  • birthYearinteger

    Year of birth.

  • datasetVersionstring

    Data Legion dataset build the record came from.

  • expenseCategorystring

    Budget line of the current job, e.g. research_and_development, sales_and_marketing.

  • firstNamestring

    First name.

  • fullNamestring

    Full name, lowercase as Data Legion normalizes it.

  • headlinestring

    Profile headline, as the person writes it.

  • highestDegreestring

    Highest degree level, e.g. bachelors, masters, doctorate.

  • isDecisionMakerboolean

    True when the current job is a buying decision-maker role.

  • isPlatformWorkerboolean

    True when the current job is gig or platform work, such as ride-hailing or delivery.

  • jobChangedUtcinteger

    UTC epoch timestamp in seconds (Unix time) the current job last changed. Multiply by 1000 for a JS Date in milliseconds.

  • jobFunctionstring

    Function of the current job, e.g. engineering, sales, marketing.

  • jobTitlestring

    Current job title, lowercase.

  • jobVerifiedUtcinteger

    UTC epoch timestamp in seconds (Unix time) the current job was last confirmed. Multiply by 1000 for a JS Date in milliseconds.

  • lastInitialstring

    Last initial.

  • lastNamestring

    Last name.

  • lastSeenUtcinteger

    UTC epoch timestamp in seconds (Unix time) Data Legion last saw the person. Multiply by 1000 for a JS Date in milliseconds.

  • legionIdstring

    Data Legion persistent person id.

  • linkedinConnectionsinteger

    LinkedIn connection count; LinkedIn caps what it shows at 500.

  • linkedinFollowersinteger

    LinkedIn follower count.

  • linkedinIdstring

    LinkedIn numeric member id.

  • linkedinUrlstring

    LinkedIn profile URL.

  • matchConfidencestring

    How sure the match is: high, moderate or low.

  • matchTypestring

    How the identifier matched, e.g. exact.

  • matchedOnstring[]

    Identifiers the match was made on, e.g. linkedin_url or email.

  • middleInitialstring

    Middle initial.

  • middleNamestring

    Middle name.

  • mobilePhonestring

    Best mobile phone number, in E.164 form.

  • numSourcesinteger

    Number of sources Data Legion merged into this record.

  • prefixstring

    Name prefix, e.g. dr.

  • senioritystring

    Seniority of the current job, e.g. owner, c_level, director, manager, senior.

  • sexstring

    Sex, male or female.

  • skillsstring[]

    Skills listed on the profile, lowercase.

  • suffixstring

    Name suffix, e.g. jr.

  • summarystring

    Profile summary, as the person writes it.

  • workEmailstring

    Current work email address.

  • yearsOfExperiencenumber

    Years of work experience.

each certificationdata.certifications[]

Professional certifications.

  • credentialIdstring

    Credential id the issuer assigned.

  • expirationDatestring

    Expiry month as YYYY-MM or year as YYYY.

  • institutionstring

    Issuing institution, lowercase.

  • issueDatestring

    Issue month as YYYY-MM or year as YYYY.

  • namestring

    Certification name, lowercase.

companydata.company

Current employer.

  • companyIdstring

    Data Legion persistent company id, the legionId company_enrichment.datalegion returns.

  • industrystring

    Employer industry.

  • linkedinIdstring

    Employer LinkedIn numeric id.

  • linkedinUrlstring

    Employer LinkedIn page URL.

  • namestring

    Employer name, lowercase.

  • sizestring

    Employer headcount band, e.g. 5001-10000.

  • websitestring

    Employer website domain.

each educationdata.education[]

Schools attended.

  • degreestring

    Degree earned, lowercase, e.g. master of science.

  • degreeLevelstring

    Degree level, e.g. bachelors, masters.

  • endDatestring

    End as YYYY-MM or YYYY.

  • fieldOfStudystring

    Field of study, lowercase.

  • isCurrentboolean

    True while the person is still enrolled.

  • schoolLinkedinUrlstring

    School LinkedIn page URL.

  • schoolNamestring

    School name, lowercase.

  • schoolWebsitestring

    School website domain.

  • startDatestring

    Start as YYYY-MM or YYYY.

each emaildata.emails[]

Every email address Data Legion holds for the person, work and personal.

  • addressstring

    Email address.

  • confidencestring

    How sure Data Legion is the address belongs to the person: high, moderate or low.

  • isCurrentboolean

    True while the address is still in use.

  • lastSeenUtcinteger

    UTC epoch timestamp in seconds (Unix time) the address was last seen. Multiply by 1000 for a JS Date in milliseconds.

  • numSourcesinteger

    Number of sources the address was seen in.

  • typestring

    Kind of address, e.g. professional or personal.

  • validatedboolean

    True when Data Legion has checked the address with the mail server.

  • validationStatusstring

    Result of that check, e.g. valid.

each experiencedata.experience[]

Work history, current jobs marked isCurrent.

  • companyIdstring

    Data Legion persistent company id of the employer.

  • companyIndustrystring

    Employer industry.

  • companyLinkedinIdstring

    Employer LinkedIn numeric id.

  • companyLinkedinUrlstring

    Employer LinkedIn page URL.

  • companyNamestring

    Employer name, lowercase.

  • companySizestring

    Employer headcount band.

  • companyWebsitestring

    Employer website domain.

  • descriptionstring

    Job description, as the person writes it.

  • endDatestring

    End of the job as YYYY-MM or YYYY; absent for a current job.

  • expenseCategorystring

    Budget line of the job, e.g. research_and_development.

  • isCurrentboolean

    True for a job the person still holds.

  • isDecisionMakerboolean

    True when the job is a buying decision-maker role.

  • isPlatformWorkerboolean

    True when the job is gig or platform work.

  • jobFunctionstring

    Function of the job, e.g. engineering, sales.

  • senioritystring

    Seniority of the job, e.g. owner, director, manager.

  • startDatestring

    Start of the job as YYYY-MM or YYYY.

  • tenureMonthsnumber

    Months in the job.

  • titlestring

    Job title, lowercase.

each languagedata.languages[]

Languages the person speaks.

  • namestring

    Language, lowercase, e.g. english.

  • proficiencystring

    Proficiency, e.g. native, professional.

locationdata.location

Where the person lives now.

  • countrystring

    Country.

  • countryCodestring

    ISO 3166-1 alpha-2 country code, e.g. US.

  • localitystring

    City.

  • regionstring

    State or region.

  • regionCodestring

    ISO 3166-2 region code, e.g. US-MA.

each locationdata.locations[]

Every place Data Legion holds for the person, current and past.

  • addressLine2string

    Second line of the address.

  • confidencestring

    How sure Data Legion is of the place: high, moderate or low.

  • continentstring

    Continent.

  • countrystring

    Country.

  • countryCodestring

    ISO 3166-1 alpha-2 country code, e.g. US.

  • geostring

    Coordinates as "lat,lon".

  • isCurrentboolean

    True for where the person lives now.

  • lastSeenUtcinteger

    UTC epoch timestamp in seconds (Unix time) the place was last seen. Multiply by 1000 for a JS Date in milliseconds.

  • localitystring

    City.

  • postalCodestring

    Postal code.

  • regionstring

    State or region.

  • regionCodestring

    ISO 3166-2 region code, e.g. US-MA.

  • streetAddressstring

    Street address.

each phonedata.phones[]

Every phone number Data Legion holds for the person.

  • confidencestring

    How sure Data Legion is the number belongs to the person: high, moderate or low.

  • isCurrentboolean

    True while the number is still in use.

  • lastSeenUtcinteger

    UTC epoch timestamp in seconds (Unix time) the number was last seen. Multiply by 1000 for a JS Date in milliseconds.

  • numSourcesinteger

    Number of sources the number was seen in.

  • numberstring

    Phone number in E.164 form.

  • typestring

    Kind of line, e.g. mobile or landline.

each profiledata.profiles[]

Social profiles Data Legion links to the person.

  • confidencestring

    How sure Data Legion is the profile belongs to the person: high, moderate or low.

  • isCurrentboolean

    True while the profile is still active.

  • lastSeenUtcinteger

    UTC epoch timestamp in seconds (Unix time) the profile was last seen. Multiply by 1000 for a JS Date in milliseconds.

  • networkstring

    Network the profile is on, e.g. linkedin, github, x, facebook.

  • profileIdstring

    Numeric or opaque id on that network.

  • urlstring

    Profile URL.

  • usernamestring

    Handle on that network.

top level
  • foundboolean

    False when Data Legion matched no person, or none at the requested confidence or with the required fields.

  • reason"not_found"

    Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.

Вы получаете. Именованные типизированные поля в одном формате, какой бы источник ни ответил.

Вопросы и ответы

Об API Person Enrichment Datalegion

AnyAPI Person Enrichment Datalegion API возвращает данные Person Enrichment в виде нормализованного JSON одним вызовом POST к /v1/run/person_enrichment.datalegion. Enrich one person from an email, a phone number or a social profile URL into Data Legion's premium profile with contact data: emails, phone numbers, location, age and sex, plus current job and employer, seniority, job function, decision-maker flag, years of experience, work history, education, certifications, skills and social profiles. AnyAPI возвращает одну нормализованную схему, какой бы источник ни ответил. Это стоит от 96,06 USD за 1000 запросов, в долларах США, без подписки и без ежемесячного минимума. За последние 30 дней 100,0% вызовов Person Enrichment Datalegion через AnyAPI завершились успешно, медианное время ответа 2,3 с, измерено вызовов: 1.

Это стоит от 96,06 USD за 1000 запросов, в долларах США, без подписки и без ежемесячного минимума. Вы пополняете один кошелёк в долларах США, и каждый вызов списывает с него. По некоторым неудавшимся запросам, оплаченным из кошелька, возникают расходы на обработку; мы передаём их по себестоимости, без наценки, а сумма списания указана в ответе с ошибкой.

Enrich one person from an email, a phone number or a social profile URL into Data Legion's premium profile with contact data: emails, phone numbers, location, age and sex, plus current job and employer, seniority, job function, decision-maker flag, years of experience, work history, education, certifications, skills and social profiles. Ответ это нормализованный JSON с тем же конвертом, что возвращает каждый эндпоинт AnyAPI, поэтому разбор второго эндпоинта это смена URL и ничего больше.

За последние 30 дней 100,0% вызовов Person Enrichment Datalegion через AnyAPI завершились успешно, медианное время ответа 2,3 с, измерено вызовов: 1. Это собственные измерения AnyAPI по трафику через шлюз, пересчитываемые непрерывно, а не опубликованный целевой уровень обслуживания.

Да. Новый аккаунт AnyAPI стартует с бесплатным балансом 0,10 USD, карта не нужна. Этого хватает на 1 вызовов Person Enrichment Datalegion по 0,09606 USD за каждый.

Отправьте запрос POST на https://api.getanyapi.com/v1/run/person_enrichment.datalegion с вашим ключом AnyAPI в заголовке "Authorization: Bearer" и входными данными в теле JSON. Один и тот же ключ и один и тот же кошелёк работают на каждом эндпоинте AnyAPI.

Нет. Вы пополняете один предоплаченный баланс AnyAPI в долларах США, и каждый запрос списывает с него. Ежемесячного тарифа и минимума нет, а один и тот же баланс оплачивает каждый эндпоинт AnyAPI.

Да. Установите @getanyapi/sdk из npm для TypeScript или getanyapi из pip для Python. Оба вызывают любой эндпоинт AnyAPI с одним и тем же ключом, а ещё подойдёт любой HTTP-клиент.

Да. Агент может подключиться к MCP-серверу AnyAPI по адресу https://api.getanyapi.com/mcp или создать собственный бесплатный пробный ключ одним POST без аутентификации на https://api.getanyapi.com/agent/signup и вызывать этот эндпоинт по HTTP.