New Hire Finder avatar

New Hire Finder

Pricing

from $72.25 / 1,000 new hire founds

Go to Apify Store
New Hire Finder

New Hire Finder

Find people who started a role at a company in the last few months. Give a company domain, target titles, and a lookback window. Get one flat row per new hire: name, profile URL, title, start month, prior role, move type, and source. Runs on your own Prospeo or search keys. No LinkedIn scraping.

Pricing

from $72.25 / 1,000 new hire founds

Rating

0.0

(0)

Developer

Mamba Labs

Mamba Labs

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Share

Find the people who started a role at a company in the last few months. Give a company domain, the titles you sell to, and a lookback window. Get one flat row per person: name, profile URL, title, start month, prior role, move type (new hire or internal promotion), and the source that found them.

Use it for "welcome to your new role" outreach, to catch a new decision maker at a target account, or to tell a real new hire from an internal promotion before you write the first line. This actor never fetches linkedin.com. It runs free routes on every company and goes deeper on your own Prospeo, Serper, SerpApi, or Exa key.

Features

  • Move type on every row. new_hire when the person came from another employer, promotion when the previous role was at the same employer and still open or ended within 3 months, unknown when only a hire announcement is known. By default only new hires are returned and charged; add promotion or unknown to move_types to get them too.
  • Start month, not a guess. start_month comes from the work history of the role at your target company, at month precision. start_basis says whether the date is a role start or an announcement date.
  • Charged per new hire found, never per profile read. Summary rows and people outside your window, titles, or move types cost nothing.
  • Your keys, your data. Prospeo, Serper, SerpApi, and Exa run on keys you pass as secret inputs and are billed to you by those vendors. You can also pass people you already hold, with role histories, and the same rules run on them with no provider call.
  • Free routes first. Google News hire headlines, the company newsroom, and the company team pages run on every company with no key.
  • One summary row per company that says what was searched, how many candidates were read, why they were dropped, and how many provider credits were used, so an empty result is labeled.
  • Batch input, flat snake_case rows, ready for Clay, a CRM, or a sequencer.

How it finds people

  1. Your own people (people): the window, title, company, and move rules run on the role histories you pass.
  2. Prospeo (your key): people at the company domain whose current role started inside your window and whose title matches, each with a full work history. One Prospeo credit per page of up to 25 people.
  3. Web search (your Serper, SerpApi, or Exa key). With Serper or SerpApi, the first query finds public "joining Acme as Content Manager" announcement posts, which Google dates, so recent starters show up even before data providers index them. A second query (set max_search_queries_per_company to 2) finds profile results that name the company and a title; those carry no date and are dated with your Prospeo key only when Prospeo search could not run. Exa results carry work histories and need no enrichment. The actor reads the search results only and never opens the post or profile.
  4. Google News and the company newsroom (free): hire headlines where the company is the subject ("Acme appoints Jane Doe as VP Marketing"). With a Prospeo key the person is dated from their work history; without one the row keeps the announcement month and move type unknown.
  5. Team pages (free): names and titles from the company's own team or leadership page, dated with your Prospeo key.

Input

FieldTypeDefaultDescription
company_domainstringOne company domain, for example zapier.com
company_domainsarray[]A list of company domains; merged with company_domain
company_namestringOptional, single company runs only
target_titlesarrayTitle phrases, for example marketing, head of content. A title matches when it contains every word of a phrase as a whole word
seniorityarray[]Optional: founder, c_level, vp, director, head, manager, other
departmentsarray[]Optional: sales, marketing, engineering, finance, legal, people, operations, product, general
exclude_titlesarray[]Drop titles containing any of these phrases
expand_title_synonymsbooleanfalseAlso match a short synonym list
lookback_monthsstring"6"1 to 24 calendar months including this month
move_typesarray["new_hire"]Any of new_hire, promotion, unknown
include_year_onlybooleanfalseAlso return starts known only to the year that could fall in the window
peoplearray[]Your own people: person_name, company_domain, optional profile_url, and roles (title, company_name, start YYYY-MM, end YYYY-MM or null)
sourcesarrayallbuyer_data, prospeo, web_search, news, newsroom, team_pages
prospeo_api_keysecret stringYour Prospeo key
web_search_providerstringautoauto, serper, serpapi, or exa
serper_api_keysecret stringYour Serper key
serpapi_api_keysecret stringYour SerpApi key
exa_api_keysecret stringYour Exa key
max_people_per_companystring"25"1 to 100 person rows per company, newest starts first
max_search_queries_per_companystring"1"1 to 4 web searches per company: announcement posts first, then profiles
max_enrich_per_companystring"5"0 to 25 Prospeo enrichments per company
max_prospeo_pages_per_companystring"1"1 to 4 Prospeo search pages per company
max_charge_usdnumberStop before any charge that would pass this amount
skip_cachebooleanfalseSearch again within the 7 day cache

