Refresh contact data before an agent writes to the CRM
Let a CRM copilot or agent check that a contact's role, employer and work email are current before it creates or updates the record, so it never writes a stale email or an old title.
- Free API key
- No credit card
- Run your sample
A selection of teams that run this job on Forager · plus other teams on Forager
Uses POST /person_detail_reverse_lookup/by_email/, POST /person_detail_lookup/, POST /person_contacts_lookup/work_emails/ · Reverse email lookup API reference
What it costs: 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
- Work emails
- Reverse email lookup
- API
- Embedded in a platform
- AI agents & developer tools
How the data flows
POST /person_detail_reverse_lookup/by_email/ - current title
- VP Revenue Operations
- current employer
- Example Inc.
- work email
- jane@example.com
- person id
- per_8f3a1c
- name
- Jane Example
- mobile
- +1 (415) 555-0142
Steps
- Resolve the contact with
POST /person_detail_reverse_lookup/by_email/orPOST /person_detail_lookup/ - Compare the returned employer and title with the CRM record and flag a job change
- Fetch the work email at the current employer with
POST /person_contacts_lookup/work_emails/when the employer changed - Write the record with the Forager
person_idand the lookup date, so the next refresh is a cheap comparison
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 the contact with POST /person_detail_reverse_lookup/by_email/ # or POST /person_detail_lookup/ r1 = requests.post(f"{BASE}/person_detail_reverse_lookup/by_email/", headers=HEADERS, json=body) r2 = requests.post(f"{BASE}/person_detail_lookup/", headers=HEADERS, json=body) # 2. Compare the returned employer and title with the CRM record and flag a # job change # 3. Fetch the work email at the current employer with POST # /person_contacts_lookup/work_emails/ when the employer changed r3 = requests.post(f"{BASE}/person_contacts_lookup/work_emails/", headers=HEADERS, json=body) # 4. Write the record with the Forager person_id and the lookup date, so the # next refresh is a cheap comparison
# 1. POST /person_detail_reverse_lookup/by_email/ curl -X POST \ https://api-v2.forager.ai/api/{account_id}/datastorage/person_detail_reverse_lookup/by_email/ \ -H "X-API-KEY: $FORAGER_KEY" \ -H "Content-Type: application/json" \ -d @request.json # 2. 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 # 3. POST /person_contacts_lookup/work_emails/ curl -X POST \ https://api-v2.forager.ai/api/{account_id}/datastorage/person_contacts_lookup/work_emails/ \ -H "X-API-KEY: $FORAGER_KEY" \ -H "Content-Type: application/json" \ -d @request.json
Run it yourself: Reverse email lookup API reference
- Free API key
- No credit card
- Run your sample
Inputs and outputs
| Inputs | Outputs |
|---|---|
| email address | current title |
| LinkedIn URL or public identifier | current employer |
| CRM contact record | work_email |
person_id | |
job change (bool) |
Questions about this recipe
How does a CRM agent know a contact changed jobs before it updates the record?
Compare the returned employer and title with the CRM record and flag a job change. Fetch the work email at the current employer with POST /person_contacts_lookup/work_emails/ when the employer changed.
What does it cost to refresh contact data before an agent writes to the CRM?
Person enrichment: 1 credit per request, charged whether or not data comes back. Work emails: 5 credits per work email found, and a work email lookup that finds nothing costs 0 credits. Reverse email lookup: 5 credits per request, charged whether or not data comes back. Growth's 8,250 monthly credits cover 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 CRM contact record, email address and LinkedIn URL or public identifier. You get back current employer, current title, job change (bool) and person_id, as JSON. You also need a Forager API key, which comes with a free account.
Which API returns the current employer and work email for a contact?
This recipe uses Forager Person enrichment, Work emails and Reverse email lookup. Person enrichment: A full professional profile for a person from a LinkedIn URL, email or phone: experience, education, skills and contact channels. Let a CRM copilot or agent check that a contact's role, employer and work email are current before it creates or updates the record, so it never writes a stale email or an old title.
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?
An agent is about to update a CRM contact from an email thread or a meeting note, and the stored title and employer are from a previous job. The agent writes current records, and the platform pays only for the work emails it found rather than for every check.
Which Forager products does this recipe use?
Person enrichment, work emails and reverse email lookup. Person enrichment: a full professional profile for a person from a LinkedIn URL, email or phone: experience, education, skills and contact channels. Work emails: verified work email addresses for a person at their current employer.
How do I know the data is right?
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 refresh CRM contact before AI agent update?
Resolve the contact with POST /person_detail_reverse_lookup/by_email/ or POST /person_detail_lookup/. Compare the returned employer and title with the CRM record and flag a job change.
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 the contact with POST /person_detail_reverse_lookup/by_email/ or POST /person_detail_lookup/, compare the returned employer and title with the CRM record and flag a job change, fetch the work email at the current employer with POST /person_contacts_lookup/work_emails/ when the employer changed and write the record with the Forager person_id and the lookup date, so the next refresh is a cheap comparison.
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 teams on ForagerA 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.
-
Emergent Labs
- Agent builders
AI app-building platform where agents design, code and deploy full-stack apps.
-
Deepline
- Waterfall enrichment
Selected use case: Forager lookups as typed tools inside enrichment waterfalls.
19 typed Forager tools available inside Deepline1
-
HubSpot
- CRM add-ons
Selected use case: enriching contact and company records with people, company and job-posting data.
-
BetterContact - Waterfall enrichment
Selected use case: a Forager step in its waterfall for mobile numbers.
-
Freckle - GTM workflow builders
Selected use case: Forager as a selectable mobile number provider in its waterfalls.
Sources
1 Deepline: deepline.com/integrations/forager (public page, read 2026-10-21).
More recipes for LLM apps
-
License a people feed for retrieval over people and company records
-
Ground AI CRM agents with fresh company and people records
-
Brief users on the people they are about to meet, from an email address
-
Resolve a sign-up email to a person inside a copilot
-
Answer hiring and labor-market questions in an AI analyst from a job postings feed
-
Train title-normalisation and company-matching models on structured profiles