Skip to main content
Glama

AIsa Apollo

Bulk People Enrichment

post_apollo_people_bulk_match
Read-onlyIdempotent

Enrich up to 10 people in one call. Body takes details, an array of the same identifier objects post_apollo_people_match accepts. Returns matches alongside status, total_requested_enrichments, unique_enriched_records, missing_records and credits_consumed — read missing_records rather than assuming every input matched. Costs one credit per record enriched, not per call. Use this over a loop of single calls: same credits, one round trip. For a single person post_apollo_people_match is simpler.

Usage-based billing; Default request estimate: $1.7775 USD (not a fixed price). Declared unit rate: $0 USD per provider_credit. Account-specific pricing and final settlement may differ.

Input Schema

NameRequiredDescriptionDefault
bodyYes
webhook_urlNoIf you set the reveal_phone_number parameter to true, this parameter becomes mandatory. Otherwise, do not use this parameter. Enter the webhook URL that specifies where Apollo should send a JSON response that includes the phone number you requested. Apollo suggests testing this flow to ensure you receive the separate response with the phone number. If phone numbers are not revealed delivered to the webhook URL, try applying UTF-8 encoding to the webhook URL. Example: https://webhook.site/cc4cf44e-e047-4774-8dac-473d28474e40; https%3A%2F%2Fwebhook.site%2Fcc4cf44e-e047-4774-8dac-473d28474e40
reveal_phone_numberNoSet to true if you want to enrich the data of all matched people with all available phone numbers, including mobile phone numbers. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If this parameter is set to true, you must enter a webhook URL for the webhook_url parameter. Apollo will asynchronously verify phone numbers for you, then send a JSON response that includes only details about the phone numbers to the webhook URL you provide. It can take several minutes for the phone numbers to be delivered.
run_waterfall_emailNoSet to true to enable email waterfall enrichment
run_waterfall_phoneNoSet to true to enable phone waterfall enrichment

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed8 schema fields changed
    • addedInput schema / additionalProperties
      Added value: +false
    • addedInput schema / properties / body
      Added value: +{
      +  "properties": {
      +    "details": {
      +      "description": "Provide info for each person you want to enrich as an object within this array. Add up to 10 people.",
      +      "items": {
      +        "description": "One person to enrich. Give whatever identifiers you have — the more, the likelier the match.",
      +        "properties": {
      +          "domain": {
      +            "description": "Domain of the person's employer, without www. Example: apollo.io",
      +            "type": "string"
      +          },
      +          "email": {
      +            "description": "Email address of the person.",
      +            "type": "string"
      +          },
      +          "first_name": {
      +            "description": "First name, used with last_name. Example: tim",
      +            "type": "string"
      +          },
      +          "hashed_email": {
      +            "description": "MD5 or SHA-256 hash of the email address.",
      +            "type": "string"
      +          },
      +          "id": {
      +            "description": "Apollo person id, e.g. from a people search.",
      +            "type": "string"
      +          },
      +          "last_name": {
      +            "description": "Last name, used with first_name. Example: zheng",
      +            "type": "string"
      +          },
      +          "linkedin_url": {
      +            "description": "LinkedIn profile URL of the person.",
      +            "type": "string"
      +          },
      +          "name": {
      +            "description": "Full name, e.g. \"tim zheng\"; replaces first_name + last_name.",
      +            "type": "string"
      +          },
      +          "organization_name": {
      +            "description": "Name of the person's employer. Example: apollo",
      +            "type": "string"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "type": "array"
      +    },
      +    "reveal_personal_emails": {
      +      "description": "Set to true if you want to enrich all matched people with personal emails. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If a person resides in a GDPR -compliant region, Apollo will not reveal their personal email.",
      +      "type": "boolean"
      +    }
      +  },
      +  "required": [
      +    "details"
      +  ],
      +  "type": "object"
      +}
    • removedInput schema / properties / details
      Removed value: -{
      -  "description": "Provide info for each person you want to enrich as an object within this array. Add up to 10 people.",
      -  "items": {
      -    "description": "One person to enrich. Give whatever identifiers you have — the more, the likelier the match.",
      -    "properties": {
      -      "domain": {
      -        "description": "Domain of the person's employer, without www. Example: apollo.io",
      -        "type": "string"
      -      },
      -      "email": {
      -        "description": "Email address of the person.",
      -        "type": "string"
      -      },
      -      "first_name": {
      -        "description": "First name, used with last_name. Example: tim",
      -        "type": "string"
      -      },
      -      "hashed_email": {
      -        "description": "MD5 or SHA-256 hash of the email address.",
      -        "type": "string"
      -      },
      -      "id": {
      -        "description": "Apollo person id, e.g. from a people search.",
      -        "type": "string"
      -      },
      -      "last_name": {
      -        "description": "Last name, used with first_name. Example: zheng",
      -        "type": "string"
      -      },
      -      "linkedin_url": {
      -        "description": "LinkedIn profile URL of the person.",
      -        "type": "string"
      -      },
      -      "name": {
      -        "description": "Full name, e.g. \"tim zheng\"; replaces first_name + last_name.",
      -        "type": "string"
      -      },
      -      "organization_name": {
      -        "description": "Name of the person's employer. Example: apollo",
      -        "type": "string"
      -      }
      -    },
      -    "type": "object"
      -  },
      -  "type": "array"
      -}
    • addedInput schema / properties / reveal_phone_number / description
      Added value: +"Set to true if you want to enrich the data of all matched people with all available phone numbers, including mobile phone numbers. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If this parameter is set to true, you must enter a webhook URL for the webhook_url parameter. Apollo will asynchronously verify phone numbers for you, then send a JSON response that includes only details about the phone numbers to the webhook URL you provide. It can take several minutes for the phone numbers to be delivered."
    • addedInput schema / properties / run_waterfall_email / description
      Added value: +"Set to true to enable email waterfall enrichment"
    • addedInput schema / properties / run_waterfall_phone / description
      Added value: +"Set to true to enable phone waterfall enrichment"
    • addedInput schema / properties / webhook_url / description
      Added value: +"If you set the reveal_phone_number parameter to true, this parameter becomes mandatory. Otherwise, do not use this parameter. Enter the webhook URL that specifies where Apollo should send a JSON response that includes the phone number you requested. Apollo suggests testing this flow to ensure you receive the separate response with the phone number. If phone numbers are not revealed delivered to the webhook URL, try applying UTF-8 encoding to the webhook URL. Example: https://webhook.site/cc4cf44e-e047-4774-8dac-473d28474e40; https%3A%2F%2Fwebhook.site%2Fcc4cf44e-e047-4774-8dac-473d28474e40"
    • changedInput schema / required
      Previous value: -[
      -  "details"
      -]New value: +[
      +  "body"
      +]
  2. Changed11 schema fields changed
    • removedInput schema / properties / reveal_personal_emails
      Removed value: -{
      -  "description": "Set to true if you want to enrich all matched people with personal emails. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If a person resides in a GDPR -compliant region, Apollo will not reveal their personal email.",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / reveal_phone_number / default
      Added value: +false
    • removedInput schema / properties / reveal_phone_number / description
      Removed value: -"Set to true if you want to enrich the data of all matched people with all available phone numbers, including mobile phone numbers. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If this parameter is set to true, you must enter a webhook URL for the webhook_url parameter. Apollo will asynchronously verify phone numbers for you, then send a JSON response that includes only details about the phone numbers to the webhook URL you provide. It can take several minutes for the phone numbers to be delivered."
    • addedInput schema / properties / run_waterfall_email / default
      Added value: +false
    • removedInput schema / properties / run_waterfall_email / description
      Removed value: -"Set to true to enable email waterfall enrichment"
    • addedInput schema / properties / run_waterfall_phone / default
      Added value: +false
    • removedInput schema / properties / run_waterfall_phone / description
      Removed value: -"Set to true to enable phone waterfall enrichment"
    • removedInput schema / properties / webhook_url / description
      Removed value: -"If you set the reveal_phone_number parameter to true, this parameter becomes mandatory. Otherwise, do not use this parameter. Enter the webhook URL that specifies where Apollo should send a JSON response that includes the phone number you requested. Apollo suggests testing this flow to ensure you receive the separate response with the phone number. If phone numbers are not revealed delivered to the webhook URL, try applying UTF-8 encoding to the webhook URL. Example: https://webhook.site/cc4cf44e-e047-4774-8dac-473d28474e40; https%3A%2F%2Fwebhook.site%2Fcc4cf44e-e047-4774-8dac-473d28474e40"
    • addedInput schema / properties / webhook_url / format
      Added value: +"https_url"
    • addedInput schema / properties / webhook_url / maxLength
      Added value: +2048
    • addedInput schema / properties / webhook_url / minLength
      Added value: +1
  3. Changed11 schema fields changed
    • addedInput schema / properties / reveal_personal_emails
      Added value: +{
      +  "description": "Set to true if you want to enrich all matched people with personal emails. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If a person resides in a GDPR -compliant region, Apollo will not reveal their personal email.",
      +  "type": "boolean"
      +}
    • removedInput schema / properties / reveal_phone_number / default
      Removed value: -false
    • addedInput schema / properties / reveal_phone_number / description
      Added value: +"Set to true if you want to enrich the data of all matched people with all available phone numbers, including mobile phone numbers. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If this parameter is set to true, you must enter a webhook URL for the webhook_url parameter. Apollo will asynchronously verify phone numbers for you, then send a JSON response that includes only details about the phone numbers to the webhook URL you provide. It can take several minutes for the phone numbers to be delivered."
    • removedInput schema / properties / run_waterfall_email / default
      Removed value: -false
    • addedInput schema / properties / run_waterfall_email / description
      Added value: +"Set to true to enable email waterfall enrichment"
    • removedInput schema / properties / run_waterfall_phone / default
      Removed value: -false
    • addedInput schema / properties / run_waterfall_phone / description
      Added value: +"Set to true to enable phone waterfall enrichment"
    • addedInput schema / properties / webhook_url / description
      Added value: +"If you set the reveal_phone_number parameter to true, this parameter becomes mandatory. Otherwise, do not use this parameter. Enter the webhook URL that specifies where Apollo should send a JSON response that includes the phone number you requested. Apollo suggests testing this flow to ensure you receive the separate response with the phone number. If phone numbers are not revealed delivered to the webhook URL, try applying UTF-8 encoding to the webhook URL. Example: https://webhook.site/cc4cf44e-e047-4774-8dac-473d28474e40; https%3A%2F%2Fwebhook.site%2Fcc4cf44e-e047-4774-8dac-473d28474e40"
    • removedInput schema / properties / webhook_url / format
      Removed value: -"https_url"
    • removedInput schema / properties / webhook_url / maxLength
      Removed value: -2048
    • removedInput schema / properties / webhook_url / minLength
      Removed value: -1
  4. Changed11 schema fields changed
    • removedInput schema / properties / reveal_personal_emails
      Removed value: -{
      -  "description": "Set to true if you want to enrich all matched people with personal emails. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If a person resides in a GDPR -compliant region, Apollo will not reveal their personal email.",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / reveal_phone_number / default
      Added value: +false
    • removedInput schema / properties / reveal_phone_number / description
      Removed value: -"Set to true if you want to enrich the data of all matched people with all available phone numbers, including mobile phone numbers. This potentially consumes credits as part of your Apollo pricing plan . The default value is false. If this parameter is set to true, you must enter a webhook URL for the webhook_url parameter. Apollo will asynchronously verify phone numbers for you, then send a JSON response that includes only details about the phone numbers to the webhook URL you provide. It can take several minutes for the phone numbers to be delivered."
    • addedInput schema / properties / run_waterfall_email / default
      Added value: +false
    • removedInput schema / properties / run_waterfall_email / description
      Removed value: -"Set to true to enable email waterfall enrichment"
    • addedInput schema / properties / run_waterfall_phone / default
      Added value: +false
    • removedInput schema / properties / run_waterfall_phone / description
      Removed value: -"Set to true to enable phone waterfall enrichment"
    • removedInput schema / properties / webhook_url / description
      Removed value: -"If you set the reveal_phone_number parameter to true, this parameter becomes mandatory. Otherwise, do not use this parameter. Enter the webhook URL that specifies where Apollo should send a JSON response that includes the phone number you requested. Apollo suggests testing this flow to ensure you receive the separate response with the phone number. If phone numbers are not revealed delivered to the webhook URL, try applying UTF-8 encoding to the webhook URL. Example: https://webhook.site/cc4cf44e-e047-4774-8dac-473d28474e40; https%3A%2F%2Fwebhook.site%2Fcc4cf44e-e047-4774-8dac-473d28474e40"
    • addedInput schema / properties / webhook_url / format
      Added value: +"https_url"
    • addedInput schema / properties / webhook_url / maxLength
      Added value: +2048
    • addedInput schema / properties / webhook_url / minLength
      Added value: +1
  5. First observed

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/OpenWorld, so the safety profile is covered. The description adds genuinely useful behavior beyond that: credit cost is per record enriched rather than per call, and partial matches are possible so the caller should inspect missing_records rather than assume success. It stops short of rate limits or async timing, so a 4 rather than 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three tight sentences ordered as purpose, body, return/cost, then routing. No wasted prose; the pricing block is an injected boilerplate section rather than authored description text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a paid, nested, non-destructive enrichment call with an output schema, the definition covers input shape, cost model, partial-failure semantics, and sibling routing. Nothing an agent needs in order to call it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so a baseline of 3 applies. The description adds value by explaining that body.details is an array of the same identifier objects post_apollo_people_match accepts and is capped at 10, linking the nested schema to the sibling's contract rather than just restating field names.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource (bulk-enrich people), gives the hard cap (up to 10), and explicitly names the sibling it differs from (post_apollo_people_match). An agent can distinguish bulk from single enrichment without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit routing rule: use this over a loop of single calls for the same credits and one round trip, and fall back to post_apollo_people_match for a single person. Both the when-to-use and the when-to-use-something-else conditions are stated.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources