Skip to content

Up to 10 people's titles, work emails from emails or names.

Use the bulk people enrichment endpoint to enrich data for up to ten people with a single API call.

Job people.enrich.bulk

Your AI asks

checks the price first
telipot run apollo.people.enrich.bulk \
  --input-json '{"details":"<details>"}' \
  --quote

Price

$0.0196 / result
Priced· before it runs

apollo.people.enrich.bulk

$0.0196 / resultYour plan

Whose account it uses

1The person asking
not needed
2Your company’s Apollo plan
Selected identity for this example
3Our account
not used

What it sends

{
  "details": "<details>"
}

Your Apollo login is added for you. Your AI never sees it.

What it costs

$0.0196

per result · billed per result

rate1 credit per result, billed per result
sourcedocs · docs.apollo.io/docs/api-pricing · checked 2026-10-05
confidencedocumented
settles onThe charge Apollo reports in credits_consumed
note1 credit per person when credit-consuming data (demographics or email) is found, 0 for an unmatched person. The docs give 1-9 credits per person: +8 when a mobile phone is returned, and waterfall enrichment costs more. This task sends no phone, personal-email or waterfall option, so it is priced at the 1-credit base per person. credits_consumed reports what the call used and can be a decimal.

Preview the price first. --quote runs nothing.

For developers · run it

Shell · runs the task on the named account

telipot run apollo.people.enrich.bulk \
  --input-json '{"details":"<details>"}'

details

array · required · 1 to 10

One object per person, up to 10, each with any of first_name, last_name, name, email, hashed_email, organization_name, domain, id, linkedin_url. More fields improve the match; a name without a domain or email may match nothing.

request_id

integer

A signed 64-bit integer that may be negative.

status

string

success for any 200 response, even when not every person matched.

error_code

string | null

error_message

string | null

total_requested_enrichments

integer

The number of objects sent in details. Always returned.

unique_enriched_records

integer

Distinct people whose enrichment consumed credits; a billing count, not a match count.

missing_records

integer

Entries in details that Apollo could not match.

credits_consumed

number

Credits the request consumed; can be a decimal.

matches

object | null[]

Full output schema · JSONNested fields and constraints

Output JSON Schema

{
  "type": "object",
  "required": [
    "status",
    "total_requested_enrichments"
  ],
  "properties": {
    "request_id": {
      "type": "integer",
      "description": "A signed 64-bit integer that may be negative."
    },
    "status": {
      "type": "string",
      "description": "success for any 200 response, even when not every person matched."
    },
    "error_code": {
      "type": [
        "string",
        "null"
      ]
    },
    "error_message": {
      "type": [
        "string",
        "null"
      ]
    },
    "total_requested_enrichments": {
      "type": "integer",
      "description": "The number of objects sent in details. Always returned."
    },
    "unique_enriched_records": {
      "type": "integer",
      "description": "Distinct people whose enrichment consumed credits; a billing count, not a match count."
    },
    "missing_records": {
      "type": "integer",
      "description": "Entries in details that Apollo could not match."
    },
    "credits_consumed": {
      "type": "number",
      "description": "Credits the request consumed; can be a decimal."
    },
    "matches": {
      "type": "array",
      "items": {
        "type": [
          "object",
          "null"
        ],
        "description": "One entry per person; an unmatched person is null.",
        "properties": {
          "id": {
            "type": "string"
          },
          "first_name": {
            "type": "string"
          },
          "last_name": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "linkedin_url": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "headline": {
            "type": "string"
          },
          "email": {
            "type": "string"
          },
          "email_status": {
            "type": "string"
          },
          "organization_id": {
            "type": "string"
          },
          "match_confidence": {
            "type": "string",
            "enum": [
              "high",
              "medium",
              "low",
              "none"
            ]
          },
          "employment_history": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "organization_id": {
                  "type": "string"
                },
                "organization_name": {
                  "type": "string"
                },
                "title": {
                  "type": "string"
                },
                "start_date": {
                  "type": "string"
                },
                "current": {
                  "type": "boolean"
                }
              }
            }
          },
          "state": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "country": {
            "type": "string"
          },
          "seniority": {
            "type": "string"
          },
          "departments": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "functions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "organization": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "name": {
                "type": "string"
              },
              "website_url": {
                "type": "string"
              },
              "primary_domain": {
                "type": "string"
              },
              "industry": {
                "type": "string"
              },
              "estimated_num_employees": {
                "type": "integer"
              }
            }
          }
        }
      }
    }
  }
}

A real answer

No example captured yet: one is recorded when telipot catalog verify passes.