> ## Documentation Index
> Fetch the complete documentation index at: https://agnt.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Bulk enrich people

> Enrich up to 100 people in one call. Each input record requires `email` and/or `linkedin_url` (either at the top level of the input object or nested under `identifiers`). `first_name`/`last_name`/`domain` are NOT accepted — if you only have name+company, call `/people/email-finder` per record first. Each input runs the same field-aware waterfall as `/people/enrich`. Use `max_cost_cents_per_record` to cap per-record spend.



## OpenAPI

````yaml /openapi/agnt.openapi.json post /v1/data/agnt/people/bulk-enrich
openapi: 3.0.0
info:
  title: agntdata Lead APIs
  description: >-
    Internal lead enrichment API surface that orchestrates multiple upstream
    data providers behind a single endpoint per use case. Use these endpoints to
    find and verify professional emails, find mobile phone numbers, enrich and
    search people and companies, discover companies, list a domain's email
    addresses, run bulk people/company enrichments, and fetch company
    intelligence (funding/competitors/technographics). Provider names are never
    returned — agntdata picks the cheapest providers that can fulfill the
    requested fields and merges results.
  version: 1.0.0
  contact:
    name: agntdata
    url: https://agntdata.dev
servers:
  - url: https://api.agntdata.dev
    description: agntdata API
security:
  - ApiKeyAuth: []
tags:
  - name: People — Email
    description: Find, verify, and enrich professional email addresses.
  - name: People — Enrich
    description: Enrich people with structured profile data.
  - name: People — Mobile
    description: Find mobile phone numbers from a profile.
  - name: People — Search
    description: Search the people graph by structured filters.
  - name: Companies — Discover
    description: Discover companies that match a set of criteria.
  - name: Companies — Email
    description: List the email addresses found for a company domain.
  - name: Companies — Enrich
    description: Enrich companies with firmographic data.
  - name: Companies — Search
    description: Search the company graph by structured filters.
  - name: Companies — Intelligence
    description: Funding, competitors, and technographics for a company.
paths:
  /v1/data/agnt/people/bulk-enrich:
    post:
      tags:
        - People — Enrich
      summary: Bulk enrich people
      description: >-
        Enrich up to 100 people in one call. Each input record requires `email`
        and/or `linkedin_url` (either at the top level of the input object or
        nested under `identifiers`). `first_name`/`last_name`/`domain` are NOT
        accepted — if you only have name+company, call `/people/email-finder`
        per record first. Each input runs the same field-aware waterfall as
        `/people/enrich`. Use `max_cost_cents_per_record` to cap per-record
        spend.
      operationId: people_bulk_enrich
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PeopleBulkEnrichRequest'
            example:
              inputs:
                - identifier: row-1
                  linkedin_url: https://linkedin.com/in/patrickcollison
                - identifier: row-2
                  email: elon@spacex.com
              fields:
                - email
                - job_title
                - company_name
      responses:
        '200':
          description: Bulk enrichment results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Post_agnt_people_bulk_enrich_Response'
        '400':
          description: Validation error.
        '402':
          description: Insufficient credits.
      security:
        - ApiKeyAuth: []
