People Search API

People Search Crustdata v3 API

Find up to 100 professional profiles by company domain and title keywords.

$144.00/1k req, pay per request, no subscription.

What the API returnedprofiles[0]
{
"name": "Jonah Whitfield",
"personId": "crd3_pr_774102",
"firstName": "Jonah",
"lastName": "Whitfield",
"headline": "Senior Software Engineer, Infrastructure at Notion",
"summary": "Building the sync engine that keeps Notion's blocks consistent across clients. Previously at Segment.",
"linkedinUrl": "https://www.linkedin.com/in/jonahwhitfield/",
"emails": [...],
... 32 more fields
}
Uptime
20.00%
30d · 5 calls
Requests
5
30d · weekly, last 12 wks
Response
2.0s
median · 30d

Pricing

People Search Crustdata v3 API pricing

You pay
$1,440.00
$144.00/1k req, only for what you use. No monthly plan.

Call it

Get People Search crustdata v3 in one request

import os, requests

res = requests.post(
    "https://api.getanyapi.com/v1/run/people_search.crustdata_v3",
    headers={"Authorization": f"Bearer {os.environ['ANYAPI_KEY']}"},
    json={
        "companyDomain": "",
        "titleKeywords": ""
    },
)
print(res.json())
Open in
Get a free key
Sample response

This sample shows 69 of 139 fields. See every field

{
  "found": true,
  "data": {
    "profiles": [
      {
        "name": "Jonah Whitfield",
        "personId": "crd3_pr_774102",
        "firstName": "Jonah",
        "lastName": "Whitfield",
        "headline": "Senior Software Engineer, Infrastructure at Notion",
        "summary": "Building the sync engine that keeps Notion's blocks consistent across clients. Previously at Segment.",
        "linkedinUrl": "https://www.linkedin.com/in/jonahwhitfield/",
        "emails": [
          "jonah.whitfield@notion.so"
        ],
        "image": "https://media.licdn.com/dms/image/crd3_pr_774102.jpg",
        "twitterHandle": "jonahbuilds",
        "region": "San Francisco Bay Area",
        "city": "San Francisco",
        "state": "California",
        "country": "United States",
        "continent": "North America",
        "skills": [
          "Distributed Systems",
          "Go",
          "PostgreSQL",
          "System Design"
        ],
        "languages": [
          "English"
        ],
        "profileLanguage": "en",
        "connectionCount": 2340,
        "followerCount": 2890,
        "recentlyChangedJobs": false,
        "yearsOfExperience": 9,
        "yearsOfExperienceRange": "More than 8 years",
        "currentEmployers": [
          {
            "companyName": "Notion",
            "companyId": "crd3_co_5510",
            "companyDomain": "notion.so",
            "companyWebsite": "https://notion.so",
            "companyLinkedinUrl": "https://www.linkedin.com/company/notionhq",
            "title": "Senior Software Engineer, Infrastructure",
            "description": "Own the sync and offline conflict-resolution layer.",
            "location": "San Francisco, CA",
            "employmentType": "Full-time",
            "startUtc": 1625097600,
            "primaryEmployer": true,
            "seniority": "Senior",
            "functionCategory": "Engineering",
            "yearsAtCompany": 4,
            "yearsAtCompanyRange": "3 to 5 years",
            "companyHeadquartersCountry": "United States",
            "companyHqLocation": "San Francisco, California, United States",
            "companyHeadcountRange": "501-1000",
            "companyHeadcount": 700,
            "companyIndustry": "Software Development",
            "businessEmailVerified": true
          }
        ],
        "pastEmployers": [
          {
            "companyName": "Segment",
            "companyId": "crd3_co_1180",
            "companyDomain": "segment.com",
            "title": "Software Engineer",
            "location": "San Francisco, CA",
            "startUtc": 1483228800,
            "endUtc": 1624406400,
            "seniority": "Mid-Senior",
            "functionCategory": "Engineering"
          }
        ],
        "certifications": [
          {
            "name": "AWS Certified Solutions Architect",
            "issuer": "Amazon Web Services",
            "issuedUtc": 1609459200
          }
        ],
        "updatedUtc": 1758758400,
        "flagshipProfileUrl": "https://www.linkedin.com/in/jonahwhitfield/",
        "profilePictureUrl": "https://media.licdn.com/dms/image/jonah-full.jpg?e=1759449600",
        "recordUpdatedUtc": 1758758400,
        "indexedUtc": 1758758460
      },
      {
        "name": "Sara Lindqvist",
        "personId": "crd3_pr_662310",
        "firstName": "Sara",
        "lastName": "Lindqvist",
        "headline": "Senior Software Engineer, Editor at Notion",
        "linkedinUrl": "https://www.linkedin.com/in/saralindqvist/",
        "region": "New York City Metropolitan Area",
        "city": "New York",
        "state": "New York",
        "country": "United States",
        "continent": "North America",
        "skills": [
          "TypeScript",
          "React",
          "Rich Text Editing"
        ],
        "yearsOfExperience": 7,
        "yearsOfExperienceRange": "5 to 8 years",
        "currentEmployers": [
          {
            "companyName": "Notion",
            "companyId": "crd3_co_5510",
            "companyDomain": "notion.so",
            "title": "Senior Software Engineer, Editor",
            "location": "New York, NY",
            "startUtc": 1640995200,
            "primaryEmployer": true,
            "seniority": "Senior"
          }
        ],
        "recordUpdatedUtc": 1758672000
      },
      {
        "name": "Tobias Reyes",
        "personId": "crd3_pr_990237",
        "firstName": "Tobias",
        "lastName": "Reyes",
        "headline": "Senior Software Engineer, Growth at Notion",
        "linkedinUrl": "https://www.linkedin.com/in/tobiasreyes/",
        "region": "Seattle Metropolitan Area",
        "city": "Seattle",
        "state": "Washington",
        "country": "United States",
        "continent": "North America",
        "skills": [
          "Python",
          "Experimentation",
          "SQL"
        ],
        "yearsOfExperience": 6,
        "currentEmployers": [
          {
            "companyName": "Notion",
            "companyId": "crd3_co_5510",
            "companyDomain": "notion.so",
            "title": "Senior Software Engineer, Growth",
            "location": "Seattle, WA",
            "startUtc": 1651363200,
            "primaryEmployer": true,
            "seniority": "Senior"
          }
        ],
        "recordUpdatedUtc": 1758585600
      }
    ],
    "totalCount": 22,
    "hasMore": true
  }
}

