Apollo

Search, enrich, and manage contacts with Apollo.io

Apollo.io is a leading sales intelligence and engagement platform that empowers users to find, enrich, and engage contacts and companies at scale. Apollo.io combines an extensive contact database with robust enrichment and workflow automation tools, assisting sales, marketing, and recruiting teams to accelerate growth.

With Apollo.io, you can:

  • Search millions of contacts and companies: Find precise leads using advanced filters
  • Enrich leads and accounts: Fill in missing details with verified data and up-to-date information
  • Manage and organize CRM records: Keep your people and company data accurate and actionable
  • Automate outreach: Add contacts to sequences and create follow-up tasks directly from Apollo.io

In Sim, the Apollo.io integration allows your agents to perform core Apollo operations programmatically:

  • Search people and companies: Use apollo_people_search to discover new leads using flexible filters.
  • Enrich people data: Use apollo_people_enrich to augment contacts with verified information.
  • Enrich people in bulk: Use apollo_people_bulk_enrich for large-scale enrichment of multiple contacts at once.
  • Search and enrich companies: Use apollo_company_search and apollo_company_enrich to discover and update key company information.

This enables your agents to build powerful workflows for prospecting, CRM enrichment, and automation without manual data entry or switching tabs. Integrate Apollo.io as a dynamic data source and CRM engine — empowering your agents to identify, qualify, and reach out to leads seamlessly as part of their daily operations.

Usage Instructions

Integrates Apollo.io into the workflow. Search for people and companies, enrich contact data, manage your CRM contacts and accounts, add contacts to sequences, and create tasks.

Tools

Search Apollo

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
person_titlesarrayNoJob titles to search for (e.g., ["CEO", "VP of Sales"])
include_similar_titlesbooleanNoWhether to return people with job titles similar to person_titles
person_locationsarrayNoLocations to search in (e.g., ["San Francisco, CA", "New York, NY"])
person_senioritiesarrayNoSeniority levels (one of: owner, founder, c_suite, partner, vp, head, director, manager, senior, entry, intern)
organization_idsarrayNoApollo organization IDs to filter by (e.g., ["5e66b6381e05b4008c8331b8"])
organization_namesarrayNoCompany names to search within (legacy filter)
organization_locationsarrayNoHeadquarters locations of the people's current employer (e.g., ['texas', 'tokyo', 'spain'])
q_organization_domains_listarrayNoEmployer domain names (e.g., ["apollo.io", "microsoft.com"]) — up to 1,000, no www. or @
organization_num_employees_rangesarrayNoEmployee count ranges for the person's current employer. Each entry is "min,max" (e.g., ["1,10", "250,500", "10000,20000"])
contact_email_statusarrayNoEmail statuses to filter by: "verified", "unverified", "likely to engage", "unavailable"
q_keywordsstringNoKeywords to search for
pagenumberNoPage number for pagination, default 1 (e.g., 1, 2, 3)
per_pagenumberNoResults per page, default 25, max 100 (e.g., 25, 50, 100)

Output

ParameterTypeDescription
peoplejsonArray of people matching the search criteria
pagenumberCurrent page number
per_pagenumberResults per page
total_entriesnumberTotal matching entries

apollo_people_enrich

Enrich data for a single person using Apollo

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
first_namestringNoFirst name of the person
last_namestringNoLast name of the person
namestringNoFull name of the person (alternative to first_name/last_name)
idstringNoApollo ID for the person
hashed_emailstringNoMD5 or SHA-256 hashed email
emailstringNoEmail address of the person
organization_namestringNoCompany name where the person works
domainstringNoCompany domain (e.g., "apollo.io", "acme.com")
linkedin_urlstringNoLinkedIn profile URL
reveal_personal_emailsbooleanNoReveal personal email addresses (uses credits)
reveal_phone_numberbooleanNoReveal phone numbers (uses credits, requires webhook_url)
webhook_urlstringNoWebhook URL for async phone number delivery (required when reveal_phone_number is true)

Output

ParameterTypeDescription
personjsonEnriched person data from Apollo
enrichedbooleanWhether the person was successfully enriched

apollo_people_bulk_enrich

Enrich data for up to 10 people at once using Apollo

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
peoplearrayYesArray of people to enrich (max 10)
reveal_personal_emailsbooleanNoReveal personal email addresses (uses credits)
reveal_phone_numberbooleanNoReveal phone numbers (uses credits, requires webhook_url)
webhook_urlstringNoWebhook URL for async phone number delivery (required when reveal_phone_number is true)

Output

ParameterTypeDescription
matchesjsonArray of enriched people (null entries indicate no match)
total_requested_enrichmentsnumberTotal number of records submitted for enrichment
unique_enriched_recordsnumberNumber of records successfully enriched
missing_recordsnumberNumber of records that could not be enriched
credits_consumednumberNumber of Apollo credits consumed by this request

Search Apollo

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
organization_locationsarrayNoCompany HQ locations (cities, US states, or countries)
organization_not_locationsarrayNoExclude companies whose HQ is in these locations
organization_num_employees_rangesarrayNoEmployee count ranges as "min,max" strings (e.g., ["1,10", "250,500", "10000,20000"])
q_organization_keyword_tagsarrayNoIndustry or keyword tags
q_organization_namestringNoOrganization name to search for (e.g., "Acme", "TechCorp")
organization_idsarrayNoApollo organization IDs to include (e.g., ["5e66b6381e05b4008c8331b8"])
q_organization_domains_listarrayNoDomain names to filter by (no www. or @, up to 1,000)
pagenumberNoPage number for pagination (e.g., 1, 2, 3)
per_pagenumberNoResults per page, max 100 (e.g., 25, 50, 100)

Output

ParameterTypeDescription
organizationsjsonArray of organizations matching the search criteria
pagenumberCurrent page number
per_pagenumberResults per page
total_entriesnumberTotal matching entries

apollo_organization_enrich

Enrich data for a single organization using Apollo

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
domainstringYesCompany domain (e.g., "apollo.io", "acme.com")

Output

ParameterTypeDescription
organizationjsonEnriched organization data from Apollo
enrichedbooleanWhether the organization was successfully enriched

apollo_organization_bulk_enrich

Enrich data for up to 10 organizations at once using Apollo

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
organizationsarrayYesArray of organizations to enrich (max 10). Each item requires name and may include domain (e.g., [{"name": "Example Corp", "domain": "example.com"}])

Output

ParameterTypeDescription
organizationsjsonArray of enriched organization data
totalnumberTotal number of domains requested
enrichednumberNumber of unique enriched records
missing_recordsnumberNumber of domains that could not be enriched
unique_domainsnumberNumber of unique domains processed

apollo_contact_create

Create a new contact in your Apollo database

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
first_namestringYesFirst name of the contact
last_namestringYesLast name of the contact
emailstringNoEmail address of the contact
titlestringNoJob title (e.g., "VP of Sales", "Software Engineer")
account_idstringNoApollo account ID to associate with (e.g., "acc_abc123")
owner_idstringNoUser ID of the contact owner (accepted by Apollo but not officially documented for POST /contacts)
organization_namestringNoName of the contact's employer (e.g., "Apollo")
website_urlstringNoCorporate website URL (e.g., "https://www.apollo.io/"\)
label_namesarrayNoLists/labels to add the contact to (e.g., ["Prospects"])
contact_stage_idstringNoApollo ID for the contact stage
present_raw_addressstringNoPersonal location for the contact (e.g., "Atlanta, United States")
direct_phonestringNoPrimary phone number
corporate_phonestringNoWork/office phone number
mobile_phonestringNoMobile phone number
home_phonestringNoHome phone number
other_phonestringNoAlternative phone number
typed_custom_fieldsjsonNoCustom field values keyed by custom field ID
run_dedupebooleanNoWhen true, Apollo deduplicates against existing contacts

Output

ParameterTypeDescription
contactjsonCreated contact data from Apollo
createdbooleanWhether the contact was successfully created

apollo_contact_update

Update an existing contact in your Apollo database

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
contact_idstringYesID of the contact to update (e.g., "con_abc123")
first_namestringNoFirst name of the contact
last_namestringNoLast name of the contact
emailstringNoEmail address
titlestringNoJob title (e.g., "VP of Sales", "Software Engineer")
account_idstringNoApollo account ID (e.g., "acc_abc123")
owner_idstringNoUser ID of the contact owner (accepted by Apollo but not officially documented for PATCH /contacts/{id})
organization_namestringNoName of the contact's employer (e.g., "Apollo")
website_urlstringNoCorporate website URL (e.g., "https://www.apollo.io/"\)
label_namesarrayNoLists/labels to add the contact to (e.g., ["Prospects"])
contact_stage_idstringNoApollo ID for the contact stage
present_raw_addressstringNoPersonal location for the contact (e.g., "Atlanta, United States")
direct_phonestringNoPrimary phone number
corporate_phonestringNoWork/office phone number
mobile_phonestringNoMobile phone number
home_phonestringNoHome phone number
other_phonestringNoAlternative phone number
typed_custom_fieldsjsonNoCustom field values keyed by custom field ID (accepted by Apollo but not officially documented for PATCH /contacts/{id})

