Add a phone-validation layer to a contact-data product
Check that a stored phone number still belongs to the named person before customers dial it.
- 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_phone_number/, POST /person_contacts_lookup/phone_numbers/ · Reverse phone lookup API reference
What it costs: 15 credits per mobile found. A mobile or email lookup that returns nothing costs 0 credits. Enrichment and search are charged per request: credit pricing.
- Person enrichment
- Mobile numbers
- API
- Data reseller
- B2B data providers
How the data flows
POST /person_detail_reverse_lookup/by_phone_number/ - match result
- true
- replacement phone number
- +1 (512) 555-0133
- name
- Sam Specimen
- title
- VP Revenue Operations
- work email
- sam@example.com
- company
- Example Inc.
Steps
- Resolve the number with
POST /person_detail_reverse_lookup/by_phone_number/ - Compare returned person name and organization to the stored record
- If mismatched, fetch a current number from
POST /person_contacts_lookup/phone_numbers/ - Mark records validated, replaced or suppressed
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 number with POST # /person_detail_reverse_lookup/by_phone_number/ r1 = requests.post(f"{BASE}/person_detail_reverse_lookup/by_phone_number/", headers=HEADERS, json=body) # 2. Compare returned person name and organization to the stored record # 3. If mismatched, fetch a current number from POST # /person_contacts_lookup/phone_numbers/ r2 = requests.post(f"{BASE}/person_contacts_lookup/phone_numbers/", headers=HEADERS, json=body) # 4. Mark records validated, replaced or suppressed
# 1. POST /person_detail_reverse_lookup/by_phone_number/ curl -X POST \ https://api-v2.forager.ai/api/{account_id}/datastorage/person_detail_reverse_lookup/by_phone_number/ \ -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: Reverse phone lookup API reference
- Free API key
- No credit card
- Run your sample
Inputs and outputs
| Inputs | Outputs |
|---|---|
| stored phone number | match result |
| stored person name + organization | current owner name |
replacement phone_number |
Questions about this recipe
How can I check that a phone number still belongs to the right person?
Resolve the number with POST /person_detail_reverse_lookup/by_phone_number/. If mismatched, fetch a current number from POST /person_contacts_lookup/phone_numbers/.
What does it cost to add a phone-validation layer to a contact-data product?
Person enrichment: 1 credit per request, charged whether or not data comes back. 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 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 stored person name + organization and stored phone number. You get back current owner name, match result and replacement phone_number, as JSON. You also need a Forager API key, which comes with a free account.
What is phone-to-person name matching?
Check that a stored phone number still belongs to the named person before customers dial it. The vendor's customers make fewer wrong-person calls and trust the data more.
Can I test person enrichment for free?
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 record's phone number is about to be shown or exported, or is flagged by a user. The vendor's customers make fewer wrong-person calls and trust the data more.
Which Forager products does this recipe use?
Person enrichment 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. Mobile numbers: direct mobile numbers for a person, from a LinkedIn URL or a Forager person ID, validated before they reach you.
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.
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 number with POST /person_detail_reverse_lookup/by_phone_number/, compare returned person name and organization to the stored record, if mismatched, fetch a current number from POST /person_contacts_lookup/phone_numbers/ and mark records validated, replaced or suppressed.
Do I need a subscription?
Not to test: 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.
Can our users see Forager data in our product?
Yes, under platform terms. Self-serve plans cover internal use by your own team. Showing Forager contacts to your users, or passing records on, is licensed separately: talk to sales about volume and which fields your users need to see.
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.
-
Andela
- Customer
Selected use case: Forager data for the go-to-market team at a global talent marketplace.
-
Coram
- Internal use
Selected use case: mobile numbers for outbound calling.
-
HubSpot
- CRM add-ons
Selected use case: enriching contact and company records with people, company and job-posting data.
-
SeekOut
- Talent intelligence
Selected use case: Forager’s people data feed, used to keep candidate profiles current.
2–3 years on the Forager people data feed, by SeekOut’s own account1
-
Orbital - Lead databases
Selected use case: contact lookups in its enrichment waterfall, for teams selling to local businesses.
Sources
1 SeekOut: SeekOut, customer interview, Sep 2026.
More recipes for data validation
-
Score a contact database's freshness by checking each person's current employer
-
Check that a personal email belongs to the expected person
-
Add a mobile-number slot to a multi-provider enrichment waterfall
-
Detect CRM contacts who changed jobs and alert on moved champions
-
Back a sales-intelligence database with an additional mobile source
-
Build natural-language candidate search on a licensed people feed