Use Apollo.io in Sim to search and enrich people and companies, manage CRM contacts and accounts, add contacts to sequences, and create follow-up tasks. Single-record and bulk enrichment operations are documented below.
Search for people and companies, enrich contact data, manage your CRM contacts and accounts, add contacts to sequences, and create tasks.
Search Apollo's database for people using demographic filters
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key person_titlesarray No Job titles to search for (e.g., ["CEO", "VP of Sales"]) include_similar_titlesboolean No Whether to return people with job titles similar to person_titles person_locationsarray No Locations to search in (e.g., ["San Francisco, CA", "New York, NY"]) person_senioritiesarray No Seniority levels (one of: owner, founder, c_suite, partner, vp, head, director, manager, senior, entry, intern) organization_idsarray No Apollo organization IDs to filter by (e.g., ["5e66b6381e05b4008c8331b8"]) organization_namesarray No Company names to search within (legacy filter) organization_locationsarray No Headquarters locations of the people's current employer (e.g., ['texas', 'tokyo', 'spain']) q_organization_domains_listarray No Employer domain names (e.g., ["apollo.io", "microsoft.com"]) — up to 1,000, no www . or @ organization_num_employees_rangesarray No Employee count ranges for the person's current employer. Each entry is "min,max" (e.g., ["1,10", "250,500", "10000,20000"]) contact_email_statusarray No Email statuses to filter by: "verified", "unverified", "likely to engage", "unavailable" q_keywordsstring No Keywords to search for pagenumber No Page number for pagination, default 1 (e.g., 1, 2, 3) per_pagenumber No Results per page, default 25, max 100 (e.g., 25, 50, 100)
Parameter Type Description peoplejson Array of people matching the search criteria pagenumber Current page number per_pagenumber Results per page total_entriesnumber Total matching entries
Enrich data for a single person using Apollo
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key first_namestring No First name of the person last_namestring No Last name of the person namestring No Full name of the person (alternative to first_name/last_name) idstring No Apollo ID for the person hashed_emailstring No MD5 or SHA-256 hashed email emailstring No Email address of the person organization_namestring No Company name where the person works domainstring No Company domain (e.g., "apollo.io", "acme.com") linkedin_urlstring No LinkedIn profile URL reveal_personal_emailsboolean No Reveal personal email addresses (uses credits) reveal_phone_numberboolean No Reveal phone numbers (uses credits, requires webhook_url) webhook_urlstring No Webhook URL for async phone number delivery (required when reveal_phone_number is true)
Parameter Type Description personjson Enriched person data from Apollo enrichedboolean Whether the person was successfully enriched
Enrich data for up to 10 people at once using Apollo
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key peoplearray Yes Array of people to enrich (max 10) reveal_personal_emailsboolean No Reveal personal email addresses (uses credits) reveal_phone_numberboolean No Reveal phone numbers (uses credits, requires webhook_url) webhook_urlstring No Webhook URL for async phone number delivery (required when reveal_phone_number is true)
Parameter Type Description matchesjson Array of enriched people (null entries indicate no match) total_requested_enrichmentsnumber Total number of records submitted for enrichment unique_enriched_recordsnumber Number of records successfully enriched missing_recordsnumber Number of records that could not be enriched credits_consumednumber Number of Apollo credits consumed by this request
Search Apollo's database for companies using filters
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key organization_locationsarray No Company HQ locations (cities, US states, or countries) organization_not_locationsarray No Exclude companies whose HQ is in these locations organization_num_employees_rangesarray No Employee count ranges as "min,max" strings (e.g., ["1,10", "250,500", "10000,20000"]) q_organization_keyword_tagsarray No Industry or keyword tags q_organization_namestring No Organization name to search for (e.g., "Acme", "TechCorp") organization_idsarray No Apollo organization IDs to include (e.g., ["5e66b6381e05b4008c8331b8"]) q_organization_domains_listarray No Domain names to filter by (no www . or @, up to 1,000) pagenumber No Page number for pagination (e.g., 1, 2, 3) per_pagenumber No Results per page, max 100 (e.g., 25, 50, 100)
Parameter Type Description organizationsjson Array of organizations matching the search criteria pagenumber Current page number per_pagenumber Results per page total_entriesnumber Total matching entries
Enrich data for a single organization using Apollo
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key domainstring Yes Company domain (e.g., "apollo.io", "acme.com")
Parameter Type Description organizationjson Enriched organization data from Apollo enrichedboolean Whether the organization was successfully enriched
Enrich data for up to 10 organizations at once using Apollo
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key domainsarray Yes Array of company domains to enrich (max 10, no www . or @, e.g., ["apollo.io", "stripe.com"])
Parameter Type Description organizationsjson Array of enriched organization data totalnumber Total number of domains requested enrichednumber Number of unique enriched records missing_recordsnumber Number of domains that could not be enriched unique_domainsnumber Number of unique domains processed
Create a new contact in your Apollo database
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key first_namestring Yes First name of the contact last_namestring Yes Last name of the contact emailstring No Email address of the contact titlestring No Job title (e.g., "VP of Sales", "Software Engineer") account_idstring No Apollo account ID to associate with (e.g., "acc_abc123") owner_idstring No User ID of the contact owner (accepted by Apollo but not officially documented for POST /contacts) organization_namestring No Name of the contact's employer (e.g., "Apollo") website_urlstring No Corporate website URL (e.g., "https://www.apollo.io/ ") label_namesarray No Lists/labels to add the contact to (e.g., ["Prospects"]) contact_stage_idstring No Apollo ID for the contact stage present_raw_addressstring No Personal location for the contact (e.g., "Atlanta, United States") direct_phonestring No Primary phone number corporate_phonestring No Work/office phone number mobile_phonestring No Mobile phone number home_phonestring No Home phone number other_phonestring No Alternative phone number typed_custom_fieldsjson No Custom field values keyed by custom field ID run_dedupeboolean No When true, Apollo deduplicates against existing contacts
Parameter Type Description contactjson Created contact data from Apollo createdboolean Whether the contact was successfully created
Update an existing contact in your Apollo database
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key contact_idstring Yes ID of the contact to update (e.g., "con_abc123") first_namestring No First name of the contact last_namestring No Last name of the contact emailstring No Email address titlestring No Job title (e.g., "VP of Sales", "Software Engineer") account_idstring No Apollo account ID (e.g., "acc_abc123") owner_idstring No User ID of the contact owner (accepted by Apollo but not officially documented for PATCH /contacts/{id}) organization_namestring No Name of the contact's employer (e.g., "Apollo") website_urlstring No Corporate website URL (e.g., "https://www.apollo.io/ ") label_namesarray No Lists/labels to add the contact to (e.g., ["Prospects"]) contact_stage_idstring No Apollo ID for the contact stage present_raw_addressstring No Personal location for the contact (e.g., "Atlanta, United States") direct_phonestring No Primary phone number corporate_phonestring No Work/office phone number mobile_phonestring No Mobile phone number home_phonestring No Home phone number other_phonestring No Alternative phone number typed_custom_fieldsjson No Custom field values keyed by custom field ID
Parameter Type Description contactjson Updated contact data from Apollo updatedboolean Whether the contact was successfully updated
Search your team's contacts in Apollo
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key q_keywordsstring No Keywords to search for contact_stage_idsarray No Filter by contact stage IDs contact_label_idsarray No Filter by Apollo label IDs (lists) sort_by_fieldstring No Sort field: contact_last_activity_date, contact_email_last_opened_at, contact_email_last_clicked_at, contact_created_at, or contact_updated_at sort_ascendingboolean No When true, sort ascending. Must be used together with sort_by_field pagenumber No Page number for pagination (e.g., 1, 2, 3) per_pagenumber No Results per page, max 100 (e.g., 25, 50, 100)
Parameter Type Description contactsjson Array of contacts matching the search criteria paginationjson Pagination information
Create up to 100 contacts at once in your Apollo database. Supports deduplication to prevent creating duplicate contacts. Master key required.
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) contactsarray Yes Array 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_namesarray No Label names to add to all contacts in this request (e.g., ["Hot Lead"]) run_dedupeboolean No Enable deduplication to prevent creating duplicate contacts. When true, existing contacts are returned without modification
Parameter Type Description created_contactsjson Array of newly created contacts existing_contactsjson Array of existing contacts (when deduplication is enabled) total_submittednumber Total number of contacts submitted creatednumber Number of contacts successfully created existingnumber Number of existing contacts found
Update up to 100 existing contacts at once in your Apollo database. Each contact must include an id field. Master key required.
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) contact_idsarray No Array 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_attributesjson No Required. 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 asyncboolean No Force asynchronous processing. Automatically enabled for >100 contacts
Parameter Type Description contactsjson Updated contacts (synchronous response, ≤100 contacts) entity_progress_jobjson Async job descriptor (>100 contacts or async=true): {id, status, ...} job_idstring Async job ID extracted from entity_progress_job messagestring Optional confirmation message from Apollo
Create a new account (company) in your Apollo database
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) namestring Yes Company name (e.g., "Acme Corporation") domainstring No Company domain without www . prefix (e.g., "acme.com") phonestring No Primary phone number for the account owner_idstring No Apollo user ID of the account owner account_stage_idstring No Apollo ID for the account stage to assign this account to raw_addressstring No Corporate location (e.g., "San Francisco, CA, USA") typed_custom_fieldsjson No Custom field values as { custom_field_id: value } map
Parameter Type Description accountjson Created account data from Apollo createdboolean Whether the account was successfully created
Update an existing account in your Apollo database
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key account_idstring Yes ID of the account to update (e.g., "acc_abc123") namestring No Company name (e.g., "Acme Corporation") domainstring No Company domain (e.g., "acme.com") phonestring No Company phone number owner_idstring No Apollo user ID of the account owner account_stage_idstring No Apollo ID for the account stage to assign this account to raw_addressstring No Corporate location (e.g., "San Francisco, CA, USA") typed_custom_fieldsjson No Custom field values as { custom_field_id: value } map
Parameter Type Description accountjson Updated account data from Apollo updatedboolean Whether the account was successfully updated
Search your team's accounts in Apollo. Display limit: 50,000 records (100 records per page, 500 pages max). Use filters to narrow results. Master key required.
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) q_organization_namestring No Filter accounts by organization name (partial-match search) account_stage_idsarray No Filter by account stage IDs account_label_idsarray No Filter by account label IDs sort_by_fieldstring No Sort field: "account_last_activity_date", "account_created_at", or "account_updated_at" sort_ascendingboolean No Sort ascending when true. Defaults to descending. pagenumber No Page number for pagination (e.g., 1, 2, 3) per_pagenumber No Results per page, max 100 (e.g., 25, 50, 100)
Parameter Type Description accountsjson Array of accounts matching the search criteria paginationjson Pagination information
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.
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) accountsarray Yes Array 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_namesarray No Array of label names to add to ALL accounts in this request run_dedupeboolean No When true, performs aggressive deduplication by domain, organization_id, and name (defaults to false)
Parameter Type Description created_accountsjson Array of newly created accounts existing_accountsjson Array of existing accounts returned by Apollo (when duplicates are detected) failed_accountsjson Array of accounts that failed to be created, with reasons for failure total_submittednumber Total number of accounts in the response (created + existing + failed) creatednumber Number of accounts successfully created existingnumber Number of existing accounts found failednumber Number of accounts that failed to be created
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.
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) account_idsarray No Array 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. namestring No When using account_ids, apply this name to all accounts owner_idstring No When using account_ids, apply this owner to all accounts account_stage_idstring No When using account_ids, apply this account stage to all accounts account_attributesjson No Array 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"}}] asyncboolean No When true, processes the update asynchronously. Only supported when using account_ids; returns 422 if used with account_attributes.
Parameter Type Description accountsjson Updated accounts (synchronous response): [{id, account_stage_id, ...}] account_idsjson IDs of accounts that were updated entity_progress_jobjson Async job descriptor (when async=true is passed with account_ids) job_idstring Async job ID extracted from entity_progress_job messagestring Optional confirmation message from Apollo
Create a new deal for an account in your Apollo database (master key required)
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) namestring Yes Name of the opportunity/deal (e.g., "Enterprise License - Q1") account_idstring No ID of the account this opportunity belongs to (e.g., "acc_abc123") amountstring No Monetary value as a plain number string with no commas or currency symbols opportunity_stage_idstring No ID of the opportunity stage owner_idstring No User ID of the opportunity owner closed_datestring No Expected close date in YYYY-MM-DD format typed_custom_fieldsjson No Custom field values as { custom_field_id: value } map
Parameter Type Description opportunityjson Created opportunity data from Apollo createdboolean Whether the opportunity was successfully created
Search and list all deals/opportunities in your team's Apollo account
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key sort_by_fieldstring No Sort field: "amount", "is_closed", or "is_won" pagenumber No Page number for pagination (e.g., 1, 2, 3) per_pagenumber No Results per page, max 100 (e.g., 25, 50, 100)
Parameter Type Description opportunitiesjson Array of opportunities matching the search criteria pagenumber Current page number per_pagenumber Results per page total_entriesnumber Total matching entries
Retrieve complete details of a specific deal/opportunity by ID
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key opportunity_idstring Yes ID of the opportunity to retrieve (e.g., "opp_abc123")
Parameter Type Description opportunityjson Complete opportunity data from Apollo foundboolean Whether the opportunity was found
Update an existing deal/opportunity in your Apollo database
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key opportunity_idstring Yes ID of the opportunity to update (e.g., "opp_abc123") namestring No Name of the opportunity/deal (e.g., "Enterprise License - Q1") amountstring No Monetary value as a plain number string with no commas or currency symbols opportunity_stage_idstring No ID of the opportunity stage owner_idstring No User ID of the opportunity owner closed_datestring No Expected close date in YYYY-MM-DD format typed_custom_fieldsjson No Custom field values as { custom_field_id: value } map
Parameter Type Description opportunityjson Updated opportunity data from Apollo updatedboolean Whether the opportunity was successfully updated
Search for sequences/campaigns in your team's Apollo account (master key required)
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) q_namestring No Search sequences by name (e.g., "Outbound Q1", "Follow-up") pagenumber No Page number for pagination (e.g., 1, 2, 3) per_pagenumber No Results per page, max 100 (e.g., 25, 50, 100)
Parameter Type Description sequencesjson Array of sequences/campaigns matching the search criteria pagenumber Current page number per_pagenumber Results per page total_entriesnumber Total matching entries
Add contacts to an Apollo sequence
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) sequence_idstring Yes ID of the sequence to add contacts to (e.g., "seq_abc123") contact_idsarray No Array of contact IDs to add to the sequence (e.g., ["con_abc123", "con_def456"]). Either contact_ids or label_names must be provided. label_namesarray No 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_account_idstring Yes ID of the email account to send from. Use the Get Email Accounts operation to look this up. send_email_from_email_addressstring No Specific email address to send from within the email account. sequence_no_emailboolean No Add contacts even if they have no email address sequence_unverified_emailboolean No Add contacts with unverified email addresses sequence_job_changeboolean No Add contacts who recently changed jobs sequence_active_in_other_campaignsboolean No Add contacts active in other campaigns sequence_finished_in_other_campaignsboolean No Add contacts who finished other campaigns sequence_same_company_in_same_campaignboolean No Add contacts even if others from the same company are in the sequence contacts_without_ownership_permissionboolean No Add contacts without ownership permission add_if_in_queueboolean No Add contacts even if they are in the queue contact_verification_skippedboolean No Skip contact verification when adding user_idstring No ID of the user performing the action statusstring No Initial status for added contacts: "active" or "paused" auto_unpause_atstring No ISO 8601 datetime to automatically unpause contacts
Parameter Type Description addedjson Array of contact objects successfully added to the sequence skippedjson Array of contact objects that were skipped, with reasons skipped_contact_idsjson Skipped contact IDs — either an array of IDs or a hash mapping ID → reason code emailer_campaignjson Details of the emailer campaign (id, name) sequence_idstring ID of the sequence contacts were added to total_addednumber Total number of contacts added total_skippednumber Total number of contacts skipped
Create one or more tasks in Apollo (one task per contact_id, master key required)
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) user_idstring Yes ID of the Apollo user the task is assigned to contact_idsarray Yes Array of contact IDs. One task is created per contact. prioritystring No Task priority: "high", "medium", or "low" (defaults to "medium") due_atstring Yes Due date/time in ISO 8601 format (e.g., "2024-12-31T23:59:59Z") typestring Yes Task type: "call", "outreach_manual_email", "linkedin_step_connect", "linkedin_step_message", "linkedin_step_view_profile", "linkedin_step_interact_post", or "action_item" statusstring Yes Task status: "scheduled", "completed", or "skipped" notestring No Free-form note providing context for the task
Parameter Type Description tasksjson Array of created tasks (when returned by Apollo) createdboolean Whether the request succeeded
Search for tasks in Apollo
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required) sort_by_fieldstring No Sort field: "task_due_at" or "task_priority" open_factor_namesarray No Filter by status. Common values: ["task_types"] for open tasks, ["task_completed_at"] for completed tasks. pagenumber No Page number for pagination (e.g., 1, 2, 3) per_pagenumber No Results per page, max 100 (e.g., 25, 50, 100)
Parameter Type Description tasksjson Array of tasks matching the search criteria paginationjson Pagination information
Get list of team's linked email accounts in Apollo
Inputs and outputsParameter Type Required Description apiKeystring Yes Apollo API key (master key required)
Parameter Type Description email_accountsjson Array of team email accounts linked in Apollo totalnumber Total count of email accounts