Output

ParameterTypeDescription
contactjsonUpdated contact data from Apollo
updatedbooleanWhether the contact was successfully updated

Search your team

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
q_keywordsstringNoKeywords to search for
contact_stage_idsarrayNoFilter by contact stage IDs
contact_label_idsarrayNoFilter by Apollo label IDs (lists)
sort_by_fieldstringNoSort field: contact_last_activity_date, contact_email_last_opened_at, contact_email_last_clicked_at, contact_created_at, or contact_updated_at
sort_ascendingbooleanNoWhen true, sort ascending. Must be used together with sort_by_field
pagenumberNoPage number for pagination (e.g., 1, 2, 3)
per_pagenumberNoResults per page, max 100 (e.g., 25, 50, 100)

Output

ParameterTypeDescription
contactsjsonArray of contacts matching the search criteria
paginationjsonPagination information

apollo_contact_bulk_create

Create up to 100 contacts at once in your Apollo database. Supports deduplication to prevent creating duplicate contacts. Master key required.

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
contactsarrayYesArray of contacts to create (max 100). Each contact may include first_name, last_name, email, title, organization_name, account_id, owner_id, contact_stage_id, linkedin_url, phone (single string) or phone_numbers (array of {raw_number, position}), contact_emails, typed_custom_fields, and CRM IDs (salesforce_contact_id, hubspot_id, team_id) for cross-system matching
append_label_namesarrayNoLabel names to add to all contacts in this request (e.g., ["Hot Lead"])
run_dedupebooleanNoEnable deduplication to prevent creating duplicate contacts. When true, existing contacts are returned without modification

Output

ParameterTypeDescription
created_contactsjsonArray of newly created contacts
existing_contactsjsonArray of existing contacts (when deduplication is enabled)
total_submittednumberTotal number of contacts submitted
creatednumberNumber of contacts successfully created
existingnumberNumber of existing contacts found

apollo_contact_bulk_update

Update up to 100 existing contacts at once in your Apollo database. Each contact must include an id field. Master key required.

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
contact_idsarrayNoArray of contact IDs to update. Must be paired with an object-form contact_attributes specifying the fields to apply uniformly to all listed contacts.
contact_attributesjsonNoRequired. Either an array of per-contact updates (each with id) — used standalone — or a single object of attributes to apply to all contact_ids. Supported fields: owner_id, email, organization_name, title, first_name, last_name, account_id, present_raw_address, linkedin_url, typed_custom_fields
asyncbooleanNoForce asynchronous processing. Automatically enabled for >100 contacts

Output

ParameterTypeDescription
messagestringConfirmation message from Apollo
job_idstringAsync job ID (returned for >100 contacts)

apollo_account_create

Create a new account (company) in your Apollo database

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
namestringYesCompany name (e.g., "Acme Corporation")
domainstringNoCompany domain without www. prefix (e.g., "acme.com")
phonestringNoPrimary phone number for the account
owner_idstringNoApollo user ID of the account owner
account_stage_idstringNoApollo ID for the account stage to assign this account to
raw_addressstringNoCorporate location (e.g., "San Francisco, CA, USA")
typed_custom_fieldsjsonNoCustom field values as { custom_field_id: value } map

Output

ParameterTypeDescription
accountjsonCreated account data from Apollo
createdbooleanWhether the account was successfully created

apollo_account_update

Update an existing account in your Apollo database

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
account_idstringYesID of the account to update (e.g., "acc_abc123")
namestringNoCompany name (e.g., "Acme Corporation")
domainstringNoCompany domain (e.g., "acme.com")
phonestringNoCompany phone number
owner_idstringNoApollo user ID of the account owner
account_stage_idstringNoApollo ID for the account stage to assign this account to
raw_addressstringNoCorporate location (e.g., "San Francisco, CA, USA")
typed_custom_fieldsjsonNoCustom field values as { custom_field_id: value } map

Output

ParameterTypeDescription
accountjsonUpdated account data from Apollo
updatedbooleanWhether the account was successfully updated