Full parameter and response reference - every field, type, and example for this endpoint.

Reference

One request, one response shape.

Every field you send and every field you get back, each with a real example.

Last verified 2026-11-05 · uptime and latency measured over 30d

Request body

JSON, posted to this endpoint.

  • companyDomainstring

    notion.so

    Company domain without a path.

  • titleKeywordsstring

    software engineer

  • countrystring
  • fuzzyTitleboolean
  • limitinteger

    3

  • profileKeywordsstring
  • requireVerifiedEmailboolean
  • senioritystring

    Senior

You send. A small JSON body. The values shown are examples to replace with your own.

Response

JSON, one example value per field.

datadata
  • hasMoreboolean

    true

    True when more profiles exist beyond this page.

  • totalCountinteger

    22

    Total number of profiles matching the search.

each allEmployerdata.profiles[].allEmployers[]

Every employer on the profile, current and past. Duplicates the contents of currentEmployers and pastEmployers in one combined list.

  • businessEmailVerifiedboolean

    True when a business email at this employer has been verified.

  • companyDomainstring

    Employer website domain.

  • companyHeadcountinteger

    Latest observed employee count at the employer.

  • companyHeadcountRangestring

    Employer headcount band, e.g. 51-200.

  • companyHeadquartersCountrystring

    Country of the employer's headquarters.

  • companyHqLocationstring

    Full headquarters location of the employer.

  • companyHqLocationAddressComponentsstring[]

    The employer's headquarters location split into address components (city, county, state, country). Restates companyHqLocation in parts.

  • companyIdstring

    Crustdata company identifier for this employer, accepted by the Company Enrichment endpoint.

  • companyIndustriesstring[]

    All LinkedIn industries listed for the employer.

  • companyIndustrystring

    Primary LinkedIn industry of the employer.

  • companyLinkedinIdstring

    LinkedIn's own numeric identifier for the employer company page.

  • companyLinkedinUrlstring

    Employer LinkedIn company page URL.

  • companyNamestring

    Employer name.

  • companyTypestring

    Employer company type, e.g. Privately Held or Public Company.

  • companyWebsitestring

    Employer website URL.

  • descriptionstring

    Role description as written on the profile.

  • employmentTypestring

    Employment type, e.g. Full-time or Contract.

  • endUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. End of the role.

  • functionCategorystring

    Job function category, e.g. Engineering or Sales.

  • linkedinIdstring

    LinkedIn's own numeric identifier for the employer page. Crustdata returns the same value as companyLinkedinId on this record.

  • locationstring

    Location of the role.

  • positionIdstring

    Crustdata identifier for this specific position record.

  • primaryEmployerboolean

    True when this is the profile's primary listed position.

  • senioritystring

    Seniority level of the role, e.g. Entry Level or Owner / Partner.

  • startUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Start of the role.

  • titlestring

    Job title held at this employer.

  • updatedUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Last time this employment record was refreshed.

  • yearsAtCompanyinteger

    Whole years spent at this employer.

  • yearsAtCompanyRangestring

    Human-readable tenure band, e.g. 3 to 5 years.

