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

Enrich mobiles just in time at dial time instead of bulk refreshes

Look up a mobile only when a contact is about to be dialed so numbers are fresh and credits are spent on contacts that are actually called.

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

A selection of teams that run this job on Forager · plus other sales-tech platforms

  • Clay
  • Juicebox
  • Nooks
  • Amplemarket
  • Airscale
  • HubSpot
  • Klenty
  • Orbital

Uses POST /person_detail_lookup/, POST /person_contacts_lookup/phone_numbers/ · Person enrichment 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.

How the data flows

3 inputs → Mobile numbers + Person enrichment → 4 fields sample data
01 · Inputs
queued contact
linkedin.com/in/alex-sample
LinkedIn URL
linkedin.com/in/alex-sample
last-enriched timestamp
linkedin.com/in/alex-sample
02 · Forager
Mobile numbers + Person enrichment POST /person_detail_lookup/
Match found
03 · Outputs
Alex SampleVP Revenue Operations · Example Inc.
phone number
+1 (212) 555-0199
current role title
VP Revenue Operations
organization
Example Inc.
looked up at
2026-10-01
name
Alex Sample
work email
alex@example.com
4 fields in the responseexample data

Steps

  1. Dialer flags queued contacts with missing or stale phone fields
  2. Resolve identity with POST /person_detail_lookup/ (linkedin_public_identifier) to confirm current role
  3. Call POST /person_contacts_lookup/phone_numbers/ only for contacts confirmed in role; store phone_number with lookup timestamp
  4. Skip lookups for contacts not dialed in the session, avoiding bulk list spend
  5. Expire cached numbers on the platform's freshness rule and re-query on next dial
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. Dialer flags queued contacts with missing or stale phone fields

# 2. Resolve identity with POST /person_detail_lookup/
# (linkedin_public_identifier) to confirm current role
r1 = requests.post(f"{BASE}/person_detail_lookup/", headers=HEADERS, json=body)

# 3. Call POST /person_contacts_lookup/phone_numbers/ only for contacts
# confirmed in role; store phone_number with lookup timestamp
r2 = requests.post(f"{BASE}/person_contacts_lookup/phone_numbers/", headers=HEADERS, json=body)

# 4. Skip lookups for contacts not dialed in the session, avoiding bulk list
# spend

# 5. Expire cached numbers on the platform's freshness rule and re-query on
# next dial
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
queued contactphone_number
LinkedIn identifiercurrent role_title
last-enriched timestamporganization
looked_up_at

Questions about this recipe

Is it better to bulk-enrich call lists or look up phone numbers at dial time?

Look up a mobile only when a contact is about to be dialed so numbers are fresh and credits are spent on contacts that are actually called. Reps dial fresher numbers while the platform lowers data spend per connected conversation.

What does it cost to enrich mobiles just in time at dial time instead of bulk refreshes?

Mobile numbers: 15 credits per mobile number found, and a mobile number lookup that finds nothing costs 0 credits. Person enrichment: 1 credit per request, charged whether or not data comes back. 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 last-enriched timestamp, LinkedIn identifier and queued contact. You get back current role_title, looked_up_at, organization and phone_number, as JSON. You also need a Forager API key, which comes with a free account.

How do dialers keep phone numbers fresh without re-buying whole lists?

Dialer flags queued contacts with missing or stale phone fields. Call POST /person_contacts_lookup/phone_numbers/ only for contacts confirmed in role; store phone_number with lookup timestamp.

Can I test mobile numbers 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 contact enters today's dial queue without a verified mobile, or its stored number is older than the platform's freshness window. Reps dial fresher numbers while the platform lowers data spend per connected conversation.

Which Forager products does this recipe use?

Mobile numbers and person enrichment. Mobile numbers: direct mobile numbers for a person, from a LinkedIn URL or a Forager person ID, validated before they reach you. Person enrichment: a full professional profile for a person from a LinkedIn URL, email or phone: experience, education, skills and contact channels.

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?

5 steps: dialer flags queued contacts with missing or stale phone fields, resolve identity with POST /person_detail_lookup/ (linkedin_public_identifier) to confirm current role, call POST /person_contacts_lookup/phone_numbers/ only for contacts confirmed in role; store phone_number with lookup timestamp, skip lookups for contacts not dialed in the session, avoiding bulk list spend and expire cached numbers on the platform's freshness rule and re-query on next dial.

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.

A selection of teams that run this job on Forager · plus other sales-tech platforms

  • 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.

  • Amplemarket
    • AI SDRs

    Selected use case: mobile numbers inside its contact waterfall.

  • Airscale
    • Waterfall enrichment

    Selected use case: a Forager step in its mobile number waterfall.

  • HubSpot
    • CRM add-ons

    Selected use case: enriching contact and company records with people, company and job-posting data.

  • Klenty
    • Power & parallel dialers

    Sales engagement and AI dialer platform.

  • Orbital
    • Lead databases

    Selected use case: contact lookups in its enrichment waterfall, for teams selling to local businesses.

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