Skill v1.0.0
currentAutomated scan100/100version: "1.0.0"
Apollo Search
Search Apollo's 210M+ contacts and 35M+ companies to build targeted account and contact lists. Covers key endpoints, filters, proven configurations, and when to use Apollo vs alternatives.
Key Endpoints
Search (Free -- No Credits)
`POST /mixed_people/api_search` -- Search people database. Returns IDs and basic info but NOT emails/phones. Requires master API key.
curl -X POST https://api.apollo.io/api/v1/mixed_people/api_search \-H "Content-Type: application/json" \-H "x-api-key: YOUR_KEY" \-d '{"person_titles": ["VP Sales", "Head of Growth"],"person_seniorities": ["vp", "director"],"organization_num_employees_ranges": ["51,200"],"per_page": 100, "page": 1}'
Pagination: 100/page, max 500 pages = 50,000 records.
Search Companies (Costs Credits)
`POST /mixed_companies/search` -- Search company database. Returns partial data.
GOTCHA: Response uses "accounts" key, NOT "organizations". Missing funding, revenue, and tech stack -- use enrichment after search for full data.
curl -X POST https://api.apollo.io/api/v1/mixed_companies/search \-H "Content-Type: application/json" \-H "x-api-key: YOUR_KEY" \-d '{"q_organization_keyword_tags": ["saas"],"organization_num_employees_ranges": ["51,200", "201,500"],"organization_locations": ["United States"],"per_page": 100, "page": 1}'
Enrich (Costs Credits)
| Endpoint | What | Limit | |
|---|---|---|---|
POST /people/match | Single person enrichment | 1 at a time | |
POST /people/bulk_match | Bulk people enrichment | 10 per call | |
GET /organizations/enrich | Single company enrichment | 1 at a time | |
POST /organizations/bulk_enrich | Bulk company enrichment | 10 per call |
GOTCHA: Bulk org enrichment returns STRIPPED-DOWN data -- missing latest_funding_stage, total_funding, annual_revenue, technology_names[]. For full firmographic data, use single GET /organizations/enrich?domain=X instead.
Standard Workflow: Search Then Enrich
- Search with
POST /mixed_people/api_search(free, no credits) - Collect IDs from search results
- Bulk enrich with
POST /people/bulk_match(10 IDs per call, costs credits) - Get full profiles with emails, phone numbers, LinkedIn URLs, employment history
Never enrich individual search results one-by-one. Always batch into groups of 10.
Top 20 Filters
Company Filters
| # | Filter | API Parameter | Example Values | |
|---|---|---|---|---|
| 1 | Employee Count | organization_num_employees_ranges | ["51,200", "201,500"] | |
| 2 | Revenue | Custom range in UI | $10M-$50M, $50M-$100M | |
| 3 | Industry | q_organization_keyword_tags | ["saas", "fintech"] | |
| 4 | Company Location | organization_locations | ["United States", "Canada"] | |
| 5 | Funding Stage | Funding filter in UI | Seed, Series A, Series B, PE | |
| 6 | Technologies | Technologies filter | Salesforce, HubSpot, Outreach | |
| 7 | Job Postings | Job Postings filter | "SDR", "VP Sales" | |
| 8 | Year Founded | Custom range | 2018-2024 | |
| 9 | Dept Headcount | # Employees by Department | Sales: 1-5 | |
| 10 | Buying Intent | Intent topics (Org plan only) | 1,600+ topics |
People Filters
| # | Filter | API Parameter | Example Values | |
|---|---|---|---|---|
| 11 | Job Title | person_titles | ["VP Sales", "Head of Growth"] | |
| 12 | Seniority | person_seniorities | ["c-suite", "vp", "director"] | |
| 13 | Department | Department/Function | Sales, Marketing, Engineering | |
| 14 | Person Location | person_locations | ["California, US"] | |
| 15 | Similar Titles | include_similar_titles | true (expands matching) | |
| 16 | Recent Job Change | Time filter | Last 30/90/180 days | |
| 17 | Time in Role | Experience filter | <1 year, 1-2 years | |
| 18 | Has Email | Data availability | Yes/No | |
| 19 | Has Phone | Data availability | Yes/No | |
| 20 | Email Status | contact_email_status | Verified, Guessed |
Employee Count Ranges (API Values)
"1,10" Micro / Startup"11,50" Small business"51,200" Growth stage"201,500" Mid-market"501,1000" Upper mid-market"1001,5000" Enterprise"5001,10000" Large enterprise"10001,50000" Mega enterprise
Proven Search Configurations
Config 1: Referral Ceiling Founders (Frontal's best segment)
COMPANY:Employees: 10-200Revenue: $1M-$10MIndustry: Computer Software, Internet, IT & ServicesFunding: Seed, Series ALocation: US, UK, Western EuropeSales Dept: 0-2 headcount (no/tiny sales team = referral-dependent)PEOPLE:Titles: Founder, Co-Founder, CEO, Managing Director, OwnerSeniority: Owner/Founder, C-Suite
Config 2: Failed DIY Outbound (60% progression, educated buyer)
COMPANY:Employees: 10-100Revenue: $1M-$10MTechnologies: Apollo, Lemlist, Instantly, Outreach, SalesLoft, LinkedIn Sales NavigatorLocation: US, Canada, UKSales Dept: 1-5 headcountPEOPLE:Titles: VP Sales, Head of Sales, Head of Growth, CEO, Founder, Director of SalesSeniority: VP, Director, C-Suite, Owner/Founder
Config 3: Enterprise B2C (reference)
COMPANY:Employees: 501+Revenue: $100M+Industry: Financial Services, Automotive, Retail, Insurance, Pharma, Consumer Services, Telecom, Real EstateLocation: United StatesPEOPLE:Titles: CMO, VP Growth, Head of Brand, Director Brand, Director SEO, Head of SEOSeniority: C-Suite, VP, DirectorDepartment: Marketing
Rate Limits
- Fixed-window strategy (per minute, per hour, per day)
- Limits vary by pricing plan tier
- Bulk endpoints: 50% of single endpoint's per-minute rate, 100% of hourly/daily
- Check your limits:
POST /usage_stats/api_usage_stats - 429 response = rate limited. Back off and retry.
API Key Types
| Type | Access | |
|---|---|---|
| Master Key | All endpoints including restricted ones (users, deals, sequences, tasks, calls) | |
| Standard Key | Only specifically selected endpoints |
People API Search (/mixed_people/api_search) requires a master key.
Headers (all requests):
Content-Type: application/jsonCache-Control: no-cachex-api-key: YOUR_API_KEY
Filter Building Process
- Start broad -- industry + employee count + location
- Check result count -- target 500-5,000 companies
- Add keywords to narrow (Industry & Keywords filter)
- Add signals -- technology, intent, job postings
- Add people filters last -- title + seniority
- Too few results (<500)? Loosen employee range or remove a keyword
- Too many (>10,000)? Add funding stage or department headcount
Result Count Guidelines
< 500 companies → Too narrow, loosen filters500-2,000 → Good for targeted campaign2,000-5,000 → Good for broad campaign5,000-10,000 → Consider splitting into sub-segments10,000+ → Too broad, add more filters
Apollo vs Lima Data vs Exa
| Need | Best Tool | Why | |
|---|---|---|---|
| Large-scale company search | Apollo | 35M+ companies, 65+ filters, free search | |
| Contact search by title at known companies | Lima Data | Precise title matching, batch API, 1 credit/contact | |
| Finding niche/new companies | Exa (Websets) | AI-powered natural language search, finds companies not in databases | |
| Enriching known contacts with email | Lima Data | 1 credit for name+domain, 3 for LinkedIn URL | |
| Enriching known contacts with full profile | Apollo | Bulk enrich 10 at a time, returns full employment history | |
| LinkedIn URL lookup | Linkup | $0.005/domain, better than Lima Data for this | |
| Finding contacts at tiny/new companies | Exa + Linkup | Not in Apollo/Lima Data yet |
General rule: Use Apollo to BUILD the list (search + filter). Use Lima Data to ENRICH the list (find emails). Use Exa when Apollo's database does not have what you need.
Gotchas
- Industry is self-reported -- companies pick their own LinkedIn industry. "Information Technology & Services" is a catch-all.
- Revenue is estimated -- unreliable for private companies under $10M.
- Technologies = website tracking only -- detects scripts/pixels on the website. Internal tools (Slack, Notion) will not appear.
- Employee count lags -- may be 3-6 months behind for fast-growing startups.
- Department headcount is directional -- estimated from LinkedIn profiles. Small depts (1-3) most accurate.
- Funding recency matters -- Series A from 5 years ago is very different from last quarter.
- Job Postings = active only -- companies that just filled a role disappear from this filter.
- Buying Intent requires Organization plan -- not available on Professional tier.
- Search does not return emails -- must use enrichment endpoint after search.
- No dedup on account/contact creation -- Apollo will create duplicates unless you set
run_dedupe=true.
Proxy Filter Strategies
Apollo does not have a "who does this company sell to?" filter. Use proxies:
Companies selling to SMB:
- Keywords: "small business", "SMB", "SME", "freelancer", "solopreneur"
- Tech stack: Stripe, Mailchimp, Calendly, QuickBooks, Gusto
- Company size: 11-200 employees (SMB sellers are usually SMB themselves)
Companies with outbound motion:
- Job Postings: "SDR", "BDR", "Sales Development"
- Tech stack: Outreach, SalesLoft, Apollo, Lemlist, Instantly
- Sales dept headcount: 1-20
Companies selling to a vertical:
- Keywords: "[vertical]" + "platform" OR "solution" OR "software"
- Industry: Computer Software (NOT the vertical itself -- that finds the buyers, not the sellers)
References
- Apollo API full reference:
frontal-tools/skills/apollo/SKILL.md - Apollo filters reference:
frontal-tools/skills/apollo-filters/SKILL.md - Lima Data API:
frontal-tools/skills/lima-data/SKILL.md
_Part of Frontal — free, open GTM skills for your AI agent. Browse the library →_