docs/archive/docs/apollo-people-search

Apollo People Search API Reference

Find net new people in the Apollo database for prospecting.

Endpoint: https://api.apollo.io/api/v1/mixed_people/api_search
Method: POST
Cost: FREE (no credits consumed)
Auth: Master API key required (header: x-api-key)

Important Notes

  • No emails in search results - Use People Enrichment endpoint (1 credit) to get emails
  • Display limit: 50,000 records max (100 records/page, 500 pages)
  • Optimization: Add more filters to narrow results and access data in batches
  • Designed for: Prospecting net new people

Common Parameters

Job Titles & Seniority

person_titles[] (array of strings)
Job titles to search. Returns fuzzy matches (e.g., "marketing manager" matches "content marketing manager").

Examples: "sales development representative", "marketing manager", "research analyst"

include_similar_titles (boolean, default: true)
Set to false for strict job title matching only.

person_seniorities[] (array of strings)
Job seniority levels. Only matches current job title.

Options:

  • owner
  • founder
  • c_suite
  • partner
  • vp
  • head
  • director
  • manager
  • senior
  • entry
  • intern

Location Filters

person_locations[] (array of strings)
Where people live (cities, US states, countries).

Examples: "california", "ireland", "chicago"

organization_locations[] (array of strings)
Company headquarters location. Searches HQ only, not all office locations.

Examples: "texas", "tokyo", "spain"


Organization Filters

q_organization_domains_list[] (array of strings)
Company domains. Accepts up to 1,000 domains per request. Do not include www. or @.

Examples: "apollo.io", "microsoft.com"

organization_ids[] (array of strings)
Apollo organization IDs. Get IDs from Organization Search endpoint.

Example: "5e66b6381e05b4008c8331b8"

organization_num_employees_ranges[] (array of strings)
Employee headcount ranges. Format: "min,max" (comma-separated, no spaces).

Examples: "1,10", "250,500", "10000,20000"

revenue_range[min] (integer)
revenue_range[max] (integer)
Revenue range for company. No currency symbols, commas, or decimals.

Examples: 500000, 1500000


Technology Filters

currently_using_all_of_technology_uids[] (array of strings)
Company uses ALL of these technologies. Use underscores for spaces/periods.

Examples: "salesforce", "google_analytics", "wordpress_org"

currently_using_any_of_technology_uids[] (array of strings)
Company uses ANY of these technologies.

currently_not_using_any_of_technology_uids[] (array of strings)
Company does NOT use any of these technologies.

Technology list: Download supported technologies CSV


Job Posting Filters

q_organization_job_titles[] (array of strings)
Job titles in active postings at the company.

Examples: "sales manager", "research analyst"

organization_job_locations[] (array of strings)
Locations of jobs being recruited.

Examples: "atlanta", "japan"

organization_num_jobs_range[min] (integer)
organization_num_jobs_range[max] (integer)
Range of active job postings at company.

Examples: 50, 500

organization_job_posted_at_range[min] (date)
organization_job_posted_at_range[max] (date)
Date range for when jobs were posted. Format: YYYY-MM-DD

Example: "2025-07-25"


Other Filters

q_keywords (string)
Free-text keyword search across results.

contact_email_status[] (array of strings)
Email status for contacts.

Options:

  • verified
  • unverified
  • likely to engage
  • unavailable

Pagination

page (int32, default: 1)
Page number to retrieve.

per_page (int32, default: 10)
Results per page (max 100).


Response Structure

{
  "total_entries": 232764882,
  "people": [
    {
      "id": "67bdafd0c3a4c50001bbd7c2",
      "first_name": "Andrew",
      "last_name_obfuscated": "Hu***n",
      "title": "Professor and Neuroscientist at Stanford & Host",
      "last_refreshed_at": "2025-11-04T23:20:32.690+00:00",
      "has_email": true,
      "has_city": true,
      "has_state": true,
      "has_country": true,
      "has_direct_phone": "Yes",
      "organization": {
        "name": "Scicomm Media",
        "has_industry": true,
        "has_phone": false,
        "has_city": true,
        "has_state": true,
        "has_country": true,
        "has_zip_code": false,
        "has_revenue": false,
        "has_employee_count": true
      }
    }
  ]
}

Response Fields

Person fields:

  • id - Apollo person ID
  • first_name - First name
  • last_name_obfuscated - Last name (obfuscated, use enrichment for full)
  • title - Job title (may be null)
  • last_refreshed_at - When data was last updated
  • has_email - Boolean flag (use enrichment to reveal)
  • has_city, has_state, has_country - Location data availability
  • has_direct_phone - Phone availability

Organization fields:

  • name - Company name
  • has_* - Boolean flags for available data

Example Request (JavaScript)

const url = 'https://api.apollo.io/api/v1/mixed_people/api_search';
const options = {
  method: 'POST',
  headers: {
    'accept': 'application/json',
    'Cache-Control': 'no-cache',
    'Content-Type': 'application/json',
    'x-api-key': process.env.APOLLO_API_KEY
  },
  body: JSON.stringify({
    person_titles: ["CEO", "Chief Executive Officer"],
    person_seniorities: ["c_suite"],
    organization_num_employees_ranges: ["50,500"],
    per_page: 25,
    page: 1
  })
};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));

Common Use Cases

Find CEOs at mid-size companies

{
  "person_titles": ["CEO", "Chief Executive Officer"],
  "person_seniorities": ["c_suite"],
  "organization_num_employees_ranges": ["50,500"],
  "per_page": 50
}

Find healthcare directors

{
  "person_titles": ["Director"],
  "person_seniorities": ["director"],
  "q_keywords": "healthcare utilization management",
  "per_page": 50
}

Find people at specific companies

{
  "q_organization_domains_list": ["hopkinsmedicine.org", "mayoclinic.org"],
  "person_seniorities": ["director", "vp", "c_suite"],
  "per_page": 50
}

Find VPs using Salesforce

{
  "person_seniorities": ["vp"],
  "currently_using_all_of_technology_uids": ["salesforce"],
  "per_page": 50
}

Response Codes

  • 200 - Success
  • 401 - Unauthorized (API key invalid)
  • 403 - Forbidden
  • 422 - Validation error (invalid parameters)
  • 429 - Rate limit exceeded

Last updated: 2025-01-09
Source: Apollo API Documentation

Daisy

v1

What do you need?

I can pull up the fundraise pipeline, CRM accounts, hot board, meeting notes — anything in the OS.

Sonnet · read-only