Apollo MCP connector
OAuth 2.1/DCRCRM & SalesMarketingConnect to Apollo MCP to search B2B contacts, enrich people and organizations, manage CRM records, and enroll prospects in sequences.
Apollo MCP connector
-
Install the SDK
Section titled “Install the SDK”Terminal window npm install @scalekit-sdk/nodeTerminal window pip install scalekit -
Set your credentials
Section titled “Set your credentials”Add your Scalekit credentials to your
.envfile. Find values in app.scalekit.com > Developers > API Credentials..env SCALEKIT_ENVIRONMENT_URL=<your-environment-url>SCALEKIT_CLIENT_ID=<your-client-id>SCALEKIT_CLIENT_SECRET=<your-client-secret> -
Authorize and make your first call
Section titled “Authorize and make your first call”quickstart.ts import { ScalekitClient } from '@scalekit-sdk/node'import 'dotenv/config'const scalekit = new ScalekitClient(process.env.SCALEKIT_ENV_URL,process.env.SCALEKIT_CLIENT_ID,process.env.SCALEKIT_CLIENT_SECRET,)const actions = scalekit.actionsconst connector = 'apollomcp'const identifier = 'user_123'// Generate an authorization link for the userconst { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })console.log('Authorize Apollo MCP:', link)process.stdout.write('Press Enter after authorizing...')await new Promise(r => process.stdin.once('data', r))// Make your first callconst result = await actions.executeTool({connector,identifier,toolName: 'apollomcp_apollo_contacts_search',toolInput: {},})console.log(result)quickstart.py import osfrom scalekit.client import ScalekitClientfrom dotenv import load_dotenvload_dotenv()scalekit_client = ScalekitClient(env_url=os.getenv("SCALEKIT_ENV_URL"),client_id=os.getenv("SCALEKIT_CLIENT_ID"),client_secret=os.getenv("SCALEKIT_CLIENT_SECRET"),)actions = scalekit_client.actionsconnection_name = "apollomcp"identifier = "user_123"# Generate an authorization link for the userlink_response = actions.get_authorization_link(connection_name=connection_name,identifier=identifier,)print("Authorize Apollo MCP:", link_response.link)input("Press Enter after authorizing...")# Make your first callresult = actions.execute_tool(tool_input={},tool_name="apollomcp_apollo_contacts_search",connection_name=connection_name,identifier=identifier,)print(result)
What you can do
Section titled “What you can do”Connect this agent connector to let your agent:
- Profile apollo users api — Use the Profile endpoint to get the user’s profile information (name, email, title, id)
- Stats apollo usage — Retrieve credit usage stats for the authenticated team — credits used, remaining, and reset windows for enrichment/people-search/email-reveal credits
- Update apollo tasks, apollo sequences, apollo contacts — Edit an existing task in place — change its title, note, priority, due date, assignee, or the message body (subject / body_text) for email and LinkedIn-step tasks
- Skip apollo tasks — Skip a single task without performing it
- Show apollo tasks — Fetch the full detail of a single task by ID, including the action to perform (e.g
- Search apollo tasks, apollo mixed people api, apollo mixed companies — Search the tasks in your team’s Apollo account
Tool list
Section titled “Tool list”Use the exact tool names from the Tool list below when you call execute_tool. If you’re not sure which name to use, list the tools available for the current user first.
apollomcp_apollo_accounts_bulk_create#Create multiple accounts (companies) in a single call by passing an array of account objects. No deduplication is applied — each object becomes a new record even if it matches an existing account by name or domain; review the array carefully before submitting.3 params
Create multiple accounts (companies) in a single call by passing an array of account objects. No deduplication is applied — each object becomes a new record even if it matches an existing account by name or domain; review the array carefully before submitting.
accountsarrayrequiredArray of account objects to create. Each object accepts the same fields as the single Create Account endpoint: name, domain, phone, raw_address, typed_custom_fields._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_accounts_create#Add a new account (company) to your team's Apollo database. Apollo does not deduplicate on create — if a matching account already exists by name or domain, a new record is created; use the Update Account tool to modify existing accounts.7 params
Add a new account (company) to your team's Apollo database. Apollo does not deduplicate on create — if a matching account already exists by name or domain, a new record is created; use the Update Account tool to modify existing accounts.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.domainstringoptionalThe website domain of the account (no scheme). Example: apollo.ionamestringoptionalThe name of the account (company). Example: ApollophonestringoptionalThe phone number for the account. Example: 555-303-1234raw_addressstringoptionalThe address of the account. Example: 535 Mission St, Suite 1100, San Francisco, CA 94105typed_custom_fieldsobjectoptionalCustom field values keyed by custom field ID. Call the List Custom Fields tool (apollo_fields_index) first to get field IDs and allowed values for account-modality fields.apollomcp_apollo_accounts_update#Update an existing account (company) in your team's Apollo database. Requires the Apollo account ID; use Create Account to add new accounts that do not yet exist.8 params
Update an existing account (company) in your team's Apollo database. Requires the Apollo account ID; use Create Account to add new accounts that do not yet exist.
idstringrequiredThe Apollo ID for the account that you want to update. Example: 63f53afe4ceeca00016bdd2f_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.domainstringoptionalUpdate the domain. Example: apollo.ionamestringoptionalUpdate the account name. Example: ApollophonestringoptionalUpdate the phone number. Example: 555-303-1234raw_addressstringoptionalUpdate the address. Example: 535 Mission St, Suite 1100, San Francisco, CA 94105typed_custom_fieldsobjectoptionalCustom field values keyed by custom field ID. Call the List Custom Fields tool (apollo_fields_index) first to get field IDs and allowed values for account-modality fields.apollomcp_apollo_analytics_sync_report#Query Apollo's sales analytics data with flexible filtering, grouping, and aggregation across emails, calls, meetings, tasks, opportunities, and conversation intelligence. Supports 55+ dimensions for time-series, user, and cross-tab breakdowns.8 params
Query Apollo's sales analytics data with flexible filtering, grouping, and aggregation across emails, calls, meetings, tasks, opportunities, and conversation intelligence. Supports 55+ dimensions for time-series, user, and cross-tab breakdowns.
metricsarrayrequiredSelect 1-15 metrics to report on. Categories include Email, Phone Calls, Meetings, Tasks, Contacts/Accounts, Opportunities, Sequences, Conversation Intelligence, and LinkedIn._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.date_rangeobjectoptionalTime period for the report. Use a preset modality OR range_start + range_end, not both.filtersobjectoptionalOptional filters to narrow down data. All filters are AND-ed together.group_byarrayoptionalPrimary breakdown dimension (max 1). For time series use smart_datetime_* values; for user analysis use smart_user_id.pivot_group_byarrayoptionalOptional second dimension for cross-tab or pivot table analysis. Requires group_by to also be set. Use low-cardinality dimensions for best results.sortobjectoptionalSort grouped results by a metric value. Only applies when group_by is set.apollomcp_apollo_contacts_bulk_create#Create multiple contacts in a single call by passing an array of contact objects. Apollo automatically deduplicates — any object matching an existing contact by email or other details updates that record instead of creating a new one.3 params
Create multiple contacts in a single call by passing an array of contact objects. Apollo automatically deduplicates — any object matching an existing contact by email or other details updates that record instead of creating a new one.
contactsarrayrequiredArray of contact objects to create. Each object accepts the same fields as the single Create Contact endpoint._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_contacts_create#Create a new contact in your team's Apollo account. Apollo automatically prevents duplicates — if a matching contact is found by email or other details, that existing contact is updated instead of creating a new one.17 params
Create a new contact in your team's Apollo account. Apollo automatically prevents duplicates — if a matching contact is found by email or other details, that existing contact is updated instead of creating a new one.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.account_idstringoptionalThe Apollo ID for the account this contact belongs to. Example: 63f53afe4ceeca00016bdd2fcorporate_phonestringoptionalThe work/office phone number. Example: +44 7911 123456direct_phonestringoptionalThe primary phone number. Example: 555-303-1234emailstringoptionalThe email address of the contact. Example: example@email.comfirst_namestringoptionalThe first name of the contact. Example: Timhome_phonestringoptionalThe home phone number. Example: 555-303-1234label_namesarrayoptionalLists to which the contact belongs.last_namestringoptionalThe last name of the contact. Example: Zhengmobile_phonestringoptionalThe mobile phone number. Example: 555-303-1234organization_namestringoptionalThe name of the contact's employer (company). Example: apolloother_phonestringoptionalAlternative phone number. Example: 555-303-1234present_raw_addressstringoptionalThe personal location for the contact. Example: Atlanta, United StatestitlestringoptionalThe current job title that the contact holds. Example: senior research analysttyped_custom_fieldsobjectoptionalCustom field values keyed by custom field ID. Call the List Custom Fields tool (apollo_fields_index) first to get field IDs and allowed values for contact-modality fields.website_urlstringoptionalThe corporate website URL. Example: https://www.apollo.io/apollomcp_apollo_contacts_search#Search for contacts that have been added to your team's Apollo account. Returns enriched contact records matching the given keywords and filters.7 params
Search for contacts that have been added to your team's Apollo account. Returns enriched contact records matching the given keywords and filters.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.pageintegeroptionalThe page number of results to retrieve; use with per_page for pagination.per_pageintegeroptionalThe number of contacts to return per page; limiting results improves performance.q_keywordsstringoptionalKeywords to narrow the search, such as name, job title, employer, or email address.sort_ascendingbooleanoptionalSet to true to sort results in ascending order; must be used together with sort_by_field.sort_by_fieldstringoptionalField to sort matching contacts by; valid values are contact_last_activity_date, contact_email_last_opened_at, contact_email_last_clicked_at, contact_created_at, contact_updated_at.apollomcp_apollo_contacts_update#Update an existing contact in your team's Apollo account. Requires the Apollo contact ID; use Search Contacts to find the ID, and Create Contact to add new contacts.18 params
Update an existing contact in your team's Apollo account. Requires the Apollo contact ID; use Search Contacts to find the ID, and Create Contact to add new contacts.
idstringrequiredThe Apollo ID for the contact that you want to update. To find contact IDs, call the Search for Contacts endpoint. Example: 66e34b81740c50074e3d1bd4_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.account_idstringoptionalUpdate the account ID. Example: 63f53afe4ceeca00016bdd2fcorporate_phonestringoptionalWork/office phone.direct_phonestringoptionalPrimary phone.emailstringoptionalUpdate the contact email. Example: example@email.comfirst_namestringoptionalUpdate the contact's first name. Example: Timhome_phonestringoptionalHome phone.label_namesarrayoptionalReplace lists this contact belongs to. Passing new values will overwrite existing lists.last_namestringoptionalUpdate the contact's last name. Example: Zhengmobile_phonestringoptionalMobile phone.organization_namestringoptionalUpdate the employer (company) name. Example: apolloother_phonestringoptionalAlternate phone.present_raw_addressstringoptionalUpdate location (city/state/country). Example: Atlanta, United StatestitlestringoptionalUpdate the job title. Example: senior research analysttyped_custom_fieldsobjectoptionalCustom field values keyed by custom field ID. Call the List Custom Fields tool (apollo_fields_index) first to get field IDs and allowed values for contact-modality fields.website_urlstringoptionalUpdate the employer website URL. Example: https://www.apollo.io/apollomcp_apollo_email_accounts_index#Retrieve all linked email inboxes (mailboxes) for your team's Apollo account. Always call this before adding contacts to a sequence to get valid sender email account IDs — never guess or fabricate them.2 params
Retrieve all linked email inboxes (mailboxes) for your team's Apollo account. Always call this before adding contacts to a sequence to get valid sender email account IDs — never guess or fabricate them.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_emailer_campaigns_add_contact_ids#Add contacts to existing sequences in your team's Apollo account. This action sends real emails from a real person's mailbox and is irreversible once emails are dispatched. Before calling, confirm the sequence ID, email account ID, and get explicit user approval.14 params
Add contacts to existing sequences in your team's Apollo account. This action sends real emails from a real person's mailbox and is irreversible once emails are dispatched. Before calling, confirm the sequence ID, email account ID, and get explicit user approval.
emailer_campaign_idstringrequiredThe same ID as the id field above. Must be the exact id value returned by apollo_emailer_campaigns_search in this session.idstringrequiredThe Apollo ID for the sequence to which you want to add contacts. Must be the exact id value returned by apollo_emailer_campaigns_search in this session.send_email_from_email_account_idstringrequiredThe Apollo ID(s) for the email account(s) used to send to contacts. Accepts one id as a string, or multiple ids as an array of strings. To find ids, call the Get a List of Email Accounts endpoint._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.auto_unpause_atstringoptionalDateTime when paused contacts should be automatically unpaused. Must be used with status=paused. Format: ISO 8601 datetime string.contact_idsarrayoptionalThe Apollo IDs for the contacts to add to the sequence. Every ID must be a real 24-character hex string returned by a tool call in this session. Either contact_ids or label_names must be provided.contacts_without_ownership_permissionbooleanoptionalSet to true if you want to add contacts even if you don't have ownership permission for them. Defaults to false.label_namesarrayoptionalAlternative to contact_ids. Array of label names to identify contacts to add to the sequence. Either contact_ids or label_names must be provided.send_email_from_email_addressstringoptionalOptional specific email address to send from within the email account.sequence_active_in_other_campaignsbooleanoptionalSet to true if you want to add contacts to the sequence even if they have been added to other sequences. Defaults to false.sequence_no_emailbooleanoptionalSet to true if you want to add contacts to the sequence even if they do not have an email address. Defaults to false.sequence_unverified_emailbooleanoptionalSet to true if you want to add contacts to the sequence if they have an unverified email address. Defaults to false.statusstringoptionalInitial status for added contacts. When set to paused along with auto_unpause_at, enables scheduled addition of contacts. Valid values: active, paused.apollomcp_apollo_emailer_campaigns_approve#Activate (turn on) an existing sequence so that contacts enrolled in it begin receiving emails and tasks. This flips active=false to active=true. Once active, Apollo will start sending emails from the user's mailbox. Get explicit user confirmation before calling.3 params
Activate (turn on) an existing sequence so that contacts enrolled in it begin receiving emails and tasks. This flips active=false to active=true. Once active, Apollo will start sending emails from the user's mailbox. Get explicit user confirmation before calling.
idstringrequiredThe Apollo ID of the sequence to activate. Must be the exact id value returned by apollo_emailer_campaigns_search or apollo_sequences_create in this session. Never use an ID from memory or prior sessions._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_emailer_campaigns_remove_or_stop_contact_ids#Remove or stop contacts from one or more existing sequences in your Apollo account. Use mode=remove to fully remove contacts, or mode=stop to stop them while retaining sequence history.6 params
Remove or stop contacts from one or more existing sequences in your Apollo account. Use mode=remove to fully remove contacts, or mode=stop to stop them while retaining sequence history.
contact_idsarrayrequiredThe Apollo IDs for the contacts that you want to remove from the sequences. To find contact IDs, call the Search for Contacts endpoint.emailer_campaign_idsarrayrequiredThe Apollo IDs for the sequences that you want to remove the contacts from. To find sequence IDs, call the Search for Sequences endpoint.modestringrequiredThe mode for the removal or stopping of the contacts. Valid values: remove, stop. Defaults to remove._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.stop_reasonstringoptionalThe reason for stopping or removing the contacts. Only used if the mode is stop.apollomcp_apollo_emailer_campaigns_search#Search for sequences (email campaigns) in your team's Apollo account by name. Call this before adding contacts to a sequence to retrieve the correct sequence ID — if multiple sequences match, present all results to the user for confirmation.5 params
Search for sequences (email campaigns) in your team's Apollo account by name. Call this before adding contacts to a sequence to retrieve the correct sequence ID — if multiple sequences match, present all results to the user for confirmation.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.pagestringoptionalThe page number of results to retrieve. Use with per_page for pagination. Example: 4per_pagestringoptionalThe number of results to return per page. Limiting results improves performance. Example: 10q_namestringoptionalKeywords to search sequence names. Only searches sequence names, not other fields. Example: marketing conference attendeesapollomcp_apollo_emailer_schedules_index#List all sending schedules available in the user's team. A schedule defines the time windows (days of week, hours of day, time zone) during which Apollo will send emails for a sequence. Use this when the user wants to pick a non-default schedule for a new sequence.2 params
List all sending schedules available in the user's team. A schedule defines the time windows (days of week, hours of day, time zone) during which Apollo will send emails for a sequence. Use this when the user wants to pick a non-default schedule for a new sequence.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_feedback_log#Report when a previous Apollo tool returned an unexpected, empty, or unhelpful result. Include the name of the tool that failed and a clear description of what went wrong. Do not call this for successful tool results or expected empty states.4 params
Report when a previous Apollo tool returned an unexpected, empty, or unhelpful result. Include the name of the tool that failed and a clear description of what went wrong. Do not call this for successful tool results or expected empty states.
client_namestringrequiredYour name as the MCP client calling this tool (e.g. claude, chatgpt, cursor). This helps identify which AI assistant generated the feedback.messagestringrequiredA clear description of what you attempted, what tool you called, and what went wrong or was unexpected. Include the result you received and what you expected instead._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_mixed_companies_search#Search for companies in the Apollo database using the Organization Search endpoint. Several filters are available to narrow your search. Credit cost: 1 credit per request that returns at least one result. Must confirm with user before calling.13 params
Search for companies in the Apollo database using the Organization Search endpoint. Several filters are available to narrow your search. Credit cost: 1 credit per request that returns at least one result. Must confirm with user before calling.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.currently_using_any_of_technology_uidsarrayoptionalFind organizations based on the technologies they currently use.organization_founded_year_rangeobjectoptionalFilter organizations by the year they were founded.organization_idsarrayoptionalAn array of Apollo organization IDs to look up.organization_locationsarrayoptionalAn array of strings of organization HQ locations to filter by.organization_num_employees_rangesarrayoptionalAn array of intervals to include organizations of this employee size.pageintegeroptionalThe page number. Use with per_page for pagination.per_pageintegeroptionalThe number of results per page. Default is 10. Max is 100.q_organization_domains_listarrayoptionalAn array of domains to filter by.q_organization_keyword_tagsarrayoptionalAn array of organization keyword tags to filter by.q_organization_namestringoptionalThe name of the organization to search for.revenue_rangeobjectoptionalSearch for organizations based on their revenue. Set min and max to define a revenue range.apollomcp_apollo_mixed_people_api_search#Search for people in the Apollo database using the People API Search endpoint. Primarily designed for prospecting net new people. Does not return email addresses or phone numbers — use People Enrichment to retrieve those.14 params
Search for people in the Apollo database using the People API Search endpoint. Primarily designed for prospecting net new people. Does not return email addresses or phone numbers — use People Enrichment to retrieve those.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.currently_using_any_of_technology_uidsarrayoptionalFind people based on any of the technologies their current employer uses.organization_idsarrayoptionalAn array of Apollo organization IDs to include in search results.organization_locationsarrayoptionalAn array of strings of organization locations to filter by.organization_num_employees_rangesarrayoptionalAn array of intervals to include people belonging to companies of this employee size.pageintegeroptionalThe page number. Use with per_page for pagination.per_pageintegeroptionalThe number of results per page. Default is 10. Max is 100.person_linkedin_urlsarrayoptionalFind people by their LinkedIn profile URL.person_locationsarrayoptionalAn array of strings of person locations to filter by.person_senioritiesarrayoptionalAn array of seniority levels to filter by.person_titlesarrayoptionalAn array of job titles to filter by.q_keywordsstringoptionalKeywords to narrow the search. Can include combinations of names, job titles, employers, and email addresses.q_organization_domains_listarrayoptionalAn array of organization domains to filter by.apollomcp_apollo_organizations_bulk_enrich#Enrich data for up to 10 companies in a single API call using the Bulk Organization Enrichment endpoint. Enriched data includes industry information, revenue, employee counts, funding round details, and corporate phone numbers. Credit cost: 1 credit per matched company.3 params
Enrich data for up to 10 companies in a single API call using the Bulk Organization Enrichment endpoint. Enriched data includes industry information, revenue, employee counts, funding round details, and corporate phone numbers. Credit cost: 1 credit per matched company.
domainsarrayrequiredAn array of company domains to enrich. Maximum 10 domains per request._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_organizations_enrich#Enrich data for 1 company using the Organization Enrichment endpoint. Enriched data includes industry information, revenue, employee counts, funding round details, and corporate phone numbers and locations. Credit cost: 1 credit if found, 0 credits if not found.3 params
Enrich data for 1 company using the Organization Enrichment endpoint. Enriched data includes industry information, revenue, employee counts, funding round details, and corporate phone numbers and locations. Credit cost: 1 credit if found, 0 credits if not found.
domainstringrequiredThe domain of the organization you want to enrich._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_organizations_job_postings#Retrieve the current job postings for a company using the Organization Job Postings endpoint. Helps identify companies growing headcount in strategic areas. Credit cost: 1 credit per request. Must confirm with user before calling.5 params
Retrieve the current job postings for a company using the Organization Job Postings endpoint. Helps identify companies growing headcount in strategic areas. Credit cost: 1 credit per request. Must confirm with user before calling.
idstringrequiredThe Apollo ID for the organization whose job postings you want to retrieve. To find organization IDs, call the Organization Search endpoint._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.pageintegeroptionalThe page number for pagination. Default is 1.per_pageintegeroptionalThe number of results per page. Default and maximum is 10000.apollomcp_apollo_people_bulk_match#Enrich data for up to 10 people in a single call. Pass an array of person objects under details. Each object accepts identifying fields such as first name, last name, email, organization name, domain, or LinkedIn URL. Costs 1 credit per matched person; 0 credits for unmatched entries.4 params
Enrich data for up to 10 people in a single call. Pass an array of person objects under details. Each object accepts identifying fields such as first name, last name, email, organization name, domain, or LinkedIn URL. Costs 1 credit per matched person; 0 credits for unmatched entries.
detailsarrayrequiredAn array of objects, each representing a person to enrich. Maximum 10 people per request._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.reveal_personal_emailsbooleanoptionalSet to true to return personal email addresses. Default is false.apollomcp_apollo_people_match#Enrich data for a single person in the Apollo database. Provide identifying details such as name, email, domain, or LinkedIn URL to find a match. Returns enriched profile data including job title, employer, and contact details. Costs 1 credit per matched person; 0 credits if not found.12 params
Enrich data for a single person in the Apollo database. Provide identifying details such as name, email, domain, or LinkedIn URL to find a match. Returns enriched profile data including job title, employer, and contact details. Costs 1 credit per matched person; 0 credits if not found.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.domainstringoptionalThe domain of the person's employer. Example: apollo.ioemailstringoptionalThe email address of the person. Example: tim@apollo.iofirst_namestringoptionalThe first name of the person. Example: Timhashed_emailstringoptionalThe MD5 or SHA-256 hashed email address of the person. Use this if you do not want to send the plain-text email.idstringoptionalThe Apollo ID for the person. Each person in the Apollo database is assigned a unique ID. To find IDs, call the People API Search endpoint and identify the values for person_id. Example: 587cf802f65125cad923a266last_namestringoptionalThe last name of the person. Example: Zhenglinkedin_urlstringoptionalThe LinkedIn profile URL of the person. Example: https://www.linkedin.com/in/timzhengnamestringoptionalThe full name of the person. Use this as an alternative to providing first_name and last_name separately. Example: Tim Zhengorganization_namestringoptionalThe name of the person's employer (company). Example: Apolloreveal_personal_emailsbooleanoptionalSet to true to return personal email addresses for the person. Default is false.apollomcp_apollo_sequences_create#Create a new multi-step outreach sequence in the user's Apollo workspace. A sequence has a name, an optional sending schedule, and an ordered list of steps. Each step can be an auto email, manual email, call, action item, or LinkedIn step. Sequences are created inactive by default and must be explicitly activated.9 params
Create a new multi-step outreach sequence in the user's Apollo workspace. A sequence has a name, an optional sending schedule, and an ordered list of steps. Each step can be an auto email, manual email, call, action item, or LinkedIn step. Sequences are created inactive by default and must be explicitly activated.
emailer_stepsarrayrequiredOrdered list of steps. Position is assigned automatically in array order (first item is step 1).namestringrequiredHuman-readable sequence name shown in Apollo. Should be specific to the audience and goal._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.activebooleanoptionalIf true, sequence becomes active on creation; contacts added to it will start receiving emails. Strongly recommended to leave false and activate later via apollo_emailer_campaigns_approve only after the user reviews sender, schedule, and message bodies.emailer_schedule_idstringoptionalApollo ID of the EmailerSchedule that controls send-time windows. Must be the exact id value returned by apollo_emailer_schedules_index in this session. Omit to use the user's default schedule.label_namesarrayoptionalOptional label names to apply to the sequence.permissionsstringoptionalWho in the team can use/view this sequence. Defaults to team_can_use.sequence_by_exact_daytimebooleanoptionalIf true, each step has a fixed exact_datetime. If false (default), each step uses wait_time + wait_mode relative to enrollment.apollomcp_apollo_sequences_update#Update an existing sequence's metadata, steps, touches, and templates in a single call. Uses declarative diff semantics: the emailer_steps array you send is the full intended state after the update. Steps with an id are updated, steps without an id are created, and existing steps not included in the payload are deleted.10 params
Update an existing sequence's metadata, steps, touches, and templates in a single call. Uses declarative diff semantics: the emailer_steps array you send is the full intended state after the update. Steps with an id are updated, steps without an id are created, and existing steps not included in the payload are deleted.
activebooleanrequiredREQUIRED. Always pass the sequence's current active state (true/false). If you are not intentionally changing it, mirror the value from the create or search response. Activating sends real emails — get explicit user confirmation before passing true.emailer_stepsarrayrequiredFULL list of steps the sequence should have AFTER this update. Steps with id are updated, steps without id are created, existing steps not in this list are deleted. position is required on every step and must reflow as 1..N.idstringrequiredApollo ID of the sequence to update. Must be the exact id value returned by apollo_emailer_campaigns_search or apollo_sequences_create in this session. Never use an ID from memory, prior sessions, or assumptions._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.emailer_schedule_idstringoptionalNew sending schedule. Must be the exact id value returned by apollo_emailer_schedules_index in this session. Omit to leave unchanged.label_namesarrayoptionalReplace the label set on the sequence.namestringoptionalNew name for the sequence. Omit to leave unchanged.permissionsstringoptionalNew sharing permission. Omit to leave unchanged.sequence_by_exact_daytimebooleanoptionalSwitch between interval-based and exact-datetime modes. Omit to leave unchanged.apollomcp_apollo_tasks_bulk_create#Create many tasks in a single call. Pass an array of task attribute objects under tasks_attributes. Each object requires user_id, type, and at least one of contact_id, account_id, or opportunity_id. No deduplication is applied.3 params
Create many tasks in a single call. Pass an array of task attribute objects under tasks_attributes. Each object requires user_id, type, and at least one of contact_id, account_id, or opportunity_id. No deduplication is applied.
tasks_attributesarrayrequiredArray of task objects to create. Each object accepts the same fields as the single Create Task endpoint._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_tasks_complete#Mark a single task as completed. For a task that belongs to a sequence, completing it advances the contact to the next step of that sequence. Complete a task only after the real-world action it describes (sending the LinkedIn message, placing the call, etc.) has actually been performed.4 params
Mark a single task as completed. For a task that belongs to a sequence, completing it advances the contact to the next step of that sequence. Complete a task only after the real-world action it describes (sending the LinkedIn message, placing the call, etc.) has actually been performed.
idstringrequiredApollo ID of the task to complete. Use an ID returned by Search Tasks or Get Task._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.notestringoptionalOptional note to record on completion — e.g. the call outcome.apollomcp_apollo_tasks_create#Create a single task in Apollo. A task is an action item (call, email, LinkedIn step, or generic action_item) assigned to a user and tied to a contact, account, or opportunity. Requires user_id and type, plus at least one of contact_id, account_id, or opportunity_id.14 params
Create a single task in Apollo. A task is an action item (call, email, LinkedIn step, or generic action_item) assigned to a user and tied to a contact, account, or opportunity. Requires user_id and type, plus at least one of contact_id, account_id, or opportunity_id.
typestringrequiredThe kind of task — e.g. action_item, call, linkedin_step_message.user_idstringrequiredApollo user ID of the person who will own/perform the task._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.account_idstringoptionalApollo ID of the account this task is associated with. Must be the exact id value returned by a tool call in this session. Never use placeholders, template strings, or IDs from memory or prior sessions.contact_idstringoptionalApollo ID of the contact this task is associated with. Must be the exact id value returned by a tool call in this session. Never use placeholders, template strings, or IDs from memory or prior sessions.creator_idstringoptionalApollo user ID of the person creating the task. Defaults to the authenticated user.due_atstringoptionalISO 8601 timestamp for when the task is due. Example: 2026-04-30T17:00:00ZnotestringoptionalFree-form note/body for the task.opportunity_idstringoptionalApollo ID of the deal this task is associated with. Must be the exact id value returned by a tool call in this session. Never use placeholders, template strings, or IDs from memory or prior sessions.prioritystringoptionalPriority — one of low, medium, high.standalone_outreach_task_messageobjectoptionalMessage content for email / LinkedIn-step tasks. Set subject and/or body_text to populate the message the task asks the user to send.statusstringoptionalInitial status — e.g. scheduled, completed.titlestringoptionalShort title shown in the task list.apollomcp_apollo_tasks_search#Search the tasks in your team's Apollo account. Returns a paginated list of tasks matching the supplied filters. All filters AND together; omit a filter to ignore it. With no task_status filter this returns only scheduled (open) tasks.15 params
Search the tasks in your team's Apollo account. Returns a paginated list of tasks matching the supplied filters. All filters AND together; omit a filter to ignore it. With no task_status filter this returns only scheduled (open) tasks.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.account_idstringoptionalFilter to tasks tied to this account. Must be the exact id value returned by a tool call in this session.contact_idstringoptionalFilter to tasks tied to this contact. Must be the exact id value returned by a tool call in this session.emailer_campaign_idstringoptionalFilter to tasks belonging to this sequence (emailer campaign). Use this to list the tasks that must be worked to progress a specific sequence.opportunity_idstringoptionalFilter to tasks tied to this deal. Must be the exact id value returned by a tool call in this session.pageintegeroptionalPage number to retrieve (1-indexed). Used with per_page.per_pageintegeroptionalNumber of results per page. Example: 25prioritystringoptionalFilter by priority — one of low, medium, high.q_keywordsstringoptionalFree-text search across task title and note.sort_ascendingbooleanoptionalSort ascending when true. Defaults to false (descending). Used with sort_by_field.sort_by_fieldstringoptionalField to sort by. Use the exact field name: task_due_at, task_created_at, task_updated_at, task_priority, or task_status.task_statusstringoptionalFilter by status — one of scheduled, completed, skipped. Omit to return only scheduled (open) tasks.task_type_cdsarrayoptionalFilter to only these task types. Pass one or more of: outreach_manual_email, phone_call, action_item, linkedin_step_connect, linkedin_step_message, linkedin_step_view_profile, linkedin_step_interact_post.user_idstringoptionalFilter to tasks owned by this user.apollomcp_apollo_tasks_show#Fetch the full detail of a single task by ID, including the action to perform (e.g. the LinkedIn message body or call script), the associated contact, and — for tasks that belong to a sequence — the sequence name and step position. Call this before completing or skipping a task to see what it asks you to do.3 params
Fetch the full detail of a single task by ID, including the action to perform (e.g. the LinkedIn message body or call script), the associated contact, and — for tasks that belong to a sequence — the sequence name and step position. Call this before completing or skipping a task to see what it asks you to do.
idstringrequiredApollo ID of the task to fetch. Use an ID returned by Search Tasks._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_tasks_skip#Skip a single task without performing it. For a task that belongs to a sequence, skipping it moves the contact past this step. Tasks controlled by a workflow approval cannot be skipped.4 params
Skip a single task without performing it. For a task that belongs to a sequence, skipping it moves the contact past this step. Tasks controlled by a workflow approval cannot be skipped.
idstringrequiredApollo ID of the task to skip. Use an ID returned by Search Tasks or Get Task._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.notestringoptionalOptional reason for skipping.apollomcp_apollo_tasks_update#Edit an existing task in place — change its title, note, priority, due date, assignee, or the message body (subject / body_text) for email and LinkedIn-step tasks. Use this instead of skipping and recreating a task. Only scheduled (open) tasks can be fully edited; for completed or skipped tasks only note, priority, and contact_id are applied.11 params
Edit an existing task in place — change its title, note, priority, due date, assignee, or the message body (subject / body_text) for email and LinkedIn-step tasks. Use this instead of skipping and recreating a task. Only scheduled (open) tasks can be fully edited; for completed or skipped tasks only note, priority, and contact_id are applied.
idstringrequiredApollo ID of the task to update. Use an ID returned by Search Tasks or Get Task._conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.contact_idstringoptionalReassociate the task to this contact. Must be the exact id value returned by a tool call in this session.due_atstringoptionalNew ISO 8601 timestamp for when the task is due. Example: 2026-04-30T17:00:00ZnotestringoptionalNew free-form note/body for the task.prioritystringoptionalNew priority — one of low, medium, high.standalone_outreach_task_messageobjectoptionalMessage content for email / LinkedIn-step tasks. Set subject and/or body_text to update the message the task asks the user to send.statusstringoptionalNew status — e.g. scheduled, completed.titlestringoptionalNew short title shown in the task list.user_idstringoptionalReassign the task to this Apollo user.apollomcp_apollo_usage_stats_credit_usage_stats#Retrieve credit usage stats for the authenticated team — credits used, remaining, and reset windows for enrichment/people-search/email-reveal credits. Takes no input — scoped to the authenticated team automatically. For a single user's credit balance, use the Profile endpoint with include_credit_usage=true.2 params
Retrieve credit usage stats for the authenticated team — credits used, remaining, and reset windows for enrichment/people-search/email-reveal credits. Takes no input — scoped to the authenticated team automatically. For a single user's credit balance, use the Profile endpoint with include_credit_usage=true.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.apollomcp_apollo_users_api_profile#Use the Profile endpoint to get the user's profile information (name, email, title, id). Set include_credit_usage to true to include credit usage information in the response. Credit usage includes information like remaining credits and credits used. Use this endpoint when the user asks about their remaining credits or credit usage.3 params
Use the Profile endpoint to get the user's profile information (name, email, title, id). Set include_credit_usage to true to include credit usage information in the response. Credit usage includes information like remaining credits and credits used. Use this endpoint when the user asks about their remaining credits or credit usage.
_conversation_refstringoptionalShort random token generated on your first call in a conversation; reuse the exact same value on every subsequent call to group related tool calls for analytics._rationalestringoptionalDescribe the user's intent and why this tool was selected in general terms only; do not include specific field values, names, emails, or other data.include_credit_usagebooleanoptionalSet to true to include credit usage information in the response. Default is false.