each certificationdata.profiles[].certifications[]

Certifications listed on the profile.

  • certificationIdstring

    Crustdata identifier for this certification record.

  • expiresUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the certification expires.

  • issuedUtcinteger

    1609459200

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When the certification was issued.

  • issuerstring

    Amazon Web Services

    Organization that issued the certification.

  • issuerLinkedinIdstring

    LinkedIn's own numeric identifier for the issuing organization page.

  • namestring

    AWS Certified Solutions Architect

    Certification name.

  • urlstring

    Link to the certification.

each profiledata.profiles[]

Matching professional profiles.

  • citystring

    San Francisco

    City of residence.

  • connectionCountinteger

    2340

    Number of LinkedIn connections.

  • contactUpdatedUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Last time the contact section was refreshed.

  • continentstring

    North America

    Continent of residence.

  • countrystring

    United States

    Country of residence.

  • educationBackgroundany

    Education history exactly as Crustdata returns it. Untyped passthrough: the structure ships verbatim and is not validated, because it was empty for every profile we captured.

  • educationUpdatedUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Last time the education section was refreshed.

  • emailsstring[]

    Email addresses found for the person.

  • employerUpdatedUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Last time the employment section was refreshed.

  • firstNamestring

    Jonah

    Given name of the person.

  • flagshipProfileUrlstring

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

    LinkedIn flagship profile URL. Usually the same value as linkedinUrl; Crustdata returns both and they can differ when the profile has a vanity URL.

  • followerCountinteger

    2890

    Number of LinkedIn followers.

  • headlinestring

    Senior Software Engineer, Infrastructure at Notion

    LinkedIn headline.

  • honorsany

    Honors and awards exactly as Crustdata returns them. Untyped passthrough: the structure ships verbatim and is not validated, because it was empty for every profile we captured.

  • imagestring

    https://media.licdn.com/dms/image/crd3_pr_774102.jpg

    Profile picture URL.

  • indexedUtcinteger

    1758758460

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When Crustdata last indexed the record for search, which is usually just after recordUpdatedUtc.

  • languagesstring[]

    Languages listed on the profile.

  • lastNamestring

    Whitfield

    Family name of the person.

  • linkedinUrlstring

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

    LinkedIn profile URL.

  • namestring

    Jonah Whitfield

    Full name of the person.

  • openToCardsany

    LinkedIn open-to cards (open to work, hiring, providing services) exactly as Crustdata returns them. Untyped passthrough: the structure ships verbatim and is not validated, because it was empty for every profile we captured.

  • personIdstring

    crd3_pr_774102

    Crustdata identifier for this person.

  • profileLanguagestring

    en

    Language the profile itself is written in.

  • profilePictureUrlstring

    https://media.licdn.com/dms/image/jonah-full.jpg?e=1759449600

    Profile photo URL as LinkedIn serves it, query string intact because LinkedIn signs these URLs. The image field carries Crustdata's cached copy of the same photo, which does not expire.

  • profileUpdatedUtcinteger

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

  • recentlyChangedJobsboolean

    false

    True when the person changed employer recently.

  • recordUpdatedUtcinteger

    1758758400

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. When Crustdata last wrote the record. Differs from updatedUtc, which reports the profile's own last-updated stamp.

  • regionstring

    San Francisco Bay Area

    Region string as published on the profile.

  • regionAddressComponentsstring[]

    The region string split into address components (city, county, state, country). Restates region in parts.

  • skillsstring[]

    Skills listed on the profile.

  • statestring

    California

    State or province of residence.

  • summarystring

    Building the sync engine that keeps Notion's blocks consistent across clients. Previously at Segment.

    Profile summary or About section text.

  • twitterHandlestring

    jonahbuilds

    X (Twitter) handle listed on the profile.

  • updatedUtcinteger

    1758758400

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Last time any part of this profile record was refreshed.

  • yearsOfExperienceinteger

    9

    Total whole years of professional experience.

  • yearsOfExperienceRangestring

    More than 8 years

    Human-readable experience band, e.g. More than 10 years.

