Enrich Leads with Apollo.io Data
MCP server for Apollo.io - people and company enrichment, filtered search, job postings, and email discovery.
1.0.0Add to Favorites
Why it matters
Leverage the Apollo.io API to enrich contact and company data, and discover new leads. This asset enables AI assistants to access detailed information for sales and marketing outreach.
Outcomes
What it gets done
Enrich people data with comprehensive contact details.
Retrieve detailed company information and insights.
Search for people based on job titles, locations, and seniority.
Discover organizations using various search criteria like domain, location, and employee count.
Install
Add it to your toolbox
Run in your project directory:
curl -fsSL https://spark.entire.vc/get/vb-apollo-io-mcp-server | bash Capabilities
Tools your agent gets
Enrich contact data with comprehensive information using name, email, domain, or LinkedIn URL.
Get detailed company information and insights using company domain.
Find people based on job titles, locations, seniority, technologies, and other criteria.
Discover companies matching specific criteria including location, size, revenue, and funding.
Access job postings for specific organizations using their Apollo ID.
Get email address for a person using their Apollo.io person ID.
Find employees of a company using company name, website URL, or LinkedIn URL.
Overview
Apollo IO MCP Server
An MCP server wrapping the Apollo.io API for AI assistants, with tools for people/company enrichment, filtered search, job postings, and email discovery. Use when an AI assistant needs to enrich or search Apollo.io's people and company database for sales prospecting or research.
What it does
This MCP server wraps the Apollo.io API for AI assistants, providing people and organization enrichment plus search, job-posting lookup, and email discovery - enriching contact and company data, finding people or companies against detailed filter criteria, pulling a company's active job postings, resolving a person's email from their Apollo ID, and listing a company's employees.
When to use - and when NOT to
Use it when an AI assistant needs to enrich or search Apollo.io's people/company database - for sales prospecting, lead enrichment, company research, or finding a person's email or a company's employees. It requires an APOLLO_IO_API_KEY.
Capabilities
Seven tools. people_enrichment enriches a contact by first/last name, email, domain, organization name, or LinkedIn URL. organization_enrichment enriches a company by domain (required, without www. or @). people_search filters by job titles (e.g. "sales development representative", "marketing manager", "research analyst", with an include_similar_titles toggle defaulting true), free-text keywords, person location (e.g. "california", "ireland", "chicago"), seniority (owner, founder, c_suite, partner, vp, head, director, manager, senior, entry, intern), employer location/domain, employee-count ranges (e.g. 1,10 or 10000,20000), employer revenue range (min/max, no currency symbols), email verification status (verified, unverified, likely to engage, unavailable), technologies the employer currently uses (all-of/any-of, e.g. salesforce, google_analytics, wordpress_org) or doesn't use, employer job-posting titles/locations/count/date range, and pagination (page, per_page, max 100, default 25). organization_search filters by domain, included location (e.g. "texas", "tokyo", "spain") or excluded location (e.g. "minnesota", "ireland", "seoul"), employee-count and revenue ranges, technologies used, keyword tags (e.g. "mining", "sales strategy", "consulting"), company name (partial match), latest-round and total funding amount ranges plus their date ranges (YYYY-MM-DD), active job-posting titles/locations/count/date range, and the same pagination. Both search tools also accept organization_ids to scope results to specific Apollo company IDs directly. organization_job_postings returns postings for a given organization_id. get_person_email resolves an email from an apollo_id. employees_of_company finds employees by company name, website URL, or LinkedIn URL.
How to install
npm install @agentx-ai/apollo-io-mcp-server
To test locally:
npm install -g .
npx @modelcontextprotocol/inspector apollo-io-mcp-server
then set APOLLO_IO_API_KEY as an environment variable. Licensed under the MIT License. The project also links a walkthrough tutorial video and is hosted on the AgentX MCP Hub website, alongside other open-sourced AgentX MCP servers.
Who it's for
Sales, marketing, and RevOps teams building AI-assisted prospecting or research workflows who need programmatic access to Apollo.io's people and company enrichment, search, and job-posting data, rather than calling the Apollo.io API directly from their own integration code.
Source README
Apollo.io MCP Server
A powerful Model Context Protocol (MCP) server implementation for seamless Apollo.io API integration, enabling AI assistants to interact with Apollo.io data for people and organization enrichment.
Features
- People Enrichment: Enrich contact data with comprehensive information
- Organization Enrichment: Get detailed company information and insights
- People Search: Find people based on various criteria
- Organization Search: Discover companies matching specific criteria
- Job Postings: Access job postings for specific organizations
- Email Discovery: Get email addresses using Apollo.io person IDs
- Company Employees: Find employees of specific companies
Installation
npm install @agentx-ai/apollo-io-mcp-server
Test locally
npm install -g .
npx @modelcontextprotocol/inspector apollo-io-mcp-server
Then add APOLLO_IO_API_KEY in Environment Variable
Available Tools
1. People Enrichment (people_enrichment)
Enrich contact data with comprehensive information.
Parameters:
first_name(string): Person's first namelast_name(string): Person's last nameemail(string): Person's email addressdomain(string): Company domainorganization_name(string): Organization namelinkedin_url(string): Person's LinkedIn profile URL
2. Organization Enrichment (organization_enrichment)
Get detailed company information and insights.
Parameters:
domain(string, required): The domain of the company that you want to enrich. Do not include www., the @ symbol, or similar (e.g., 'apollo.io' or 'microsoft.com')
3. People Search (people_search)
Find people based on various criteria with comprehensive filtering options.
Parameters:
person_titles(array): Job titles held by the people you want to find (e.g., 'sales development representative', 'marketing manager', 'research analyst')include_similar_titles(boolean): Whether to include people with similar job titles (default: true)q_keywords(string): A string of words to filter the resultsperson_locations(array): The location where people live (e.g., 'california', 'ireland', 'chicago')person_seniorities(array): Job seniority levels (e.g., 'owner', 'founder', 'c_suite', 'partner', 'vp', 'head', 'director', 'manager', 'senior', 'entry', 'intern')organization_locations(array): The location of the company headquarters for a person's current employer (e.g., 'texas', 'tokyo', 'spain')q_organization_domains_list(array): The domain name for the person's employer (e.g., 'apollo.io', 'microsoft.com')contact_email_status(array): Email statuses to filter by (e.g., 'verified', 'unverified', 'likely to engage', 'unavailable')organization_ids(array): Apollo IDs for specific companies (employers) to include in search resultsorganization_num_employees_ranges(array): Employee count ranges for the person's current company (e.g., '1,10', '250,500', '10000,20000')revenue_range(object): Revenue range for the person's current employermin(integer): Minimum revenue the person's current employer generates (no currency symbols, commas, or decimals)max(integer): Maximum revenue the person's current employer generates (no currency symbols, commas, or decimals)
currently_using_all_of_technology_uids(array): Find people based on ALL technologies their current employer uses (use underscores for spaces, e.g., 'salesforce', 'google_analytics', 'wordpress_org')currently_using_any_of_technology_uids(array): Find people based on ANY of the technologies their current employer uses (use underscores for spaces, e.g., 'salesforce', 'google_analytics', 'wordpress_org')currently_not_using_any_of_technology_uids(array): Exclude people based on technologies their current employer uses (use underscores for spaces, e.g., 'salesforce', 'google_analytics', 'wordpress_org')q_organization_job_titles(array): Job titles listed in active job postings at the person's current employer (e.g., 'sales manager', 'research analyst')organization_job_locations(array): Locations of jobs being actively recruited by the person's employer (e.g., 'atlanta', 'japan')organization_num_jobs_range(object): Range for number of job postings active at the person's current employermin(integer): Minimum number of active job postings at the person's current employermax(integer): Maximum number of active job postings at the person's current employer
organization_job_posted_at_range(object): Date range for when jobs were posted by the person's current employermin(string): Earliest date when jobs were posted by the person's current employer (YYYY-MM-DD)max(string): Latest date when jobs were posted by the person's current employer (YYYY-MM-DD)
page(integer): Page number for pagination (default: 1)per_page(integer): Number of results per page (max: 100, default: 25)
4. Organization Search (organization_search)
Discover companies matching specific criteria with comprehensive filtering options.
Parameters:
q_organization_domains_list(array): List of organization domains to search fororganization_locations(array): The location of the company headquarters (e.g., 'texas', 'tokyo', 'spain')organization_not_locations(array): Exclude companies from search results based on location (e.g., 'minnesota', 'ireland', 'seoul')organization_num_employees_ranges(array): Employee count ranges with upper and lower numbers separated by comma (e.g., '1,10', '250,500', '10000,20000')revenue_range(object): Search for organizations based on their revenue rangemin(integer): Minimum revenue amount (no currency symbols, commas, or decimals)max(integer): Maximum revenue amount (no currency symbols, commas, or decimals)
currently_using_any_of_technology_uids(array): Technologies the organization currently uses (use underscores for spaces, e.g., 'salesforce', 'google_analytics', 'wordpress_org')q_organization_keyword_tags(array): Filter search results based on keywords associated with companies (e.g., 'mining', 'sales strategy', 'consulting')q_organization_name(string): Filter search results to include a specific company name (partial matches accepted)organization_ids(array): Apollo IDs for specific companies to include in search resultslatest_funding_amount_range(object): Funding amount range for the company's most recent funding roundmin(integer): Minimum amount from most recent funding round (no currency symbols, commas, or decimals)max(integer): Maximum amount from most recent funding round (no currency symbols, commas, or decimals)
total_funding_range(object): Total funding amount range across all funding roundsmin(integer): Minimum total funding amount across all rounds (no currency symbols, commas, or decimals)max(integer): Maximum total funding amount across all rounds (no currency symbols, commas, or decimals)
latest_funding_date_range(object): Date range for when the company received its most recent funding roundmin(string): Earliest date of most recent funding round (YYYY-MM-DD)max(string): Latest date of most recent funding round (YYYY-MM-DD)
q_organization_job_titles(array): Job titles listed in active job postings at the company (e.g., 'sales manager', 'research analyst')organization_job_locations(array): Locations of jobs being actively recruited by the company (e.g., 'atlanta', 'japan')organization_num_jobs_range(object): Range for number of job postings active at the companymin(integer): Minimum number of active job postings at the companymax(integer): Maximum number of active job postings at the company
organization_job_posted_at_range(object): Date range for when jobs were posted by the companymin(string): Earliest date when jobs were posted by the company (YYYY-MM-DD)max(string): Latest date when jobs were posted by the company (YYYY-MM-DD)
page(integer): Page number for pagination (default: 1)per_page(integer): Number of results per page (max: 100, default: 25)
5. Organization Job Postings (organization_job_postings)
Access job postings for specific organizations.
Parameters:
organization_id(string, required): Apollo.io organization ID
6. Get Person Email (get_person_email)
Get email address for a person using their Apollo ID.
Parameters:
apollo_id(string, required): Apollo.io person ID
7. Employees of Company (employees_of_company)
Find employees of a company using company name or website/LinkedIn URL.
Parameters:
company(string, required): Company namewebsite_url(string): Company website URLlinkedin_url(string): Company LinkedIn URL
AgentX MCP
FAQ
Common questions
Discussion
Questions & comments ยท 0
Sign In Sign in to leave a comment.