Numbers are typed as text so Clay can send them.

Output

One row per person, plus one summary row per company. Every field is present on every row and null when absent.

FieldTypeExampleNotes
row_typestringpersonperson or summary
row_statusstringokok, no_match, error, or capped
company_domainstringzapier.com
company_namestringZapier
person_namestringJane Doe
first_name, last_namestringJane, Doe
profile_urlstringhttps://www.linkedin.com/in/jane-doeAs a search index or provider returned it; never fetched
current_titlestringAI Marketing ManagerThe role that started inside the window
current_company_namestringZapier
company_matchstringexactexact, variant, or subsidiary_name
start_monthstring2026-07YYYY-MM
start_yearinteger2026
start_precisionstringmonthmonth or year
start_basisstringrole_startrole_start or announcement_date
months_in_roleinteger3
window_start_month, window_end_monthstring2026-05, 2026-10
window_matchstringinsideinside or possible
move_typestringnew_hirenew_hire, promotion, or unknown
move_type_reasonstringdifferent_company_nameThe rule that fired
seniority_changestringupup, down, same, unknown
prior_title, prior_company_name, prior_end_monthstringContent Engineer, Quo, 2026-04The role before
seniority, departmentstringmanager, marketing
matched_target_titlestringmarketing
locationstringAustin, Texas, United States
sourcestringprospeo_searchRoute that found the person
history_sourcestringprospeoWhere the work history came from
source_url, source_datestringProfile or article URL; article date
person_keystringnh_3f1c0d6c2a9b8e7f6a5bStable across runs
summary_statusstringokSummary rows: ok, no_match, no_provider_keys, key_rejected, credit_exhausted, provider_error, invalid_domain, free_tier_cap, max_charge_reached
people_found, candidates_read, namesake_dropped, out_of_window_dropped, title_dropped, undated_dropped, move_type_droppedintegerSummary rows
prospeo_credits_used, search_queries_used, enrich_calls_usedintegerSummary rows: what ran on your keys
sources_tried, sources_unreadable, provider_errorsstringSummary rows
cache_hitbooleanfalseA cached company is served free
billable_events_jsonstring[{"event":"new_hire_found","count":1}]What this row charged

No email or phone is returned. Add contact data downstream on your own keys.

Pricing

Pay per event. You pay for each person returned, and a small start fee per run.

EventFree planBronzeSilverGold
new_hire_found, per person returned$0.085$0.08075$0.0765$0.07225
Per 1,000 people$85.00$80.75$76.50$72.25
apify-actor-start, per run$0.001$0.001$0.001$0.001
  • Summary rows, cache hits, and people dropped by your filters are never charged.
  • Promotions and announcement only rows are charged only when you add them to move_types.
  • Free plan: up to 17 people a month.
  • The run stops at your maximum cost per run, and before any charge that would pass max_charge_usd. Every row already charged stays in the dataset.
  • Prospeo, Serper, SerpApi, and Exa bill you directly for calls on your keys. The summary row counts them.

Usage examples

Apify Console or API

{
"company_domains": ["zapier.com", "gusto.com"],
"target_titles": ["marketing", "head of content"],
"lookback_months": "6",
"move_types": ["new_hire"],
"prospeo_api_key": "YOUR_PROSPEO_KEY",
"serper_api_key": "YOUR_SERPER_KEY"
}

Clay

Add an "Apify: Run Actor" column with the actor ID cKuc38p4nYHNF3IW8, map your domain column to company_domain, and set target_titles and lookback_months. Each row returns the people found for that domain.

Your own data, no provider key

{
"people": [
{
"person_name": "Ann Lee",
"company_domain": "acme.com",
"roles": [
{ "title": "Head of Marketing", "company_name": "Acme", "start": "2026-08", "end": null },
{ "title": "Marketing Lead", "company_name": "Globex", "start": "2020-01", "end": "2026-07" }
]
}
],
"target_titles": ["marketing"],
"move_types": ["new_hire", "promotion"]
}

MCP

An MCP server for this actor is planned under the @mambalabsdev npm scope after the Store listing goes live.

Error handling

FailureWhat happensWhere you see it
No provider keyFree routes and your own people onlysummary_status: no_provider_keys
Key rejectedThat provider stops for the rest of the runsummary_status: key_rejected, provider_errors
Credits spentThat provider stops for the rest of the runsummary_status: credit_exhausted
Provider error or rate limitThe company continues on the other routesprovider_errors, sources_unreadable
Newsroom or team page blockedSkippedsources_unreadable
Not a domainOne summary rowsummary_status: invalid_domain
Nobody matchedOne summary row with the drop countssummary_status: no_match