each currentEmployerdata.profiles[].currentEmployers[]

Positions the person currently holds.

  • businessEmailVerifiedboolean

    true

    True when a business email at this employer has been verified.

  • companyDomainstring

    notion.so

    Employer website domain.

  • companyHeadcountinteger

    700

    Latest observed employee count at the employer.

  • companyHeadcountRangestring

    501-1000

    Employer headcount band, e.g. 51-200.

  • companyHeadquartersCountrystring

    United States

    Country of the employer's headquarters.

  • companyHqLocationstring

    San Francisco, California, United States

    Full headquarters location of the employer.

  • companyHqLocationAddressComponentsstring[]

    The employer's headquarters location split into address components (city, county, state, country). Restates companyHqLocation in parts.

  • companyIdstring

    crd3_co_5510

    Crustdata company identifier for this employer, accepted by the Company Enrichment endpoint.

  • companyIndustriesstring[]

    All LinkedIn industries listed for the employer.

  • companyIndustrystring

    Software Development

    Primary LinkedIn industry of the employer.

  • companyLinkedinIdstring

    LinkedIn's own numeric identifier for the employer company page.

  • companyLinkedinUrlstring

    https://www.linkedin.com/company/notionhq

    Employer LinkedIn company page URL.

  • companyNamestring

    Notion

    Employer name.

  • companyTypestring

    Employer company type, e.g. Privately Held or Public Company.

  • companyWebsitestring

    https://notion.so

    Employer website URL.

  • descriptionstring

    Own the sync and offline conflict-resolution layer.

    Role description as written on the profile.

  • employmentTypestring

    Full-time

    Employment type, e.g. Full-time or Contract.

  • functionCategorystring

    Engineering

    Job function category, e.g. Engineering or Sales.

  • linkedinIdstring

    LinkedIn's own numeric identifier for the employer page. Crustdata returns the same value as companyLinkedinId on this record.

  • locationstring

    San Francisco, CA

    Location of the role.

  • positionIdstring

    Crustdata identifier for this specific position record.

  • primaryEmployerboolean

    true

    True when this is the profile's primary listed position.

  • senioritystring

    Senior

    Seniority level of the role, e.g. Entry Level or Owner / Partner.

  • startUtcinteger

    1625097600

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Start of the role.

  • titlestring

    Senior Software Engineer, Infrastructure

    Job title held at this employer.

  • updatedUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Last time this employment record was refreshed.

  • yearsAtCompanyinteger

    4

    Whole years spent at this employer.

  • yearsAtCompanyRangestring

    3 to 5 years

    Human-readable tenure band, e.g. 3 to 5 years.

each pastEmployerdata.profiles[].pastEmployers[]

