$5 free Limited time. Sign up to activate. Get your $5 →

Re-engage past contractors when their assignment ends

Help a staffing firm reach contractors it placed before as soon as they come off an assignment, before another agency books them.

  • Free API key
  • No credit card
  • Run your sample

Uses POST /person_detail_lookup/, POST /person_contacts_lookup/personal_emails/, 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.

How the data flows

2 inputs → Person enrichment + Personal emails + Mobile numbers → 4 fields sample data
01 · Inputs
LinkedIn URL
linkedin.com/in/priya-fixture
open orders
linkedin.com/in/priya-fixture
02 · Forager
Person enrichment + Personal emails + Mobile numbers POST /person_detail_lookup/
Match found
03 · Outputs
Priya FixtureHiring Manager, Engineering · Example Inc.
personal email
priya.f@example.net
mobile
+44 20 7946 0958
name
Priya Fixture
title
Hiring Manager, Engineering
work email
priya@example.com
company
Example Inc.
4 fields in the responseexample data

Steps

  1. Check each past contractor with POST /person_detail_lookup/ (linkedin_public_identifier) for roles with an end_date or no current role
  2. Fetch a personal email via POST /person_contacts_lookup/personal_emails/, since the client work address will stop working
  3. Fetch a mobile via POST /person_contacts_lookup/phone_numbers/ for a call or text
  4. Send the recruiter a list of available contractors matched to open orders
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. Check each past contractor with POST /person_detail_lookup/
# (linkedin_public_identifier) for roles with an end_date or no current role
r1 = requests.post(f"{BASE}/person_detail_lookup/", headers=HEADERS, json=body)

# 2. Fetch a personal email via POST
# /person_contacts_lookup/personal_emails/, since the client work address
# will stop working
r2 = requests.post(f"{BASE}/person_contacts_lookup/personal_emails/", headers=HEADERS, json=body)

# 3. Fetch a mobile via POST /person_contacts_lookup/phone_numbers/ for a
# call or text
r3 = requests.post(f"{BASE}/person_contacts_lookup/phone_numbers/", headers=HEADERS, json=body)

# 4. Send the recruiter a list of available contractors matched to open
# orders
Generated from the recipe stepsRequest fields: API reference

Run it yourself: Person enrichment API reference

  • Free API key
  • No credit card
  • Run your sample

Inputs and outputs

InputsOutputs
past contractor LinkedIn URLsavailable contractors
open orderslast role end date
personal email
mobile

Questions about this recipe

How can a staffing firm know when past contractors are available again?

Use it when a past contractor's current role shows an end date, or the firm's own records show an assignment ending. Recruiters fill new orders with proven contractors first, instead of starting a fresh search.

What does it cost to re-engage past contractors when their assignment ends?

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 open orders and past contractor LinkedIn URLs. You get back available contractors, last role end date, mobile and personal email, as JSON. You also need a Forager API key, which comes with a free account.

How do I reach a contractor after their client email stops working?

Check each past contractor with POST /person_detail_lookup/ (linkedin_public_identifier) for roles with an end_date or no current role. Fetch a personal email via POST /person_contacts_lookup/personal_emails/, since the client work address will stop working.

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 past contractor's current role shows an end date, or the firm's own records show an assignment ending. Recruiters fill new orders with proven contractors first, instead of starting a fresh search.

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 reach contractors after assignment ends?

Check each past contractor with POST /person_detail_lookup/ (linkedin_public_identifier) for roles with an end_date or no current role. Send the recruiter a list of available contractors matched to open orders.

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: check each past contractor with POST /person_detail_lookup/ (linkedin_public_identifier) for roles with an end_date or no current role, fetch a personal email via POST /person_contacts_lookup/personal_emails/, since the client work address will stop working, fetch a mobile via POST /person_contacts_lookup/phone_numbers/ for a call or text and send the recruiter a list of available contractors matched to open orders.

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.

Start building

Put people, company and job data your users can act on inside your product

Send us a list. We run it, show you what we find, then talk volume and terms.

  • $5 free credits
  • No credit card
  • Run your sample
Platforms and teams that build on Forager
  • Clay
  • Juicebox
  • Nooks
  • Andela
  • HubSpot
  • SeekOut