com.mcparmory/apollo
PYPI · MCPARMORY-APOLLO · 2 COMPONENTS · SCANNED SEP 20
Search and enrich contact and company data from 210M+ people and 35M+ companies
Available components
How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →
Supply Chain Security87
- No malware found by supply-chain analysis.Pass
- No known CVEs affecting this package version or its production dependencies.Pass
- Install-script risk not yet assessed.Unverified
- 2 of 46 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency32
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- License check failed: the license (MIT License) isn't a recognized OSI-approved license. See how to fix → Fail
- Actively maintained (last published 131 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability68
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 9186 tokens (~176/item across 52 items; 52 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management87
- Stability observed for 26 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 52 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 52 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a current MCP spec version (2026-07-28).Pass
How do I install the com.mcparmory/apollo MCP server?
com.mcparmory/apollo runs locally as a PyPI package, launched with uvx mcparmory-apollo. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
pypi · mcparmory-apollo
claude mcp add com-mcparmory-apollo -- uvx mcparmory-apollo
{
"mcpServers": {
"com-mcparmory-apollo": {
"command": "uvx",
"args": [
"mcparmory-apollo"
]
}
}
} {
"servers": {
"com-mcparmory-apollo": {
"command": "uvx",
"args": [
"mcparmory-apollo"
]
}
}
} codex mcp add com-mcparmory-apollo -- uvx mcparmory-apollo
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"com-mcparmory-apollo": {
"type": "local",
"command": [
"uvx",
"mcparmory-apollo"
],
"enabled": true
}
}
} openclaw mcp add com-mcparmory-apollo --command uvx --arg mcparmory-apollo
mcp_servers:
com-mcparmory-apollo:
command: "uvx"
args: ["mcparmory-apollo"] {
"McpServers": {
"com-mcparmory-apollo": {
"Transport": "stdio",
"Command": "uvx",
"Arguments": [
"mcparmory-apollo"
]
}
}
} assistant mcp add com-mcparmory-apollo -t stdio -c uvx -a mcparmory-apollo
{
"mcpServers": {
"com-mcparmory-apollo": {
"command": "uvx",
"args": [
"mcparmory-apollo"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 20 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 18 Sept 26 +12
- Malware scan: unverified → pass ▲ security
- Stability: pass → 0.80 functional
- 17 Sept 26 −14
- Malware scan: pass → unverified ▼ security
- Stability: 0.97 → pass security
- 15 Sept 26 +16
- Malware scan: unverified → pass ▲ security
- 14 Sept 26 −15
- Malware scan: pass → unverified ▼ security
- 13 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 83 to 87. That category is still filling its 30-day observation window: 25 days of observed history at the previous scan, 26 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Sept 26 −3
- Stability: pass → 0.80 functional
- 10 Sept 26 +1
- Stability: 0.97 → pass security
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Analysed pypi/mcparmory-apollo@1.0.4
Provenance No attestation
The registry publishes no build provenance for this version, so there is nothing to verify.
| Result | No attestation |
|---|---|
| Ecosystem | pypi |
Background: How many MCP packages publish verified provenance →
Dependencies 46 packages
| Packages resolved | 46 |
|---|---|
| Stale | 1 |
| No linked repository | 1 |
| Tree resolution | Complete |
Background: SBOMs and build attestations, explained →
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
abort_email_sequence Abort Email Sequence ~71
Stop an active email sequence and pause all contacts from receiving further emails. Once aborted, the sequence halts all outgoing communications.
| Name | Type | Req | Description |
|---|---|---|---|
| sequence_id | string | yes | The unique Apollo identifier for the email sequence you want to abort. This is a 24-character hexadecimal string that uniquely identifies the sequence in the system. |
No output schema declared.
No examples provided.
activate_email_sequence Activate Email Sequence ~67
Activate an inactive email sequence to begin sending emails to its contacts on the configured schedule. The sequence must have at least one step configured before activation.
| Name | Type | Req | Description |
|---|---|---|---|
| sequence_id | string | yes | The Apollo ID of the email sequence to activate. Retrieve sequence IDs by calling the Search for Sequences endpoint. |
No output schema declared.
No examples provided.
add_contacts_to_sequence Add Contacts to Sequence ~631
Add contacts to an email sequence in your Apollo account. Contacts can be specified by individual IDs or by label names. Requires a master API key and a valid email account to send from.
| Name | Type | Req | Description |
|---|---|---|---|
| add_if_in_queue | boolean | – | Set to true to add contacts to the sequence even if they are currently queued for processing. Defaults to false. |
| auto_unpause_at | string | – | ISO 8601 datetime when paused contacts should automatically resume. Must be used together with status set to 'paused'. |
| contact_ids | array | – | Array of Apollo contact IDs to add to the sequence. Retrieve contact IDs using the Search for Contacts endpoint. Either this or label_names[] must be provided. |
| contact_verification_skipped | boolean | – | Set to true to skip contact verification during the addition process. Defaults to false. |
| contacts_without_ownership_permission | boolean | – | Set to true to add contacts to the sequence even if you lack ownership permissions for them. Defaults to false. |
| emailer_campaign_id | string | yes | The Apollo ID of the emailer campaign, which must match the sequence_id value. |
| label_names | array | – | Array of label names to identify contacts for addition to the sequence. Contacts matching any of these labels will be added. Either this or contact_ids[] must be provided. |
| send_email_from_email_account_id | string | yes | The Apollo ID of the email account to use for sending emails to added contacts. Retrieve email account IDs using the Get a List of Email Accounts endpoint. |
| send_email_from_email_address | string | – | Optional specific email address within the selected email account to send from. |
| sequence_active_in_other_campaigns | boolean | – | Set to true to add contacts to the sequence even if they are already active in other sequences. Defaults to false. |
| sequence_finished_in_other_campaigns | boolean | – | Set to true to add contacts to the sequence if they have previously completed another sequence. Defaults to false. |
| sequence_id | string | yes | The Apollo ID of the sequence to add contacts to. Retrieve sequence IDs using the Search for Sequences endpoint. |
| sequence_job_change | boolean | – | Set to true to add contacts to the sequence even if they have recently changed jobs. Defaults to false. |
| sequence_no_email | boolean | – | Set to true to add contacts to the sequence even if they lack an email address. Defaults to false. |
| sequence_same_company_in_same_campaign | boolean | – | Set to true to add contacts to the sequence even if other contacts from the same company are already enrolled. Defaults to false. |
| sequence_unverified_email | boolean | – | Set to true to add contacts with unverified email addresses to the sequence. Defaults to false. |
| status | string | – | Initial enrollment status for added contacts. Use 'paused' with auto_unpause_at to schedule contact addition. Valid values are 'active' or 'paused'. |
| user_id | string | – | The Apollo user ID of the team member performing this action. This user will be recorded in the activity log. Retrieve user IDs using the Get a List of Users endpoint. |
No output schema declared.
No examples provided.
archive_sequence Archive Sequence ~83
Archive an email sequence to mark it as inactive and automatically finish all contacts currently enrolled in it. Only the sequence owner or users with full access sharing permissions can perform this action, and a master API key is required.
| Name | Type | Req | Description |
|---|---|---|---|
| sequence_id | string | yes | The Apollo ID of the sequence to archive. This is a unique identifier in the format of a 24-character hexadecimal string. |
No output schema declared.
No examples provided.
assign_accounts_to_owner Assign Accounts to Owner ~117
Assign multiple accounts to a different owner within your team's Apollo account. This operation requires a master API key and allows bulk reassignment of account ownership.
| Name | Type | Req | Description |
|---|---|---|---|
| account_ids | array | yes | Array of Apollo account IDs to reassign to the new owner. Retrieve account IDs from the Search for Accounts endpoint. Each ID should be a valid Apollo account identifier. |
| owner_id | string | yes | The Apollo user ID of the team member who will become the owner of the specified accounts. Retrieve available user IDs from the Get a List of Users endpoint. |
No output schema declared.
No examples provided.
assign_contacts_to_owner Assign Contacts to Owner ~114
Reassign multiple contacts to a different owner within your Apollo account. This operation allows you to bulk update contact ownership across your team.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_ids | array | yes | Array of Apollo contact IDs to reassign. Retrieve contact IDs from the Search for Contacts endpoint by identifying the `id` field for each contact you want to update. |
| owner_id | string | yes | The Apollo user ID of the team member who will become the owner of the specified contacts. Retrieve available user IDs from the Get a List of Users endpoint. |
No output schema declared.
No examples provided.
bulk_create_accounts Bulk Create Accounts ~148
Create up to 100 accounts in a single request with intelligent deduplication. The endpoint returns newly created accounts and existing matches separately without modifying existing accounts.
| Name | Type | Req | Description |
|---|---|---|---|
| accounts | array | yes | Array of account objects to create, up to 100 accounts per request. Each object should contain the account attributes you want to set. |
| append_label_names | array | – | Optional array of label names to apply to all accounts created in this request. |
| run_dedupe | boolean | – | Enable aggressive deduplication matching by domain, organization_id, and name in addition to CRM IDs. When disabled (default), only CRM ID matching is used. Existing accounts are returned without mod… |
No output schema declared.
No examples provided.
bulk_create_contacts Bulk Create Contacts ~162
Create up to 100 contacts in a single request with optional deduplication and bulk label assignment. The endpoint intelligently separates newly created contacts from existing ones in the response.
| Name | Type | Req | Description |
|---|---|---|---|
| append_label_names | array | – | Optional array of label names to apply to all contacts created in this request. |
| contacts | array | yes | Array of contact objects to create. Maximum of 100 contacts per request. Order is preserved in the response. |
| run_dedupe | boolean | – | Enable intelligent deduplication across all data sources by matching on email, CRM IDs, or name plus organization. When disabled (default), duplicates are created for non-email import sources while e… |
No output schema declared.
No examples provided.
bulk_create_tasks Bulk Create Tasks ~263
Create multiple tasks in a single request, with one task generated per contact. Returns a success status and array of created tasks. Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_ids | array | yes | Array of Apollo contact IDs to assign tasks to. A separate task will be created for each contact using the same task configuration. |
| due_at | string | yes | The due date and time for the task in ISO 8601 format (e.g., 2025-02-15T08:10:30Z). Apollo uses Greenwich Mean Time (GMT) by default. |
| note | string | – | Optional description providing context for the task owner about the action they need to take. |
| priority | string | – | Priority level for the task. Defaults to medium if not specified. |
| status | string | yes | The task status: use 'scheduled' for future tasks, or 'completed'/'skipped' for tasks already finished. |
| type | string | yes | The type of action for the task: call, outreach_manual_email, linkedin_step_connect, linkedin_step_message, linkedin_step_view_profile, linkedin_step_interact_post, or action_item. |
| user_id | string | yes | The ID of the team member who will own and execute these tasks within your Apollo account. |
No output schema declared.
No examples provided.
bulk_update_accounts Bulk Update Accounts ~244
Update multiple accounts simultaneously with common or individual field changes. Supports updating up to 1000 accounts per request, with optional asynchronous processing when applying uniform updates.
| Name | Type | Req | Description |
|---|---|---|---|
| account_attributes | array | – | List of account objects, each containing an ID and the specific fields to update for that account. Use this for applying different updates to individual accounts. Required if account_ids is not provi… |
| account_ids | array | – | List of account IDs to update with identical values. Use this when applying the same changes across multiple accounts. Required if account_attributes is not provided. |
| account_stage_id | string | – | Account stage ID to assign to all accounts when using account_ids. Ignored when using account_attributes. |
| async | boolean | – | Enable asynchronous processing for the bulk update. Only available when using account_ids with uniform updates; will fail if used with account_attributes. Defaults to false for synchronous processing. |
| name | string | – | New name to assign to all accounts when using account_ids. Ignored when using account_attributes. |
| owner_id | string | – | Owner ID to assign to all accounts when using account_ids. Ignored when using account_attributes. |
No output schema declared.
No examples provided.
bulk_update_contacts Bulk Update Contacts ~214
Update multiple contacts simultaneously with common field values. Supports updating up to 100 contacts per request, with automatic asynchronous processing for larger batches.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | Account ID to associate with all specified contacts. |
| async | boolean | – | Force asynchronous processing of the update request. Automatically enabled when updating more than 100 contacts. Defaults to false for smaller batches. |
| contact_ids | array | yes | List of contact IDs to update. All contacts in this list will receive the same field updates. |
| linkedin_url | string | – | LinkedIn profile URL for all specified contacts. Must be a valid URI format. |
| owner_id | string | – | ID of the user to assign as owner for all specified contacts. |
| present_raw_address | string | – | Physical address to apply to all specified contacts. |
| title | string | – | Job title to apply to all specified contacts. |
| typed_custom_fields | object | – | Custom field key-value pairs to apply to all specified contacts. Structure as an object with field names as keys. |
No output schema declared.
No examples provided.
create_account Create Account ~239
Create a new account (company) in your Apollo team database. Note that Apollo does not deduplicate accounts, so creating an account with the same name, domain, or details as an existing account will result in a duplicate entry rather than an update. Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| account_stage_id | string | – | The Apollo ID of the account stage (pipeline status) to assign to this account. |
| domain | string | yes | The domain name for the account, without www or similar prefixes (e.g., apollo.io). |
| name | string | yes | The human-readable name of the account/company you are creating. |
| owner_id | string | – | The Apollo user ID of the team member who will own this account. |
| phone | string | – | The primary phone number for the account. Apollo automatically formats phone numbers regardless of input format. |
| raw_address | string | – | The corporate headquarters location for the account, which may include city, state, and country. |
| typed_custom_fields | object | – | Custom field values specific to your team's Apollo account, provided as key-value pairs where keys are custom field IDs and values are the field data. |
No output schema declared.
No examples provided.
create_contact Create Contact ~234
Add a new contact to your Apollo account. By default, deduplication is disabled; enable it by setting `run_dedupe` to true to prevent creating duplicate contacts.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | The Apollo ID of the account to associate with this contact. |
| contact_stage_id | string | – | The Apollo ID of the contact stage to assign to this contact. |
| label_names | array | – | An array of list names to which this contact should be added. |
| present_raw_address | string | – | The contact's personal location or address (e.g., 'Atlanta, United States'). |
| run_dedupe | boolean | – | Set to true to enable deduplication logic that prevents creating duplicate contacts. Defaults to false. |
| title | string | – | The contact's current job title (e.g., 'senior research analyst'). |
| typed_custom_fields | object | – | An object containing custom field data specific to your Apollo account. Field names and values should match your team's configured custom fields. |
| website_url | string | – | The corporate website URL in URI format (e.g., https://example.com). |
No output schema declared.
No examples provided.
create_custom_field Create Custom Field ~173
Create a custom field in your Apollo account to capture unique details about contacts, accounts, or deals. Custom fields enable your team to store specialized information and personalize outreach sequences.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | yes | The display name for the custom field (e.g., 'Test Name'). This is how the field will appear in your Apollo account. |
| meta | object | – | Optional metadata object to store additional configuration or properties for the custom field. |
| modality | string | yes | The entity type this custom field applies to: contact, account, or opportunity. This determines where the field will be available in your Apollo workspace. |
| type | string | yes | The data type for the custom field. Choose from: string (single-line text), textarea (multi-line text), number, date, datetime, or boolean (true/false). |
No output schema declared.
No examples provided.
create_deal Create Deal ~222
Create a new deal in your Apollo account to track account activity, including deal value, ownership, and pipeline stage. Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | The ID of the target company account within your Apollo instance that this deal is associated with. |
| amount | string | – | The monetary value of the deal as a numeric amount. Enter only digits without commas or currency symbols. |
| closed_date | string | – | The estimated close date for the deal in YYYY-MM-DD format. Can be a future or past date. |
| name | string | yes | A human-readable name for the deal (e.g., 'Massive Q3 Deal'). |
| opportunity_stage_id | string | – | The ID of the deal stage (pipeline stage) within your Apollo account that categorizes this deal's progress. |
| owner_id | string | – | The ID of the team member who owns this deal within your Apollo account. |
| typed_custom_fields | object | – | Custom field data specific to your Apollo account. Structure and available fields depend on your team's custom field configuration. |
No output schema declared.
No examples provided.
create_phone_call Create Phone Call ~321
Log phone calls made through external systems (such as Orum or Nooks) into Apollo. This endpoint records call metadata and outcomes but cannot initiate calls. Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | ID of the account associated with this call. Retrieve available account IDs from the Search for Accounts endpoint. |
| duration | integer | – | Length of the call in seconds (not minutes). |
| end_time | string | – | Timestamp when the call ended, formatted in ISO 8601 date-time format using Greenwich Mean Time (GMT). |
| logged | boolean | – | Whether to create an individual call record in Apollo. Defaults to true if not specified. |
| note | string | – | Additional notes or context about the call to include in the record. |
| phone_call_outcome_id | string | – | ID of the call outcome to assign to this record. Call outcomes are custom to your Apollo account. |
| phone_call_purpose_id | string | – | ID of the call purpose category to assign to this record. Call purposes are custom to your Apollo account. |
| start_time | string | – | Timestamp when the call started, formatted in ISO 8601 date-time format using Greenwich Mean Time (GMT). |
| status | string | – | Current status of the call. Valid statuses are: queued, ringing, in-progress, completed, no_answer, failed, or busy. |
| user_id | array | – | IDs of team members who made the call. Retrieve available user IDs from the Get a List of Users endpoint. Accepts multiple user IDs as an array. |
No output schema declared.
No examples provided.
create_task Create Task ~320
Create a task to track upcoming actions for you and your team, such as calls, emails, or LinkedIn outreach. The created task is assigned to a specific team member and linked to a contact.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_id | string | yes | The Apollo ID of the contact associated with this task. Use the Search for Contacts endpoint to find valid contact IDs. |
| due_at | string | yes | The due date and time for this task in ISO 8601 format (UTC/GMT). Example: 2025-02-15T08:10:30Z. |
| note | string | – | An optional description providing context for the task owner about the action they need to take. |
| priority | string | – | The priority level for this task. Defaults to medium if not specified. Options are high, medium, or low. |
| status | string | yes | The current status of the task. Use 'scheduled' for future tasks or 'completed'/'skipped' for already-finished tasks. |
| title | string | – | An optional title for the task. If not provided, Apollo will auto-generate a title based on the task type and contact name. |
| type | string | yes | The type of action required for this task. Choose from: call, outreach via manual email, LinkedIn connection request, LinkedIn message, LinkedIn profile view, LinkedIn post interaction, or general ac… |
| user_id | string | yes | The ID of the team member who will own this task. Retrieve user IDs from the Get a List of Users endpoint. |
No output schema declared.
No examples provided.
enrich_organization Enrich Organization ~79
Enrich company data by domain to retrieve detailed organizational information including industry, revenue, employee counts, funding details, and contact information. Each call consumes credits from your Apollo pricing plan.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | yes | The company domain to enrich (e.g., apollo.io). Provide the domain without www prefix, @ symbol, or other special characters. |
No output schema declared.
No examples provided.
enrich_organizations Enrich Organizations ~88
Enrich company data for up to 10 organizations in a single request. Returns enriched information including industry, revenue, employee count, funding details, phone numbers, and locations.
| Name | Type | Req | Description |
|---|---|---|---|
| domains | array | yes | Array of company domains to enrich, up to 10 domains per request. Provide domains without www prefix, @ symbol, or other modifiers (e.g., apollo.io, microsoft.com). |
No output schema declared.
No examples provided.
enrich_people_bulk Enrich People in Bulk ~273
Enrich contact and professional data for up to 10 people in a single request. Apollo uses the provided person details to identify and match records, then returns enriched information with optional email, phone, and waterfall verification.
| Name | Type | Req | Description |
|---|---|---|---|
| details | array | yes | Array of up to 10 person objects containing identifying information (name, email, company, location, etc.) to match and enrich. Each object should include available details to improve match accuracy. |
| reveal_personal_emails | boolean | – | Include personal email addresses in enriched results for all matched people. This may consume credits based on your plan. Personal emails will not be revealed for people in GDPR-compliant regions. |
| reveal_phone_number | boolean | – | Include all available phone numbers (including mobile) in enriched results for matched people. Requires a valid webhook_url to receive asynchronous phone verification results. |
| run_waterfall_email | boolean | – | Enable email waterfall enrichment to progressively search multiple data sources for email addresses when initial matches don't return results. |
| run_waterfall_phone | boolean | – | Enable phone waterfall enrichment to progressively search multiple data sources for phone numbers when initial matches don't return results. |
| webhook_url | string | – | Webhook endpoint URL where Apollo will send phone number verification results asynchronously. Required when reveal_phone_number is enabled. Must be a valid HTTPS or HTTP URI. |
No output schema declared.
No examples provided.
enrich_person Enrich Person ~437
Enrich data for a single person by matching against the Apollo database. Provide identifying information such as name, email, domain, or LinkedIn profile to locate and return enriched contact details. Optionally reveal personal emails and phone numbers, or enable waterfall enrichment for additional data discovery.
| Name | Type | Req | Description |
|---|---|---|---|
| domain | string | – | The domain name of the person's employer (current or previous). Provide only the domain without www, @, or other prefixes (e.g., apollo.io). |
| hashed_email | string | – | The hashed email address of the person in MD5 or SHA-256 format. Use this to match against the database when you have a hashed email available. |
| id | string | – | The unique Apollo ID assigned to the person in the database. Use this when you already have the Apollo identifier for direct lookup. |
| linkedin_url | string | – | The URL to the person's LinkedIn profile. Provide the full profile URL to help identify and enrich the correct person. |
| name | string | – | The person's full name, typically first and last name separated by a space. Use this as an alternative to providing separate first_name and last_name parameters. |
| reveal_personal_emails | boolean | – | Reveal the person's personal email addresses in the response. This may consume credits and will not return emails for individuals in GDPR-compliant regions. Set to true to include personal emails in… |
| reveal_phone_number | boolean | – | Reveal all available phone numbers including mobile numbers in the response. This may consume credits and requires a webhook_url to be specified for asynchronous phone number verification results. Se… |
| run_waterfall_email | boolean | – | Enable email waterfall enrichment to discover additional email addresses beyond standard matching. Set to true to activate this enrichment method. |
| run_waterfall_phone | boolean | – | Enable phone waterfall enrichment to discover additional phone numbers beyond standard matching. Set to true to activate this enrichment method. |
| webhook_url | string | – | The webhook URL where Apollo will send phone number verification results asynchronously. Required only when reveal_phone_number is set to true. Provide a valid HTTPS endpoint to receive the phone enr… |
No output schema declared.
No examples provided.
get_account Get Account ~57
Retrieve detailed information for a specific account (company) in your Apollo database. Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The Apollo ID of the account to retrieve. You can find account IDs by calling the Search for Accounts endpoint. |
No output schema declared.
No examples provided.
get_contact Get Contact ~69
Retrieve detailed information for a specific contact in your Apollo database. This endpoint returns enriched contact data including email addresses, phone numbers, and other profile information.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_id | string | yes | The unique Apollo identifier for the contact you want to retrieve. You can find contact IDs by using the search contacts endpoint. |
No output schema declared.
No examples provided.
get_deal Get Deal ~74
Retrieve complete details about a specific deal in your Apollo account, including deal owner, monetary value, stage, and associated account information. Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| opportunity_id | string | yes | The unique identifier for the deal you want to retrieve. Use the List All Deals endpoint to find the ID of the desired deal. |
No output schema declared.
No examples provided.
get_email_activities Get Email Activities ~77
Retrieve detailed statistics and activity information for a specific email sent through an Apollo sequence, including email contents, engagement metrics (opens and clicks), and recipient contact details.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The unique identifier of the email message. This ID is assigned to each outreach email in Apollo and can be obtained by calling the search emails endpoint. |
No output schema declared.
No examples provided.
get_organization Get Organization ~77
Retrieve complete details about a specific organization from the Apollo database, including company information, contact data, and other organizational metadata. Requires a master API key for authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| id | string | yes | The Apollo organization ID to retrieve details for. You can find organization IDs by calling the Organization Search endpoint and extracting the organization_id value from the results. |
No output schema declared.
No examples provided.
list_account_stages List Account Stages ~38
Retrieve all available account stages in your Apollo account. Use the returned stage IDs to update individual accounts or bulk update account stages across multiple accounts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_contact_stages List Contact Stages ~38
Retrieve all available contact stages in your Apollo account. Use the returned stage IDs to update individual contacts or bulk update contact stages across multiple contacts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_custom_fields List Custom Fields ~36
Retrieve all custom fields configured in your Apollo account. This endpoint provides a complete inventory of custom field definitions available for use across your organization.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_deal_stages List Deal Stages ~39
Retrieve all available deal stages in your Apollo account. Use the stage IDs returned by this endpoint when creating or updating deals through the Apollo API.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_email_accounts List Email Accounts ~41
Retrieve all linked email accounts and inboxes used by your team in Apollo. Returns account IDs that can be used with sequence operations. Requires a master API key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_fields List Fields ~71
Retrieve all fields available in your Apollo account, with optional filtering by source type. Requires a master API key for authentication.
| Name | Type | Req | Description |
|---|---|---|---|
| source | string | – | Filter the returned fields by their source type: system fields (built-in), custom fields (user-created), or crm_synced fields (synchronized from your CRM). |
No output schema declared.
No examples provided.
list_lists List Labels ~40
Retrieve all lists created in your Apollo account. Use this endpoint to discover available lists before creating contacts or performing other list-based operations. Requires a master API key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_notes List Notes ~269
Retrieve notes associated with a specific contact, account, opportunity, calendar event, or conversation. At least one relation parameter must be provided to filter results, with support for sorting and pagination.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | The ID of the account to retrieve notes for. |
| calendar_event_id | string | – | The ID of the calendar event to retrieve notes for. |
| contact_ids | array | – | One or more contact IDs to filter notes by multiple contacts. |
| conversation_ids | array | – | One or more conversation IDs to filter notes by multiple conversations. |
| limit | integer | – | Maximum number of notes to return per request. Must be between 1 and 100. Defaults to 25. |
| opportunity_id | string | – | The ID of the opportunity to retrieve notes for. |
| skip | integer | – | Number of notes to skip for pagination. Must be zero or greater. Defaults to 0. |
| sort_by_field | string | – | Field to sort results by. Defaults to creation date. Options are creation date or last update date. |
| sort_direction | string | – | Sort direction for results. Defaults to descending (newest first). Use ascending for oldest first. |
| start_date | string | – | Filter notes to only those created on or after this date (ISO 8601 format). |
No output schema declared.
No examples provided.
list_opportunities List Opportunities ~86
Retrieve all deals created in your Apollo account. This endpoint requires a master API key and returns a complete list of opportunities for your team.
| Name | Type | Req | Description |
|---|---|---|---|
| sort_by_field | string | – | Sort results by one of three criteria: amount (largest deal values first), is_closed (closed deals first), or is_won (won deals first). If not specified, results are returned in default order. |
No output schema declared.
No examples provided.
list_organization_job_postings List Organization Job Postings ~76
Retrieve current job postings for a specific organization to identify companies expanding headcount in strategically important areas. This endpoint is useful for competitive intelligence and hiring trend analysis.
| Name | Type | Req | Description |
|---|---|---|---|
| organization_id | string | yes | The unique identifier for the organization whose job postings you want to retrieve. You can find organization IDs by calling the Organization Search endpoint. |
No output schema declared.
No examples provided.
list_users List Users ~37
Retrieve all user IDs in your Apollo account. These IDs are essential for creating deals, accounts, tasks, and other resources that require user assignment.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
search_accounts Search Accounts ~224
Search for accounts that have been added to your team's Apollo database. Filter by name, stage, labels, and sort results by activity or creation date. Results are paginated with a maximum of 50,000 records (100 per page).
| Name | Type | Req | Description |
|---|---|---|---|
| account_label_ids | array | – | Apollo IDs of labels to include in results. Provide as an array of label IDs to filter accounts by their assigned labels. |
| account_stage_ids | array | – | Apollo IDs of account stages to include in results. Provide as an array of stage IDs to filter accounts by their current stage. |
| q_organization_name | string | – | Keywords to filter accounts by name. The search matches keywords against account names, supporting partial matches. Examples include company names like 'apollo', 'microsoft', or 'marketing'. |
| sort_ascending | boolean | – | Sort results in ascending order. Only applies when sort_by_field is specified. Defaults to descending order when not provided. |
| sort_by_field | string | – | Field to sort results by. Choose from account activity date, creation date, or last update date. |
No output schema declared.
No examples provided.
search_companies Search Companies ~456
Search the Apollo database for companies using multiple filter criteria including domain, location, technology stack, and hiring activity. Results are paginated at 100 records per page (up to 500 pages, 50,000 record limit) and consume credits based on your Apollo plan.
| Name | Type | Req | Description |
|---|---|---|---|
| currently_using_any_of_technology_uids | array | – | Filter by technologies currently in use at companies. Apollo supports 1,500+ technologies; use underscores to replace spaces and periods in technology names (e.g., google_analytics, wordpress_org). |
| organization_ids | array | – | Filter by Apollo's unique company identifiers. Provide one or more company IDs to retrieve specific organizations from the database. |
| organization_job_locations | array | – | Filter by geographic locations where companies are actively recruiting. Specify cities or countries to find organizations hiring in particular regions. |
| organization_locations | array | – | Filter by company headquarters location using city, US state, or country names. Results are based on headquarters location even if the company has multiple offices. |
| organization_not_locations | array | – | Exclude companies from results based on headquarters location. Specify cities, US states, or countries to filter out unwanted geographic regions. |
| organization_num_employees_ranges | array | – | Filter by company headcount ranges. Specify ranges as comma-separated pairs (e.g., 1,10 or 250,500). Add multiple ranges to broaden results and find companies within specific employee count brackets. |
| q_organization_domains_list | array | – | Filter by company domain names (e.g., apollo.io, microsoft.com). Omit www, @, and similar prefixes. Accepts up to 1,000 domains per request to find companies by their current or previous employer dom… |
| q_organization_job_titles | array | – | Filter by job titles listed in active company job postings. Find companies actively recruiting for specific roles (e.g., sales manager, research analyst). |
| q_organization_keyword_tags | array | – | Filter by industry or business keywords associated with companies (e.g., mining, consulting). Enables targeted searches by company classification or sector. |
| q_organization_name | string | – | Filter by specific company name. Partial name matches are supported to find companies with similar naming patterns. |
No output schema declared.
No examples provided.
search_company_news Search Company News ~129
Search for news articles related to companies in the Apollo database. Filter results by company IDs and optionally by news categories to find relevant coverage. Note: This operation consumes credits from your Apollo plan.
| Name | Type | Req | Description |
|---|---|---|---|
| categories | array | – | Optional news categories or sub-categories to filter results (e.g., hires, investment, contract). When specified, only articles matching these categories are returned. Omit to include all available c… |
| organization_ids | array | yes | One or more Apollo company IDs to search for news coverage. Retrieve company IDs from the Organization Search endpoint. Results will include news for all specified companies. |
No output schema declared.
No examples provided.
search_contacts Search Contacts ~184
Search for contacts in your team's Apollo account by keywords, stage, or labels. Results are paginated with a maximum of 100 records per page, up to 500 pages (50,000 total records).
| Name | Type | Req | Description |
|---|---|---|---|
| contact_label_ids | array | – | Apollo IDs of labels to include in the search results. Provide as an array of label IDs to filter by one or more labels. |
| contact_stage_ids | array | – | Apollo IDs of contact stages to include in the search results. Provide as an array of stage IDs to filter by one or more stages. |
| q_keywords | string | – | Keywords to filter contacts by name, job title, employer, or email address. Supports multiple search terms combined together. |
| sort | string | – | Sort specification in the format 'field:direction' where direction is 'asc' or 'desc'. Example: 'contact_created_at:asc' |
No output schema declared.
No examples provided.
search_outreach_emails Search Outreach Emails ~334
Search for outreach emails created and sent through Apollo sequences by your team. Returns up to 50,000 records with pagination support (100 records per page, maximum 500 pages). Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| email_account_id_and_aliases | string | – | Filter results by a specific email account ID and its associated aliases. |
| emailer_message_date_range_mode | string | – | Specify the date field to filter by: use 'due_at' for scheduled delivery dates or 'completed_at' for actual delivery dates. Use with the min/max date range parameters. |
| emailer_message_reply_classes | array | – | Filter emails by recipient response sentiment, such as interest in meeting or follow-up questions. Accepts multiple response types. |
| emailer_message_stats | array | – | Filter emails by their delivery status (e.g., delivered, opened, bounced). Accepts multiple status values to broaden results. |
| not_emailer_campaign_ids | array | – | Exclude emails from specific sequences. Provide sequence IDs as an array; all sequences not listed will be included in results. Retrieve sequence IDs from the Search for Sequences endpoint. |
| not_sent_reason_cds | array | – | Filter emails by the reason they were not sent (e.g., invalid address, bounced). Accepts multiple reasons. |
| q_keywords | string | – | Narrow results by keywords that match email content. Keywords must directly match at least part of an email's body or subject. |
| user_ids | array | – | Filter emails sent by specific team members. Provide user IDs as an array; retrieve user IDs from the Get a List of Users endpoint. |
No output schema declared.
No examples provided.
search_people Search People ~455
Search the Apollo database for people matching specified criteria such as job title, location, seniority, and employer technology stack. This API-optimized endpoint does not consume credits and returns up to 50,000 records without email addresses or phone numbers.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_email_status | array | – | Filter by email verification status of people (e.g., verified, unverified, bounced). |
| currently_not_using_any_of_technology_uids | array | – | Exclude people whose employers use any of the specified technologies. Supports 1,500+ technology identifiers. |
| currently_using_all_of_technology_uids | array | – | Filter by people whose employers use all of the specified technologies. Supports 1,500+ technology identifiers. |
| currently_using_any_of_technology_uids | array | – | Filter by people whose employers use any of the specified technologies. Supports 1,500+ technology identifiers. |
| organization_ids | array | – | Filter by Apollo organization IDs to include only people employed at specific companies. |
| organization_job_locations | array | – | Filter by locations where people's current employers are actively recruiting for open positions. |
| organization_locations | array | – | Filter by the headquarters location of people's current employers, including cities, US states, and countries. |
| organization_num_employees_ranges | array | – | Filter by employee count ranges of people's current employers. Specify as comma-separated lower and upper bounds (e.g., '1,10' for 1-10 employees). |
| person_locations | array | – | Filter by the locations where people currently live, including cities, US states, and countries. |
| person_seniorities | array | – | Filter by the seniority level of people's current job positions (e.g., entry-level, mid-level, executive). |
| person_titles | array | – | Filter by job titles held by people. Results include titles containing the same terms, even if not exact matches. |
| q_keywords | string | – | Filter results by keywords that appear in person profiles. |
| q_organization_domains_list | array | – | Filter by employer domain names. Accepts up to 1,000 domains per request. |
| q_organization_job_titles | array | – | Filter by job titles listed in active job postings at people's current employers. |
No output schema declared.
No examples provided.
search_phone_calls Search Phone Calls ~336
Search for phone calls made or received by your team using the Apollo dialer. Filter results by date range, duration, call direction, team members, contacts, call purposes, outcomes, and keywords.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_label_ids | array | – | Filter calls by one or more contacts in your Apollo database. Provide an array of contact IDs. |
| date_rangemax | string | – | Upper bound of the date range to search (YYYY-MM-DD format). Must be later than date_range[min] if both are specified. |
| date_rangemin | string | – | Lower bound of the date range to search (YYYY-MM-DD format). Must be earlier than date_range[max] if both are specified. |
| durationmax | integer | – | Maximum call duration in seconds. Must be larger than duration[min] if both are specified. |
| durationmin | integer | – | Minimum call duration in seconds. Must be smaller than duration[max] if both are specified. |
| inbound | string | – | Filter by call direction: 'incoming' for calls received by your team, or 'outgoing' for calls made by your team. |
| phone_call_outcome_ids | array | – | Filter calls by their outcome or disposition. Provide an array of call outcome IDs configured in your Apollo account. |
| phone_call_purpose_ids | array | – | Filter calls by their purpose. Provide an array of call purpose IDs configured in your Apollo account. |
| q_keywords | string | – | Narrow search results by keywords found in call records. |
| user_ids | array | – | Filter calls by one or more team members. Provide an array of user IDs from your Apollo account. |
No output schema declared.
No examples provided.
search_sequences Search Sequences ~62
Search for email sequences in your Apollo account by name. This endpoint requires a master API key and returns sequences matching your search criteria.
| Name | Type | Req | Description |
|---|---|---|---|
| q_name | string | – | Keywords to filter sequences by name. The search will match sequences whose names contain any of the provided keywords. |
No output schema declared.
No examples provided.
search_tasks Search Tasks ~111
Search for tasks created in Apollo across your team. Returns up to 50,000 records with pagination support (100 records per page, maximum 500 pages). Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| open_factor_names | array | – | Request task type counts in the response by including task_types. When specified, the response includes a task_types array with count values for each task type. |
| sort_by_field | string | – | Sort results by task due date (future dates first) or priority level (highest priority first). |
No output schema declared.
No examples provided.
update_account Update Account ~280
Update an existing account in your Apollo workspace. Requires a master API key and the account ID. You can modify account details such as name, domain, owner, stage, location, phone, and custom fields.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | yes | The unique Apollo identifier for the account to update. |
| account_stage_id | string | – | The Apollo ID of the account stage to assign to this account, determining its position in your sales pipeline. |
| domain | string | – | The domain name associated with the account, without www or protocol prefix (e.g., 'apollo.io' or 'microsoft.com'). |
| name | string | – | A human-readable name for the account (e.g., 'The Fast Irish Copywriters'). |
| owner_id | string | – | The Apollo ID of the team member who owns this account. |
| phone | string | – | The primary contact phone number for the account in any standard format (e.g., '555-303-1234' or '+44 7911 123456'). |
| raw_address | string | – | The corporate headquarters location or primary office address (e.g., 'Belfield, Dublin 4, Ireland' or 'Dallas, United States'). |
| typed_custom_fields | object | – | Custom field values specific to your Apollo workspace. Structure as key-value pairs where keys match your configured custom field names. |
No output schema declared.
No examples provided.
update_call Update Call ~277
Update an existing call record in Apollo with new details such as status, timing, duration, purpose, outcome, and notes. Requires a master API key.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | The Apollo account ID to associate this call with. |
| duration | integer | – | The total duration of the call in seconds. |
| end_time | string | – | The date and time when the call ended, formatted in ISO 8601 format. |
| id | string | yes | The unique Apollo identifier for the call record to update. |
| logged | boolean | – | Set to true to create an individual record for this phone call in Apollo. |
| note | string | – | A text note to add to the call record for additional context or details. |
| phone_call_outcome_id | string | – | The Apollo ID of the call outcome to assign to this record. |
| phone_call_purpose_id | string | – | The Apollo ID of the call purpose category to assign to this record. |
| start_time | string | – | The date and time when the call started, formatted in ISO 8601 format. |
| status | string | – | The current status of the call: queued, ringing, in-progress, completed, no_answer, failed, or busy. |
| user_id | array | – | Array of user IDs from your Apollo account to designate who made the call. |
No output schema declared.
No examples provided.
update_contact Update Contact ~244
Update an existing contact in your Apollo account. Modify contact details such as job title, account association, location, stage, and custom fields. List assignments are replaced entirely when provided.
| Name | Type | Req | Description |
|---|---|---|---|
| account_id | string | – | The Apollo account ID to associate with this contact. |
| contact_id | string | yes | The Apollo ID of the contact to update. Retrieve contact IDs using the Search for Contacts endpoint. |
| contact_stage_id | string | – | The contact stage ID to update the contact's pipeline stage. |
| label_names | array | – | List of label names to assign to this contact. Providing new values will completely replace any existing list assignments. |
| present_raw_address | string | – | The contact's location as a city/state/country string (e.g., 'Atlanta, United States'). |
| title | string | – | The contact's job title (e.g., 'senior research analyst'). |
| typed_custom_fields | object | – | Custom field data specific to your Apollo account. Provide as key-value pairs where keys match your team's custom field identifiers. |
| website_url | string | – | The employer's website URL in standard URI format (e.g., https://www.apollo.io/). |
No output schema declared.
No examples provided.
update_contact_stages Update Contact Stages ~108
Update the stage assignment for multiple contacts in your Apollo account. Specify the contacts to update and the target stage they should be assigned to.
| Name | Type | Req | Description |
|---|---|---|---|
| contact_ids | array | yes | Array of Apollo contact IDs to update. Retrieve contact IDs from the Search for Contacts endpoint. All specified contacts will be assigned to the same target stage. |
| contact_stage_id | string | yes | The Apollo ID of the contact stage to assign to the specified contacts. Retrieve available stage IDs from the List Contact Stages endpoint. |
No output schema declared.
No examples provided.
What is the com.mcparmory/apollo MCP server?
com.mcparmory/apollo is an MCP server listed in the public MCP registry as com.mcparmory/apollo. Search and enrich contact and company data from 210M+ people and 35M+ companies. This page covers its PyPI package (mcparmory-apollo).
Is the com.mcparmory/apollo MCP server safe to use?
com.mcparmory/apollo scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the com.mcparmory/apollo MCP server expose?
com.mcparmory/apollo exposes 52 tools: enrich_person, enrich_people_bulk, enrich_organization, enrich_organizations, search_people, and 47 more. Their descriptions and schemas cost roughly 9,186 tokens of context every time the server is loaded.
Is the com.mcparmory/apollo MCP server still maintained?
com.mcparmory/apollo is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.