Positions the person previously held.

  • businessEmailVerifiedboolean

    True when a business email at this employer has been verified.

  • companyDomainstring

    segment.com

    Employer website domain.

  • companyHeadcountinteger

    Latest observed employee count at the employer.

  • companyHeadcountRangestring

    Employer headcount band, e.g. 51-200.

  • companyHeadquartersCountrystring

    Country of the employer's headquarters.

  • companyHqLocationstring

    Full headquarters location of the employer.

  • companyHqLocationAddressComponentsstring[]

    The employer's headquarters location split into address components (city, county, state, country). Restates companyHqLocation in parts.

  • companyIdstring

    crd3_co_1180

    Crustdata company identifier for this employer, accepted by the Company Enrichment endpoint.

  • companyIndustriesstring[]

    All LinkedIn industries listed for the employer.

  • companyIndustrystring

    Primary LinkedIn industry of the employer.

  • companyLinkedinIdstring

    LinkedIn's own numeric identifier for the employer company page.

  • companyLinkedinUrlstring

    Employer LinkedIn company page URL.

  • companyNamestring

    Segment

    Employer name.

  • companyTypestring

    Employer company type, e.g. Privately Held or Public Company.

  • companyWebsitestring

    Employer website URL.

  • descriptionstring

    Role description as written on the profile.

  • employmentTypestring

    Employment type, e.g. Full-time or Contract.

  • endUtcinteger

    1624406400

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. End of the role.

  • functionCategorystring

    Engineering

    Job function category, e.g. Engineering or Sales.

  • linkedinIdstring

    LinkedIn's own numeric identifier for the employer page. Crustdata returns the same value as companyLinkedinId on this record.

  • locationstring

    San Francisco, CA

    Location of the role.

  • positionIdstring

    Crustdata identifier for this specific position record.

  • primaryEmployerboolean

    True when this is the profile's primary listed position.

  • senioritystring

    Mid-Senior

    Seniority level of the role, e.g. Entry Level or Owner / Partner.

  • startUtcinteger

    1483228800

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Start of the role.

  • titlestring

    Software Engineer

    Job title held at this employer.

  • updatedUtcinteger

    UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Last time this employment record was refreshed.

  • yearsAtCompanyinteger

    Whole years spent at this employer.

  • yearsAtCompanyRangestring

    Human-readable tenure band, e.g. 3 to 5 years.

top level
  • foundboolean

    true

    False when the search matched no professional profiles.

  • 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.

You get back. Named, typed fields in the same shape whichever source answers.

FAQ

About the People Search Crustdata v3 API

The AnyAPI People Search Crustdata v3 API returns People Search crustdata v3 data as normalized JSON from one POST call to /v1/run/people_search.crustdata_v3. Find up to 100 professional profiles by company domain and title keywords. AnyAPI returns one normalized schema whichever source serves it. It costs from $144 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 20.0% of People Search crustdata v3 calls through AnyAPI succeeded, with a median response time of 2.0 seconds across 5 measured calls.

It costs from $144 per 1,000 requests, in US dollars with no subscription and no monthly minimum. You fund one USD wallet and each call draws it down. Some failed wallet-funded requests incur processing charges that we pass through at cost, with no markup; the error response shows the amount charged.

Find up to 100 professional profiles by company domain and title keywords. The response is normalized JSON with the same envelope every AnyAPI endpoint returns, so parsing a second endpoint is a change of URL and nothing else.

Over the last 30 days, 20.0% of People Search crustdata v3 calls through AnyAPI succeeded, with a median response time of 2.0 seconds across 5 measured calls. These are AnyAPI's own measurements of traffic through the gateway, recomputed continuously, not a published service-level target.

Yes. A new AnyAPI account starts with $0.10 of free balance and no card required.

Send a POST request to https://api.getanyapi.com/v1/run/people_search.crustdata_v3 with your AnyAPI key in an "Authorization: Bearer" header and the input as a JSON body. The same key and the same wallet work on every AnyAPI endpoint.

No. You add US dollars to one prepaid AnyAPI balance and each request draws it down. There is no monthly plan and no minimum, and the same balance pays for every AnyAPI endpoint.

Yes. Install @getanyapi/sdk from npm for TypeScript or getanyapi from pip for Python. Both call every AnyAPI endpoint with the same key, and any HTTP client works too.

Yes. An agent can connect to the AnyAPI MCP server at https://api.getanyapi.com/mcp, or create its own free-trial key with one unauthenticated POST to https://api.getanyapi.com/agent/signup and call this endpoint over HTTP.