Find new hires
find_new_hiresIdentify people who started matching roles at target companies within a lookback window; get flat JSON rows with name, profile, title, start month, prior role, and move type.
Instructions
Find people who started a role matching your titles at a company inside a lookback window. Give company_domain (or company_domains), target_titles, and lookback_months. Returns one flat, Clay-ready JSON row per person with name, profile URL, title, start month, prior role, move type (new hire, internal promotion, or announcement only), and source, plus one summary row per company that says whether anyone was found or why nothing could be looked up. Runs on your own Prospeo, Serper, SerpApi, or Exa keys passed as inputs, and on a people list you send; it never fetches LinkedIn and holds no key of its own. A run that does not succeed is returned as an error with its run ID. Read-only; requires an APIFY_TOKEN and consumes Apify credits per call.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| people | No | People you already hold, with role histories. Each item: person_name, company_domain, profile_url (optional), and roles, a list of {title, company_name, start (YYYY-MM), end (YYYY-MM or null)}. The same window, title, and move rules run on them, with no provider call. | |
| sources | No | Routes to run. Default all. buyer_data is your people list; prospeo and web_search run only with your key; news, newsroom, and team_pages are free. | |
| seniority | No | Optional. Keep only these seniority levels. | |
| move_types | No | Which moves to return and charge. new_hire is a person who came from another employer. promotion is a new role at the same employer. unknown is a hire announcement with no work history. Default new_hire only. | |
| skip_cache | No | Search again even when the same company and filters ran in the last 7 days. A cached result is returned free. | |
| departments | No | Optional. Keep only these departments. | |
| exa_api_key | No | Your own Exa key. Exa people search returns work histories with start months, so its results need no enrichment. Your own key, sent as a run input; never stored by the actor. | |
| company_name | No | Optional, single company runs only. Leave empty and the name is read from the homepage. | |
| target_titles | No | Title phrases to match, for example marketing, head of content, editor. A title matches when it contains every word of a phrase as a whole word. Also sent to Prospeo and web search as the title filter. | |
| company_domain | No | One company domain, for example zapier.com. Use this or Company domains (batch); both are merged. | |
| exclude_titles | No | Optional. Drop any title that contains one of these phrases, for example intern. | |
| max_charge_usd | No | Optional. The run stops before any charge that would take this run past this amount, and keeps every row already paid for. Leave empty to rely only on the maximum cost per run set in Apify, which the run also honors. | |
| serper_api_key | No | Your own Serper.dev key for web search. One search per company by default. Search results carry no start date, so they are dated with your Prospeo key or counted as undated. Your own key, sent as a run input; never stored by the actor. | |
| company_domains | No | A list of company domains. Each company gets its own summary row. | |
| lookback_months | No | How many calendar months back to look, including this month. 1 to 24, default 6. 6 in October means May to October. Typed as text so Clay can send it. | |
| prospeo_api_key | No | Your own Prospeo key. Gives the work history behind start month and move type. One Prospeo credit per search page of 25 people and one per person enrichment, billed by Prospeo to you. Never stored. Your own key, sent as a run input; never stored by the actor. | |
| serpapi_api_key | No | Your own SerpApi key for web search. A different vendor from Serper. Your own key, sent as a run input; never stored by the actor. | |
| include_year_only | No | Also return people whose start is known only to the year and could fall inside the window. They are charged like any row. Off by default. | |
| web_search_provider | No | Which of your search keys to use. auto takes the first key present: Serper, then SerpApi, then Exa. | |
| expand_title_synonyms | No | Also match a short synonym list (marketing also matches growth, brand, demand generation). Off by default, because every row is charged. | |
| max_enrich_per_company | No | Prospeo enrichment calls per company to date people found by web search, headlines, and team pages. 0 to 25, default 5. | |
| max_people_per_company | No | Most person rows to return per company, newest starts first. 1 to 100, default 25. | |
| max_prospeo_pages_per_company | No | Prospeo search pages of 25 people per company. 1 to 4, default 1. | |
| max_search_queries_per_company | No | Web search queries per company on your key. 1 to 4, default 1. |