Limitations

  • Without a Prospeo or Exa key, depth is limited to hire headlines, which name few people below the executive level, and headline rows carry the announcement month with move type unknown.
  • Work histories come from provider indexes, which can lag a real start by months. In a 20 company test on 2026-10-14 the newest start month in Prospeo's data was 2026-05, so announcement rows (start_basis: announcement_date) fill the recent months.
  • A provider record can still list a role the person has left. In the same test, 3 of 11 rows that could be checked against a public profile showed the person had already moved on.
  • Provider data can hold a stale open role. A promotion is still detected when a role at the same employer ended within 3 months of the new start.
  • Title matching uses whole words, so marketing does not match "Head of Growth" unless you add growth or switch on synonyms.
  • This actor keeps no state between runs. Run it on a schedule and diff by person_key to track new starters.
  • No email or phone is returned.

More from Mamba Labs

ActorActor ID
Agent Accessibility AuditoranxbRv0lKrpQ1pnua
AI Tooling DetectorEwkHhmqiuJgRoVEbE
Bluesky Brand Presence MappereLpxzP4IuXznlFVND
Company Change Event FeedoX44rS0fkEJ3rXLWe
Company Contact Details Extractor4mMncKaJykiq94grz
Company Discovery List Builderjch0HdaZnpbMqlcGS
Company Firmographic EnricherYlUtLWjfPpqykmB8g
Company Funding RecordOFS4Mt1gyYNtGfUbE
Company Identity Resolverlr8fTRAmZCBZmuwwh
Company Social Presence Mapper4k6CCemkgBDz18m2h
Contact Classifier0lGSeYJmniXhGANnO
Domain Deliverability Checker0tVgxI7A6o9jMlxmc
Domain to LinkedIn URL Resolver3HtnSaqPHOg1Qg5gx
Ecommerce Platform Profiler5G2NeYjBbQTjaTn9L
Event Presence IndexWLhMy8fMDgsxdYxv5
Expert Witness DirectoryLIpwlgfE3LaQBaXd4
Funding and Press Signal ScannerFS13X6dhQVgX3XOM6
GitHub Organization Signal ScannerahF8RRpv5mzPao5CN
Government Contract Award MonitorzhEtllASykOcx9hJ8
GTM Hiring Signal ScraperD7O1SA2EqwHGsGr1P
GTM Signals AggregatorxKdRfnfFNkdMpFuNs
ICP Fit ScorerW161DT8W4kW55dMFh
Influencer Change Monitord2VVgahNL6UmcLkhg
Influencer FindertpkedmloIIWtXx6sg
Influencer Lead List BuilderKnmByszcv135yM30G
Influencer Profile ScraperEqEnklDVMIcB1V499
Influencer Talent Agency LookupzCuX4Mgyg6JvXgGzd
Job Board Keyword Signal Scanner4DvqpvhMR74NLcDDY
Job Posting MonitorQCfICD9kOPiOdj5iI
Legal Entity ResolverKHFyPCDIx7CyqULYm
Link in Bio Scraper and Newsletter DetectorOorucdheTIgu7RFzK
LinkedIn Company Page MapperzOPm6A9JEhUGcIdFW
LinkedIn Post TrackeroiGLNPuaf5BRaz9K5
Meta Ad Library MonitorJ1GWlSXfSGU3u8Wng
Meta Brand Presence MapperHXh65I0JBjPsunbY8
New Hire FindercKuc38p4nYHNF3IW8
Outbound Stack Detectorv43UJC8r7qW7cBSTG
Page Finder and ExtractorTpurgcOZbVnknlaiC
People Finder and Email VerifierLEgloG7tWgQl4o6TD
Pinterest Brand Presence Mapperd1HvjZfKhgvWsoEwn
Prospect Engineq9rT6v64nUJdPexOQ
Publishing Frequency TrackerTbLwaUUATdYb6wp4N
Reddit Brand Presence MapperpKQZmDaT70SEb54bZ
Reporting Window FinderuINxR7a1IW8qUTRUX
Sequencer Lead Push0Jv27VeWM5tSZQs9x
Team Page People Extractorj8a9zX0k4mNbvDbWK
Tech Stack Signal Detectorqyd7nNyqFPelQViBx
TikTok Brand Presence Mapperfco8FvoJcSafbeyd1
Trustpilot Reputation Enricher3lIqfCt61j4hqE1xz
Website Traffic Rank EstimatorGnOFUzlNVIoXgeJjH
Work Email WaterfallOT6xqTFThC0Rjf7Zj
Workplace Program DetectorLi6pPDhqbdzFz3h7G
X Brand Presence MapperoLOgadhHUkNAyDA3w
YouTube Channel Stats Extractor6hSpD3kd2s2IQ4VSs

Shared package: @mambalabsdev/gtm-core.

Built by Mamba Labs