components:
  schemas:
    PeopleBulkEnrichRequest:
      type: object
      properties:
        inputs:
          type: array
          items:
            type: object
            properties:
              identifier:
                type: string
                minLength: 1
                description: >-
                  Optional caller-supplied label echoed back in the response —
                  use it to align results to your input rows.
              identifiers:
                type: object
                properties:
                  email:
                    type: string
                    format: email
                    description: Work or personal email address.
                  linkedin_url:
                    type: string
                    format: uri
                    description: >-
                      Full LinkedIn profile URL (e.g.
                      https://www.linkedin.com/in/satyanadella/).
                additionalProperties: false
                description: >-
                  Unique handles used to resolve a person upstream. Provide AT
                  LEAST ONE of `email` or `linkedin_url`. Name + company are NOT
                  accepted here — for that flow, call `/people/email-finder`
                  first to obtain an email.
              email:
                type: string
                format: email
                description: >-
                  Shorthand: same as `identifiers.email`. Use either this OR
                  `identifiers`, not both.
              linkedin_url:
                type: string
                format: uri
                description: >-
                  Shorthand: same as `identifiers.linkedin_url`. Use either this
                  OR `identifiers`, not both.
            additionalProperties: false
            description: >-
              Each input must resolve to `email` and/or `linkedin_url`
              (top-level shorthand or nested under `identifiers`). Name +
              company are NOT accepted.
          minItems: 1
          maxItems: 100
        fields:
          type: array
          items:
            type: string
            enum:
              - email
              - work_email
              - personal_email
              - verified_email
              - mobile
              - linkedin_url
              - twitter_url
              - full_name
              - first_name
              - last_name
              - job_title
              - seniority
              - department
              - company_name
              - company_domain
              - location
        max_cost_cents_per_record:
          type: number
          minimum: 0
      required:
        - inputs
      additionalProperties: false
    Post_agnt_people_bulk_enrich_Response:
      type: object
      required:
        - success
        - data
      properties:
        success:
          type: boolean
          enum:
            - true
        data:
          $ref: '#/components/schemas/PeopleBulkEnrichResponse'
        meta:
          $ref: '#/components/schemas/AgntMeta'
    PeopleBulkEnrichResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            properties:
              identifier:
                type: string
                nullable: true
              person:
                type: object
                properties:
                  full_name:
                    type: string
                    nullable: true
                  first_name:
                    type: string
                    nullable: true
                  last_name:
                    type: string
                    nullable: true
                  email:
                    type: string
                    nullable: true
                  work_email:
                    type: string
                    nullable: true
                  personal_email:
                    type: string
                    nullable: true
                  verified_email:
                    type: string
                    nullable: true
                  email_status:
                    type: string
                    nullable: true
                  mobile:
                    type: string
                    nullable: true
                  linkedin_url:
                    type: string
                    nullable: true
                  twitter_url:
                    type: string
                    nullable: true
                  job_title:
                    type: string
                    nullable: true
                  seniority:
                    type: string
                    nullable: true
                  department:
                    type: string
                    nullable: true
                  company:
                    type: object
                    properties:
                      name:
                        type: string
                        nullable: true
                      domain:
                        type: string
                        nullable: true
                      linkedin_url:
                        type: string
                        nullable: true
                    additionalProperties: false
                    nullable: true
                  location:
                    type: string
                    nullable: true
                additionalProperties: false
                nullable: true
              fields_returned:
                type: array
                items:
                  type: string
                  enum:
                    - email
                    - work_email
                    - personal_email
                    - verified_email
                    - mobile
                    - linkedin_url
                    - twitter_url
                    - full_name
                    - first_name
                    - last_name
                    - job_title
                    - seniority
                    - department
                    - company_name
                    - company_domain
                    - location
              fields_missing:
                type: array
                items:
                  type: string
                  enum:
                    - email
                    - work_email
                    - personal_email
                    - verified_email
                    - mobile
                    - linkedin_url
                    - twitter_url
                    - full_name
                    - first_name
                    - last_name
                    - job_title
                    - seniority
                    - department
                    - company_name
                    - company_domain
                    - location
              providers_attempted:
                type: number
            required:
              - person
              - fields_returned
              - fields_missing
              - providers_attempted
            additionalProperties: false
      required:
        - results
      additionalProperties: false
    AgntMeta:
      type: object
      properties:
        costCents:
          type: number
        purchasedBalanceCents:
          type: number
        subscriptionRemainingCents:
          type: number
        cached:
          type: boolean
        latencyMs:
          type: number
        priceRange:
          type: object
          properties:
            minCents:
              type: number
            maxCents:
              type: number
          required:
            - minCents
            - maxCents
          additionalProperties: false
        budgetCents:
          type: number
        budgetCentsPerRecord:
          type: number
        providersAttempted:
          type: number
        fieldsReturned:
          type: array
          items:
            type: string
        fieldsMissing:
          type: array
          items:
            type: string
        records:
          type: number
      required:
        - costCents
        - purchasedBalanceCents
        - subscriptionRemainingCents
        - cached
        - latencyMs
      additionalProperties: true
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Bearer token. Pass your agntdata API key as: Authorization: Bearer
        agnt_live_...

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.