Skip to main content
Recipe prompt
Candidate contact information: a candidate profile goes into Forager and an email and phone come backCandidate contact information: a candidate profile goes into Forager and an email and phone come back

What you’ll build

A button in your recruiting tool. A recruiter opens a candidate with a LinkedIn profile URL, clicks once, and sees the candidate’s personal emails and phone numbers. Each lookup is a separate call, so you can run only the one you need.

Steps

1

Extract the LinkedIn public identifier

Both lookups accept linkedin_public_identifier, the slug in linkedin.com/in/<slug>/. For https://www.linkedin.com/in/jane-doe-example/, the identifier is jane-doe-example. If you already store a Forager ID, send person_id instead.
2

Look up the personal email

Send a POST to Personal emails lookup.
Example response (illustrative values)
The endpoint returns only free webmail addresses. Company and school domains are excluded.
3

Look up the phone number

Send a POST to Phone numbers lookup with the same body.
Phone results contain phone_number only.
4

Save to the candidate record

Store the lists on the candidate with the date you looked them up. Before spending credits again, check whether you already have recent contact details for this candidate. If a recruiter learns that a number works or does not, report it with phone-number feedback.

Handle the edge cases

  • Not found. Empty lists mean no contact details. Show “none found” and keep the other lookup’s result.
  • 403. The key is missing or invalid. Fix the credentials; do not retry.
  • 429. Back off and retry. See errors and rate limits.
  • Credits. A personal email lookup costs 5 credits, and is not charged when no address is returned. A phone number lookup costs 15 credits per lookup. Run only the lookup the recruiter asked for. See credit pricing.

Find phone numbers

Phone lookup guide.

Enrich a contact

Get the full person record.

Source candidates

Find candidates by title, skill and location.
Last modified on October 28, 2026