/apollo | Type: Application | PCID required: Yes
Prospecting and enrichment
Tools
| Tool | Description |
|---|---|
apollo_enrich_person | Enrich a person record using Apollo’s data. Find detailed information about a person by email, name, or other identifiers. |
apollo_enrich_organization | Enrich an organization/company record using Apollo’s data. Get detailed company information by domain. |
apollo_search_people | Search for people/contacts in Apollo’s database using various filters like job titles, company, location, etc. Does not return emails or phone numbers - use People Enrichment for that. |
apollo_search_organizations | Search for organizations/companies in Apollo’s database using various filters. Consumes credits. |
apollo_get_organization_info | Get complete information about a specific organization by its Apollo ID. IMPORTANT: You MUST first call apollo_search_organizations to get an organization_id. This tool does NOT accept domain names - only organization_id from search results. |
apollo_create_account | Create a new account in Apollo CRM. An account is a company your team has explicitly added. Apollo does not deduplicate - if entry has same name/domain as existing account, a new account is created. |
apollo_update_account | Update an existing account in Apollo CRM. To find account IDs, use apollo_search_accounts first. |
apollo_search_accounts | Search for accounts that have been added to your Apollo CRM. Only returns accounts in your database - use apollo_search_organizations to search the full Apollo database. |
apollo_get_account | Retrieve details for an existing account in your Apollo database. To find account IDs, use apollo_search_accounts first. |
apollo_list_account_stages | List all available account stages in Apollo. |
apollo_create_contact | Create a new contact in Apollo CRM. By default, Apollo does not deduplicate - set run_dedupe to true to enable. |
apollo_update_contact | Update an existing contact in Apollo CRM. To find contact IDs, use apollo_search_contacts first. |
apollo_search_contacts | Search for contacts in your Apollo CRM. This returns only contacts your team has added. Display limit: 50,000 records (100 per page, up to 500 pages). |
apollo_get_contact | Retrieve details for an existing contact in your Apollo database. Use apollo_search_contacts to find contact IDs. |
apollo_list_contact_stages | List all available contact stages in Apollo. |
apollo_create_deal | Create new deals/opportunities in Apollo. Deals track account activity including monetary values, owners, and stages. |
apollo_update_deal | Update an existing deal/opportunity in Apollo CRM. To find deal IDs, use apollo_list_deals first. |
apollo_list_deals | List all deals/opportunities in Apollo CRM. |
apollo_get_deal | Get details of a specific deal by ID. |
apollo_list_deal_stages | List all available deal/opportunity stages in Apollo. |
apollo_create_task | Create tasks in Apollo for you and your team. Tasks track upcoming actions like emailing or calling a contact. REQUIRED: user_id (from apollo_list_users) and contact_ids (from apollo_search_contacts). If multiple contact_ids provided, individual tasks are created for each contact. |
apollo_search_tasks | Search for tasks your team has created in Apollo. Display limit: 50,000 records (100 per page, up to 500 pages). |
apollo_list_users | Retrieve IDs for all users (teammates) in your Apollo account. User IDs are used in apollo_create_deal, apollo_create_account, and apollo_create_task tools. |
apollo_enrich_person
Enrich a person record using Apollo’s data. Find detailed information about a person by email, name, or other identifiers. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
first_name | string | No | — | First name of the person. Typically used in combination with last_name |
last_name | string | No | — | Last name of the person. Typically used in combination with first_name |
name | string | No | — | Full name of the person. If provided, you do not need to use first_name and last_name |
email | string | No | — | Email address of the person to enrich |
hashed_email | string | No | — | SHA256 hashed email. Use either this OR email, not both |
organization_name | string | No | — | Name of the person’s employer. Can be current or previous employer |
domain | string | No | — | Domain name for the person’s employer (e.g., “microsoft.com”) |
apollo_person_id | string | No | — | Apollo ID for the person. Each person in Apollo database is assigned a unique ID |
linkedin_url | string | No | — | LinkedIn URL for the person (e.g., “https://www.linkedin.com/in/john-doe”) |
reveal_personal_emails | boolean | No | false | Set to true to enrich the person’s data with personal emails. Requires credits |
reveal_phone_number | boolean | No | false | Set to true to enrich the person’s data with phone numbers. Requires credits |
webhook_url | string | No | — | Required if reveal_phone_number is true. URL where Apollo sends the phone number response. Use UTF-8 encoding if needed |
apollo_enrich_organization
Enrich an organization/company record using Apollo’s data. Get detailed company information by domain. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
domain | string | Yes | — | Company domain to enrich (e.g., “apollo.io”) |
apollo_search_people
Search for people/contacts in Apollo’s database using various filters like job titles, company, location, etc. Does not return emails or phone numbers - use People Enrichment for that. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q_keywords | string | No | — | Keywords to filter the results |
person_titles | string[] | No | — | Job titles to filter by. Results include similar titles. Examples: “sales development representative”, “marketing manager” |
include_similar_titles | boolean | No | true | Whether to include people with similar job titles. Set to false for exact matches only |
person_seniorities | string[] | No | — | Seniority levels to filter by |
person_locations | string[] | No | — | Personal locations (cities, states, countries). Examples: “california”, “ireland”, “chicago” |
contact_email_status | string[] | No | — | Email statuses to filter by |
organization_ids | string[] | No | — | Apollo organization IDs to filter by |
q_organization_domains_list | string[] | No | — | Company domains to filter by. Up to 1,000 domains. Examples: “apollo.io”, “microsoft.com” |
organization_locations | string[] | No | — | Company HQ locations (cities, states, countries). Examples: “texas”, “tokyo”, “spain” |
organization_num_employees_ranges | string[] | No | — | Employee count ranges. Examples: “1,10”, “11,50”, “51,200”, “201,500”, “501,1000”, “1001,2000”, “2001,5000”, “5001,10000”, “10001+“ |
revenue_range_min | number | No | — | Minimum company revenue (no currency symbols or commas) |
revenue_range_max | number | No | — | Maximum company revenue (no currency symbols or commas) |
currently_using_any_of_technology_uids | string[] | No | — | Filter by companies using ANY of these technologies. Examples: “salesforce”, “google_analytics” |
currently_using_all_of_technology_uids | string[] | No | — | Filter by companies using ALL of these technologies. Examples: “salesforce”, “google_analytics” |
currently_not_using_any_of_technology_uids | string[] | No | — | Exclude companies using any of these technologies. Examples: “salesforce”, “google_analytics” |
q_organization_job_titles | string[] | No | — | Job titles from active job postings at the company. Examples: “sales manager”, “research analyst” |
organization_job_locations | string[] | No | — | Locations of job postings at the company. Examples: “atlanta”, “rome” |
organization_num_jobs_range_min | number | No | — | Minimum number of active job postings |
organization_num_jobs_range_max | number | No | — | Maximum number of active job postings |
organization_job_posted_at_range_min | string | No | — | Earliest job posting date (YYYY-MM-DD format) |
organization_job_posted_at_range_max | string | No | — | Latest job posting date (YYYY-MM-DD format) |
page | number | No | 1 | Page number for pagination |
per_page | number | No | 25 | Results per page (max 100) |
apollo_search_organizations
Search for organizations/companies in Apollo’s database using various filters. Consumes credits. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q_organization_domains_list | string[] | No | — | Company domains to search. Up to 1,000 domains. Do not include www. or @ symbol. Examples: “apollo.io”, “microsoft.com” |
organization_num_employees_ranges | string[] | No | — | Employee count ranges. Examples: “1,10”, “250,500”, “10000,20000” |
organization_locations | string[] | No | — | Company HQ locations (cities, states, countries). Examples: “texas”, “tokyo”, “spain” |
organization_not_locations | string[] | No | — | Locations to exclude from results. Examples: “minnesota”, “ireland”, “seoul” |
revenue_range_min | number | No | — | Minimum company revenue (no currency symbols or commas). Example: 300000 |
revenue_range_max | number | No | — | Maximum company revenue (no currency symbols or commas). Example: 50000000 |
currently_using_any_of_technology_uids | string[] | No | — | Filter by companies using any of these technologies. Use underscores for spaces. Examples: “salesforce”, “google_analytics”, “wordpress_org” |
q_organization_keyword_tags | string[] | No | — | Keywords associated with companies. Examples: “mining”, “sales strategy”, “consulting” |
q_organization_name | string | No | — | Company name to search. Partial matches accepted. Examples: “apollo”, “mining” |
organization_ids | string[] | No | — | Apollo organization IDs to filter by. Example: “5e66b6381e05b4008c8331b8” |
latest_funding_amount_range_min | number | No | — | Minimum amount from most recent funding round. Example: 5000000 |
latest_funding_amount_range_max | number | No | — | Maximum amount from most recent funding round. Example: 15000000 |
total_funding_range_min | number | No | — | Minimum total funding across all rounds. Example: 50000000 |
total_funding_range_max | number | No | — | Maximum total funding across all rounds. Example: 350000000 |
latest_funding_date_range_min | string | No | — | Earliest date of most recent funding (YYYY-MM-DD). Example: “2025-07-25” |
latest_funding_date_range_max | string | No | — | Latest date of most recent funding (YYYY-MM-DD). Example: “2025-09-25” |
q_organization_job_titles | string[] | No | — | Job titles in active postings. Examples: “sales manager”, “research analyst” |
organization_job_locations | string[] | No | — | Locations of job postings. Examples: “atlanta”, “japan” |
organization_num_jobs_range_min | number | No | — | Minimum number of active job postings. Examples: 50, 500 |
organization_num_jobs_range_max | number | No | — | Maximum number of active job postings. Examples: 50, 500 |
organization_job_posted_at_range_min | string | No | — | Earliest job posting date (YYYY-MM-DD). Example: “2025-07-25” |
organization_job_posted_at_range_max | string | No | — | Latest job posting date (YYYY-MM-DD). Example: “2025-09-25” |
page | number | No | 1 | Page number for pagination |
per_page | number | No | 25 | Results per page (max 100) |
apollo_get_organization_info
Get complete information about a specific organization by its Apollo ID. IMPORTANT: You MUST first call apollo_search_organizations to get an organization_id. This tool does NOT accept domain names - only organization_id from search results. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
organization_id | string | Yes | — | Apollo organization ID (required). To find IDs, call apollo_search_organizations and identify the organization_id value. Example: “5e66b6381e05b4008c8331b8” |
apollo_create_account
Create a new account in Apollo CRM. An account is a company your team has explicitly added. Apollo does not deduplicate - if entry has same name/domain as existing account, a new account is created. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | Human-readable account name. Example: “The Irish Copywriters” |
domain | string | No | — | Domain name for the account. Do not include www. Examples: “apollo.io”, “microsoft.com” |
owner_id | string | No | — | ID of the account owner within your Apollo account. Use apollo_list_users tool to retrieve IDs. Example: “66302798d03b9601c7934ebf” |
account_stage_id | string | No | — | Apollo ID for the account stage. Call apollo_list_account_stages to get IDs. If not specified, Apollo auto-assigns a stage. Example: “6095a710bd01d100a506d4b9” |
phone | string | No | — | Primary phone number. Can be HQ, branch, or direct dial. Any format accepted. Examples: “555-303-1234”, “+44 7911 123456” |
raw_address | string | No | — | Corporate location (city, state, country). Apollo matches to pre-defined locations. Examples: “Belfield, Dublin 4, Ireland”, “Dallas, United States” |
typed_custom_fields | object | No | — | Custom fields as key-value pairs. Keys are custom field IDs from Apollo API. Example: {“60c39ed82bd02f01154c470a”: “2025-08-07”} |
apollo_update_account
Update an existing account in Apollo CRM. To find account IDs, use apollo_search_accounts first. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
account_id | string | Yes | — | Apollo ID of the account to update. Use apollo_search_accounts to find IDs. Example: “66e9abf95ac32901b20d1a0d” |
name | string | No | — | Updated account name. Example: “The Fast Irish Copywriters” |
domain | string | No | — | Updated domain name. Do not include www. Examples: “apollo.io”, “microsoft.com” |
owner_id | string | No | — | Updated owner ID. Use apollo_list_users tool to retrieve IDs. Example: “66302798d03b9601c7934ebf” |
account_stage_id | string | No | — | Updated account stage ID. Call apollo_list_account_stages to get IDs. Example: “61b8e913e0f4d2012e3af74e” |
raw_address | string | No | — | Updated corporate location (city, state, country). Examples: “Belfield, Dublin 4, Ireland”, “Dallas, United States” |
phone | string | No | — | Updated phone number. Any format accepted. Examples: “555-303-1234”, “+44 7911 123456” |
typed_custom_fields | object | No | — | Custom fields as key-value pairs. Example: {“60c39ed82bd02f01154c470a”: “2025-08-07”} |
apollo_search_accounts
Search for accounts that have been added to your Apollo CRM. Only returns accounts in your database - use apollo_search_organizations to search the full Apollo database. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q_organization_name | string | No | — | Keywords to search account names. Must match part of name. Examples: “apollo”, “microsoft”, “marketing” |
account_stage_ids | string[] | No | — | Filter by account stage IDs. Call apollo_list_account_stages to get IDs. Example: “61b8e913e0f4d2012e3af74e” |
account_label_ids | string[] | No | — | Filter by label IDs. Example: [“6095a710bd01d100a506d4ae”] |
sort_by_field | string | No | — | Sort field for results |
sort_ascending | boolean | No | false | Set to true for ascending order. Must be used with sort_by_field |
page | number | No | 1 | Page number for pagination |
per_page | number | No | 25 | Results per page (max 100) |
apollo_get_account
Retrieve details for an existing account in your Apollo database. To find account IDs, use apollo_search_accounts first. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
account_id | string | Yes | — | Apollo ID of the account to retrieve. Use apollo_search_accounts to find IDs. Example: “6518c6184f20350001a0b9c0” |
apollo_list_account_stages
List all available account stages in Apollo.apollo_create_contact
Create a new contact in Apollo CRM. By default, Apollo does not deduplicate - set run_dedupe to true to enable. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
first_name | string | Yes | — | Contact first name. Example: “Tim” |
last_name | string | Yes | — | Contact last name. Example: “Zheng” |
organization_name | string | No | — | Contact’s employer company name. Example: “apollo” |
title | string | No | — | Job title. Example: “Software Engineer” |
account_id | string | No | — | Apollo account ID to link this contact to a CRM account. Use apollo_search_accounts or apollo_create_account to get account IDs. Example: “63f53afe4ceeca00016bdd2f” |
email | string | No | — | Email address. Example: “john.smith@example.com” |
website_url | string | No | — | Corporate website URL. Example: “https://www.apollo.io/“ |
label_names | string[] | No | — | Lists to which the contact belongs |
contact_stage_id | string | No | — | Apollo ID for the contact stage. Example: “6095a710bd01d100a506d4ae” |
owner_id | string | No | — | Contact owner ID. Use apollo_list_users tool to retrieve IDs. |
present_raw_address | string | No | — | Personal location for the contact. Example: “Atlanta, United States” |
direct_phone | string | No | — | Primary phone number. Example: “555-303-1234” |
corporate_phone | string | No | — | Work/office phone number. Example: “+44 7911 123456” |
mobile_phone | string | No | — | Mobile phone number. Example: “555-303-1234” |
home_phone | string | No | — | Home phone number. Example: “555-303-1234” |
other_phone | string | No | — | Alternative phone number. Example: “555-303-1234” |
typed_custom_fields | object | No | — | Custom fields object. Keys are custom field IDs from Apollo API. |
run_dedupe | boolean | No | false | Enable deduplication to prevent duplicate contacts. Default: false |
apollo_update_contact
Update an existing contact in Apollo CRM. To find contact IDs, use apollo_search_contacts first. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
contact_id | string | Yes | — | Apollo ID of the contact to update. Use apollo_search_contacts to find IDs. Example: “66e34b81740c50074e3d1bd4” |
first_name | string | No | — | Updated first name |
last_name | string | No | — | Updated last name |
email | string | No | — | Updated email address |
website_url | string | No | — | Updated employer website URL. Example: “https://www.apollo.io/“ |
title | string | No | — | Updated job title |
organization_name | string | No | — | Updated organization name |
owner_id | string | No | — | Updated owner ID |
contact_stage_id | string | No | — | Updated contact stage ID |
account_id | string | No | — | Updated account ID. Use apollo_search_accounts to find account IDs. |
present_raw_address | string | No | — | Updated present raw address |
direct_phone | string | No | — | Updated direct phone |
corporate_phone | string | No | — | Updated corporate phone |
mobile_phone | string | No | — | Updated mobile phone |
home_phone | string | No | — | Updated home phone |
other_phone | string | No | — | Updated other phone |
label_names | string[] | No | — | Updated label names |
typed_custom_fields | object | No | — | Updated custom fields |
apollo_search_contacts
Search for contacts in your Apollo CRM. This returns only contacts your team has added. Display limit: 50,000 records (100 per page, up to 500 pages). Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q_keywords | string | No | — | Keywords to search (names, job titles, employers, emails). Examples: “tim zheng”, “senior research analyst”, “microsoft” |
contact_stage_ids | string[] | No | — | Filter by contact stage IDs. Call apollo_list_contact_stages to get IDs. Example: [“6095a710bd01d100a506d4ae”] |
contact_label_ids | string[] | No | — | Filter by contact label IDs. Example: [“6095a710bd01d100a506d4ae”] |
owner_id | string | No | — | Filter by owner ID |
account_ids | string[] | No | — | Filter by account IDs |
sort_by_field | string | No | — | Field to sort results by |
sort_ascending | boolean | No | false | Sort order: true for ascending, false for descending |
page | number | No | 1 | Page number (max 500) |
per_page | number | No | 25 | Results per page (max 100). Example: 10 |
apollo_get_contact
Retrieve details for an existing contact in your Apollo database. Use apollo_search_contacts to find contact IDs. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
contact_id | string | Yes | — | Apollo ID of the contact to retrieve. Use apollo_search_contacts to find IDs. Example: “66e34b81740c50074e3d1bd4” |
apollo_list_contact_stages
List all available contact stages in Apollo.apollo_create_deal
Create new deals/opportunities in Apollo. Deals track account activity including monetary values, owners, and stages. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
name | string | Yes | — | Human-readable deal name. Example: “Massive Q3 Deal” |
owner_id | string | No | — | Deal owner ID. Use apollo_list_users to get IDs. Example: “66302798d03b9601c7934ebf” |
account_id | string | No | — | Apollo account ID (CRM account, not organization_id). Use apollo_search_accounts or apollo_create_account to get account IDs. Example: “63f53afe4ceeca00016bdd2f” |
amount | string | No | — | Monetary value (no commas or currency symbols). Currency from account settings. Example: “55123478” results in $55,123,478 |
opportunity_stage_id | string | No | — | Deal stage ID. Use apollo_list_deal_stages to get IDs. Example: “6095a710bd01d100a506d4bd” |
closed_date | string | No | — | Estimated close date (YYYY-MM-DD). Example: “2025-10-30” |
typed_custom_fields | object | No | — | Custom fields object. Keys are custom field IDs from Apollo API. |
apollo_update_deal
Update an existing deal/opportunity in Apollo CRM. To find deal IDs, use apollo_list_deals first. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
opportunity_id | string | Yes | — | Apollo ID of the deal to update. Use apollo_list_deals to find IDs. Example: “66e09ea8e3cfcf01b2208ec7” |
name | string | No | — | Updated deal name |
owner_id | string | No | — | Updated owner ID |
account_id | string | No | — | Updated account ID. Use apollo_search_accounts to find account IDs. |
amount | string | No | — | Updated monetary value (no commas or currency symbols) |
opportunity_stage_id | string | No | — | Updated deal stage ID |
closed_date | string | No | — | Updated expected close date (YYYY-MM-DD) |
typed_custom_fields | object | No | — | Updated custom fields |
apollo_list_deals
List all deals/opportunities in Apollo CRM. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
sort_by_field | string | No | — | Sort by field: amount (largest first), is_closed (closed first), is_won (won first) |
page | number | No | — | Page number. Example: 4 |
per_page | number | No | — | Results per page. Example: 10 |
apollo_get_deal
Get details of a specific deal by ID. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
opportunity_id | string | Yes | — | ID of the deal to retrieve. Use apollo_list_deals to find IDs. Example: “66e09ea8e3cfcf01b2208ec7” |
apollo_list_deal_stages
List all available deal/opportunity stages in Apollo.apollo_create_task
Create tasks in Apollo for you and your team. Tasks track upcoming actions like emailing or calling a contact. REQUIRED: user_id (from apollo_list_users) and contact_ids (from apollo_search_contacts). If multiple contact_ids provided, individual tasks are created for each contact. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
user_id | string | Yes | — | ID of the task owner who will take action. Use apollo_list_users to get IDs. Example: “66302798d03b9601c7934ebf” |
contact_ids | string[] | Yes | — | Contact IDs for the task recipients. Use apollo_search_contacts to find IDs. Example: [“66e34b81740c50074e3d1bd4”] |
priority | string | Yes | — | Task priority. Example: “medium” |
due_at | string | Yes | — | Due date/time in ISO 8601 format. Use UTC/GMT timezone (Z suffix) or specify timezone offset. Examples: “2025-02-15T08:10:30Z” (UTC), “2025-03-25T10:15:30+05:00” (UTC+5). For future dates, use “scheduled” status. |
type | string | Yes | — | Task type. Use “action_item” for generic tasks (include note for context). |
status | string | Yes | — | Task status. Use “scheduled” for future tasks. Example: “scheduled” |
note | string | No | — | Task description. Recommended to provide context for the task owner. Example: “This contact expressed interest in the Sequences feature specifically. Be prepared to discuss.” |
apollo_search_tasks
Search for tasks your team has created in Apollo. Display limit: 50,000 records (100 per page, up to 500 pages). Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q_keywords | string | No | — | Search keywords |
status | string | No | — | Task status filter |
priority | string | No | — | Priority filter |
type | string | No | — | Task type filter |
user_id | string | No | — | Filter by assigned user ID |
sort_by_field | string | No | — | Sort field. task_due_at: most future-dated first. task_priority: highest priority first. |
open_factor_names | string[] | No | — | Enter “task_types” to return count of tasks by task type in faceting.task_types |
page | number | No | 1 | Page number (max 500). Example: 4 |
per_page | number | No | 25 | Results per page (max 100). Example: 10 |
apollo_list_users
Retrieve IDs for all users (teammates) in your Apollo account. User IDs are used in apollo_create_deal, apollo_create_account, and apollo_create_task tools. Parameters:| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
page | number | No | 1 | Page number. Example: 4 |
per_page | number | No | 25 | Results per page. Example: 10 |

