Dedupe and enrich candidates inside an AI sourcing tool
Let an AI sourcing tool resolve the candidates its agent finds to one Forager person_id each, drop duplicates, and add a personal email and mobile to the shortlist it presents.
- Free API key
- No credit card
- Run your sample
A selection of teams that run this job on Forager · plus other recruiting platforms
Uses POST /person_detail_lookup/, POST /person_contacts_lookup/phone_numbers/ · Person enrichment API reference
What it costs: 15 credits per mobile found · 5 credits per email found. A mobile or email lookup that returns nothing costs 0 credits. Enrichment and search are charged per request: credit pricing.
- Person enrichment
- Personal emails
- Mobile numbers
- API
- Embedded in a platform
- HR tech
How the data flows
POST /person_detail_lookup/ - person id
- per_8f3a1c
- personal email
- priya.f@example.net
- phone number
- +44 20 7946 0958
- found
- true
- name
- Priya Fixture
- title
- Staff Data Engineer
Steps
- Resolve each candidate with
POST /person_detail_lookup/and key the shortlist onperson_id - Drop rows whose
person_idalready appears, keeping the fuller profile - Call
POST /person_contacts_lookup/phone_numbers/for the candidates the recruiter marks for outreach - Show the personal email and mobile on the candidate card with the date they were found
import json, os, requests BASE = "https://api-v2.forager.ai/api/{account_id}/datastorage" HEADERS = {"X-API-KEY": os.environ["FORAGER_KEY"]} body = json.load(open("request.json")) # request fields: see the API reference # 1. Resolve each candidate with POST /person_detail_lookup/ and key the # shortlist on person_id r1 = requests.post(f"{BASE}/person_detail_lookup/", headers=HEADERS, json=body) # 2. Drop rows whose person_id already appears, keeping the fuller profile # 3. Call POST /person_contacts_lookup/phone_numbers/ for the candidates the # recruiter marks for outreach r2 = requests.post(f"{BASE}/person_contacts_lookup/phone_numbers/", headers=HEADERS, json=body) # 4. Show the personal email and mobile on the candidate card with the date # they were found
# 1. POST /person_detail_lookup/ curl -X POST \ https://api-v2.forager.ai/api/{account_id}/datastorage/person_detail_lookup/ \ -H "X-API-KEY: $FORAGER_KEY" \ -H "Content-Type: application/json" \ -d @request.json # 2. POST /person_contacts_lookup/phone_numbers/ curl -X POST \ https://api-v2.forager.ai/api/{account_id}/datastorage/person_contacts_lookup/phone_numbers/ \ -H "X-API-KEY: $FORAGER_KEY" \ -H "Content-Type: application/json" \ -d @request.json
Run it yourself: Person enrichment API reference
- Free API key
- No credit card
- Run your sample
Inputs and outputs
| Inputs | Outputs |
|---|---|
| LinkedIn URL or public identifier | person_id |
| full name + current employer | personal_email |
phone_number | |
current role and employer | |
found (bool) |
Questions about this recipe
How can my AI sourcing tool dedupe candidates and add contact details?
Resolve each candidate with POST /person_detail_lookup/ and key the shortlist on person_id. Call POST /person_contacts_lookup/phone_numbers/ for the candidates the recruiter marks for outreach.
What does it cost to dedupe and enrich candidates inside an AI sourcing tool?
Person enrichment: 1 credit per request, charged whether or not data comes back. Personal emails: 5 credits per personal email found, and a personal email lookup that finds nothing costs 0 credits. Mobile numbers: 15 credits per mobile number found, and a mobile number lookup that finds nothing costs 0 credits. Growth's 8,250 monthly credits cover 550 mobiles, 1,650 emails or 8,250 person enrichments, or a mix. Self-serve plans are Starter, Growth, Pro and Scale. See plans and prices
What do I need to run this recipe, and what comes back?
You send full name + current employer and LinkedIn URL or public identifier. You get back current role and employer, found (bool), person_id and personal_email, as JSON. You also need a Forager API key, which comes with a free account.
Which API gives a recruiting agent personal emails and mobiles for candidates?
This recipe uses Forager Person enrichment, Personal emails and Mobile numbers. Person enrichment: A full professional profile for a person from a LinkedIn URL, email or phone: experience, education, skills and contact channels. Let an AI sourcing tool resolve the candidates its agent finds to one Forager person_id each, drop duplicates, and add a personal email and mobile to the shortlist it presents.
Is there a free way to try Forager on this workflow?
Yes. Create a free account at app.forager.ai: it comes with $5 in free credits and an API key, and there is no credit card to sign up. Run it on records you already know, or book a demo and send us a list: we run it and show you what we find.
When should I run this workflow?
When a sourcing agent returns a shortlist with the same person under two profiles, and recruiters cannot contact most of them. Recruiters see one card per candidate with a channel they can use, and the tool pays only for the contacts it found.
Which Forager products does this recipe use?
Person enrichment, personal emails and mobile numbers. Person enrichment: a full professional profile for a person from a LinkedIn URL, email or phone: experience, education, skills and contact channels. Personal emails: personal email addresses for reaching people outside their work inbox, such as passive candidates and founders.
How do I know the data is right?
Forager ranked #1 of 10 in Clay's 2026 test of mobile data providers, by quality score: Clay's measure of how likely a dialled number reaches the right person. The test that counts is your own: send a list of profiles you care about. We run it and show you what we find, number by number, so you can measure hit rate and connect rate yourself.
How do I enrich AI sourcing results with contact details?
Resolve each candidate with POST /person_detail_lookup/ and key the shortlist on person_id. Call POST /person_contacts_lookup/phone_numbers/ for the candidates the recruiter marks for outreach.
Which tools can run this workflow?
Native in Clay and Zapier, partner-built in Deepline and Cargo and called through the API from Make, n8n and your own code. Or call the endpoints in the steps above from your own code with one API key.
How many steps is this workflow?
4 steps: resolve each candidate with POST /person_detail_lookup/ and key the shortlist on person_id, drop rows whose person_id already appears, keeping the fuller profile, call POST /person_contacts_lookup/phone_numbers/ for the candidates the recruiter marks for outreach and show the personal email and mobile on the candidate card with the date they were found.
Is there a contract or minimum commitment?
No contract to start: a free account comes with $5 in credits. To keep using Forager, choose a monthly or yearly plan. Monthly plans cancel anytime and unused credits roll over; yearly plans grant all credits upfront and cost 10% less. Larger volumes are agreed with our team.
Written answers are not available right now. The matching pages above still help, or book a demo and ask the team.
- $5 free credits
- No credit card
- Run your sample
A selection of teams that run this job on Forager · plus other recruiting platformsA selection of teams using Forager
-
Clay - GTM workflow builders
Selected use case: Forager mobile numbers, emails and people data inside Clay tables.
-
Juicebox
- AI candidate sourcing
Selected use case: Forager data behind its PeopleGPT search and sourcing agents.
-
Nooks - Power & parallel dialers
Selected use case: mobile numbers inside their dialer.
-
Pin.com - AI candidate sourcing
AI recruiting platform that sources candidates and runs multi-channel outreach for recruiters.
-
skillconomy
- AI candidate sourcing
AI active-sourcing service for professional and leadership roles.
-
HubSpot
- CRM add-ons
Selected use case: enriching contact and company records with people, company and job-posting data.
-
Intro
- AI candidate sourcing
Selected use case: phone numbers for outreach to passive candidates.
-
Leelu - AI candidate sourcing
Team behind the Leelu AI recruiting copilot.
More recipes for AI candidate sourcing
-
Build natural-language candidate search on a licensed people feed
-
Show verified contact details on every AI-sourced candidate card
-
Give an AI voice recruiter verified candidate mobiles for screening calls
-
Replace InMail with email-first outreach to passive engineers
-
Reach passive candidates on phone and WhatsApp, not just email
-
Run always-on sourcing agents on fresh people data