Search your team

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
q_organization_namestringNoFilter accounts by organization name (partial-match search)
account_stage_idsarrayNoFilter by account stage IDs
account_label_idsarrayNoFilter by account label IDs
sort_by_fieldstringNoSort field: "account_last_activity_date", "account_created_at", or "account_updated_at"
sort_ascendingbooleanNoSort ascending when true. Defaults to descending.
pagenumberNoPage number for pagination (e.g., 1, 2, 3)
per_pagenumberNoResults per page, max 100 (e.g., 25, 50, 100)

Output

ParameterTypeDescription
accountsjsonArray of accounts matching the search criteria
paginationjsonPagination information

apollo_account_bulk_create

Create up to 100 accounts at once in your Apollo database. Set run_dedupe=true to deduplicate by domain, organization_id, and name. Master key required.

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
accountsarrayYesArray of accounts to create (max 100). Each account should include a name, and may optionally include domain, phone, phone_status_cd, raw_address, owner_id, linkedin_url, facebook_url, twitter_url, salesforce_id, and hubspot_id.
append_label_namesarrayNoArray of label names to add to ALL accounts in this request
run_dedupebooleanNoWhen true, performs aggressive deduplication by domain, organization_id, and name (defaults to false)

Output

ParameterTypeDescription
created_accountsjsonArray of newly created accounts
existing_accountsjsonArray of existing accounts returned by Apollo (when duplicates are detected)
failed_accountsjsonArray of accounts that failed to be created, with reasons for failure
total_submittednumberTotal number of accounts in the response (created + existing + failed)
creatednumberNumber of accounts successfully created
existingnumberNumber of existing accounts found
failednumberNumber of accounts that failed to be created

apollo_account_bulk_update

Update up to 1000 existing accounts at once in your Apollo database (higher limit than contacts!). Each account must include an id field. Master key required.

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
account_idsarrayNoArray of account IDs to update with the same values (max 1000). Use with name/owner_id for uniform updates. Use either this OR account_attributes.
namestringNoWhen using account_ids, apply this name to all accounts
owner_idstringNoWhen using account_ids, apply this owner to all accounts
account_attributesjsonNoArray of account objects with individual updates (each must include id). Example: [{"id": "acc1", "name": "Acme", "owner_id": "u1", "account_stage_id": "s1", "typed_custom_fields": {"field_id": "value"}}]
asyncbooleanNoWhen true, processes the update asynchronously. Only supported when using account_ids; returns 422 if used with account_attributes.

Output

ParameterTypeDescription
messagestringConfirmation message from Apollo
account_idsjsonIDs of accounts that were updated

apollo_opportunity_create

Create a new deal for an account in your Apollo database (master key required)

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
namestringYesName of the opportunity/deal (e.g., "Enterprise License - Q1")
account_idstringNoID of the account this opportunity belongs to (e.g., "acc_abc123")
amountstringNoMonetary value as a plain number string with no commas or currency symbols
opportunity_stage_idstringNoID of the opportunity stage
owner_idstringNoUser ID of the opportunity owner
closed_datestringNoExpected close date in YYYY-MM-DD format
typed_custom_fieldsjsonNoCustom field values as { custom_field_id: value } map

Output

ParameterTypeDescription
opportunityjsonCreated opportunity data from Apollo
createdbooleanWhether the opportunity was successfully created

Search and list all deals/opportunities in your team

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
sort_by_fieldstringNoSort field: "amount", "is_closed", or "is_won"
pagenumberNoPage number for pagination (e.g., 1, 2, 3)
per_pagenumberNoResults per page, max 100 (e.g., 25, 50, 100)

Output

ParameterTypeDescription
opportunitiesjsonArray of opportunities matching the search criteria
pagenumberCurrent page number
per_pagenumberResults per page
total_entriesnumberTotal matching entries

apollo_opportunity_get

Retrieve complete details of a specific deal/opportunity by ID

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
opportunity_idstringYesID of the opportunity to retrieve (e.g., "opp_abc123")

Output

ParameterTypeDescription
opportunityjsonComplete opportunity data from Apollo
foundbooleanWhether the opportunity was found

apollo_opportunity_update

Update an existing deal/opportunity in your Apollo database

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key
opportunity_idstringYesID of the opportunity to update (e.g., "opp_abc123")
namestringNoName of the opportunity/deal (e.g., "Enterprise License - Q1")
amountstringNoMonetary value as a plain number string with no commas or currency symbols
opportunity_stage_idstringNoID of the opportunity stage
owner_idstringNoUser ID of the opportunity owner
closed_datestringNoExpected close date in YYYY-MM-DD format
typed_custom_fieldsjsonNoCustom field values as { custom_field_id: value } map

Output

ParameterTypeDescription
opportunityjsonUpdated opportunity data from Apollo
updatedbooleanWhether the opportunity was successfully updated

Search for sequences/campaigns in your team

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
q_namestringNoSearch sequences by name (e.g., "Outbound Q1", "Follow-up")
pagenumberNoPage number for pagination (e.g., 1, 2, 3)
per_pagenumberNoResults per page, max 100 (e.g., 25, 50, 100)

Output

ParameterTypeDescription
sequencesjsonArray of sequences/campaigns matching the search criteria
pagenumberCurrent page number
per_pagenumberResults per page
total_entriesnumberTotal matching entries

apollo_sequence_add_contacts

Add contacts to an Apollo sequence

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
sequence_idstringYesID of the sequence to add contacts to (e.g., "seq_abc123")
contact_idsarrayNoArray of contact IDs to add to the sequence (e.g., ["con_abc123", "con_def456"]). Either contact_ids or label_names must be provided.
label_namesarrayNoArray of label names to identify contacts to add to the sequence. Either contact_ids or label_names must be provided.
send_email_from_email_account_idstringYesID of the email account to send from. Use the Get Email Accounts operation to look this up.
send_email_from_email_addressstringNoSpecific email address to send from within the email account.
sequence_no_emailbooleanNoAdd contacts even if they have no email address
sequence_unverified_emailbooleanNoAdd contacts with unverified email addresses
sequence_job_changebooleanNoAdd contacts who recently changed jobs
sequence_active_in_other_campaignsbooleanNoAdd contacts active in other campaigns
sequence_finished_in_other_campaignsbooleanNoAdd contacts who finished other campaigns
sequence_same_company_in_same_campaignbooleanNoAdd contacts even if others from the same company are in the sequence
contacts_without_ownership_permissionbooleanNoAdd contacts without ownership permission
add_if_in_queuebooleanNoAdd contacts even if they are in the queue
contact_verification_skippedbooleanNoSkip contact verification when adding
user_idstringNoID of the user performing the action
statusstringNoInitial status for added contacts: "active" or "paused"
auto_unpause_atstringNoISO 8601 datetime to automatically unpause contacts

Output

ParameterTypeDescription
addedjsonArray of contact objects successfully added to the sequence
skippedjsonArray of contact objects that were skipped, with reasons
skipped_contact_idsjsonSkipped contact IDs — either an array of IDs or a hash mapping ID → reason code
emailer_campaignjsonDetails of the emailer campaign (id, name)
sequence_idstringID of the sequence contacts were added to
total_addednumberTotal number of contacts added
total_skippednumberTotal number of contacts skipped

apollo_task_create

Create one or more tasks in Apollo (one task per contact_id, master key required)

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
user_idstringYesID of the Apollo user the task is assigned to
contact_idsarrayYesArray of contact IDs. One task is created per contact.
prioritystringNoTask priority: "high", "medium", or "low" (defaults to "medium")
due_atstringYesDue date/time in ISO 8601 format (e.g., "2024-12-31T23:59:59Z")
typestringYesTask type: "call", "outreach_manual_email", "linkedin_step_connect", "linkedin_step_message", "linkedin_step_view_profile", "linkedin_step_interact_post", or "action_item"
statusstringYesTask status: "scheduled", "completed", or "skipped"
notestringNoFree-form note providing context for the task

Output

ParameterTypeDescription
tasksjsonArray of created tasks (when returned by Apollo)
createdbooleanWhether the request succeeded

Search for tasks in Apollo

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)
sort_by_fieldstringNoSort field: "task_due_at" or "task_priority"
open_factor_namesarrayNoFilter by status. Common values: ["task_types"] for open tasks, ["task_completed_at"] for completed tasks.
pagenumberNoPage number for pagination (e.g., 1, 2, 3)
per_pagenumberNoResults per page, max 100 (e.g., 25, 50, 100)

Output

ParameterTypeDescription
tasksjsonArray of tasks matching the search criteria
paginationjsonPagination information

apollo_email_accounts

Get list of team

Input

ParameterTypeRequiredDescription
apiKeystringYesApollo API key (master key required)

Output

ParameterTypeDescription
email_accountsjsonArray of team email accounts linked in Apollo
totalnumberTotal count of email accounts

On this page