Data and prospecting
Capability Reviewed · not yet fact-checked
In short
Can Reply enrich contacts with missing emails and phone numbers?
Reply finds missing LinkedIn URLs (1 credit), emails (2 credits), and phone numbers (3 credits) for existing contacts, refreshes profile and company fields from LinkedIn, and fills AI custom fields from prompts. Email validation classifies addresses as Valid, Risky, or Invalid before sending — Invalid contacts never receive sequence emails.
At a glance
| What it does | Fills missing LinkedIn URLs, emails, and phone numbers; refreshes profile fields from LinkedIn; enriches AI custom fields; validates email addresses |
| Required objects | Existing contacts; Reply credits for enrichment and AI fields; email validation credits for validation |
| Surfaces | UI (People page, CSV import, sequence settings) · REST API (coming soon) · MCP (partial — enrichment settings live) |
| Key limit | 1 credit per LinkedIn URL, 2 per email, 3 per phone number; AI field enrichment also consumes Reply credits |
| Stops on | An empty credit balance blocks new enrichment; email validation runs one batch at a time |
| Does not | Overwrite existing emails or phone numbers during background enrichment; guarantee a result for every contact; send email to Invalid addresses |
| Plans | All plans — trial includes 50 Reply credits; paid plans include 50 per month; validation packages are a separate add-on |
Summary
Reply enriches the contacts you already have: it finds missing LinkedIn URLs, email addresses, and phone numbers for Reply credits, refreshes profile and company fields from a contact's LinkedIn profile, and generates AI custom field values from prompts you define. A separate email validation service classifies every address as Valid, Risky, or Invalid before a sequence sends to it. Enrichment runs on demand from the People page, during CSV import, or automatically when LinkedIn sequence steps execute.
Problems it solves
- Lists with names but no reachable email or phone number
- Stale job titles and company fields that break personalization
- High bounce rates from unverified addresses — see Bounce handling
- Research fields (one-line openers, firmographic answers) filled by AI instead of by hand
What Reply can do
- Find a contact's missing LinkedIn URL (1 credit), email address (2 credits), or phone number (3 credits) — individually, in bulk from the People page, or during CSV import
- Try to fill job title and company name alongside a found LinkedIn URL, with a choice to keep existing data or override it with newer information
- Auto-enrich missing LinkedIn URLs for contacts in LinkedIn sequences — on by default, toggled in settings
- Collect extra data at no credit charge while executing LinkedIn steps that view a profile — filling empty email and phone fields and recording badges such as Open to Work, Hiring, Creator mode, and Top Voice
- Refresh contact data from a known LinkedIn URL (where available): update title, company, industry, location, and company size, and create or relink the matching company account automatically
- Enrich AI custom fields in bulk or per contact, with per-field result statuses (Enriched, Missing variables, No results found, Failed) and a CSV summary in the notification center
- Validate email addresses on demand or automatically whenever contacts are added to a sequence, classifying each as Valid, Risky, or Invalid
- Gate sequence branches on validation results — for example, send only when validation returned Valid
What Reply cannot do
- Overwrite an existing email or phone number during background LinkedIn-step enrichment — only empty fields are filled (system-generated placeholder emails are the one exception)
- Save an email that already belongs to another contact — it is skipped to avoid duplicates
- Guarantee a result for every contact — coverage depends on what the data sources hold
- Enrich without Reply credits, or validate without email validation credits — they are separate balances
- Send sequence emails to a contact whose address validated as Invalid — this applies via the API too
- Find an email without the contact's full name and company name
Required inputs
Existing contact records with enough data to search from (name and company for email finding, or a LinkedIn URL for profile refresh); a Reply credit balance for enrichment and AI fields; an email validation package for validation.
Produced outputs
Updated contact records — found emails, phone numbers, LinkedIn URLs, refreshed profile fields, filled AI custom fields with per-field statuses — plus a validation status (Valid, Risky, Invalid) on each checked address and completion notifications with summaries.
Use Reply when
- Your contacts already live in Reply and you want data gaps closed where outreach runs
- You want validation wired into enrollment so invalid addresses never reach a mailbox — see Contact enrollment
- You want AI-researched fields available as message variables without exporting data
Do not use Reply when
- You need a specialty data vendor for a niche market — enrich there, then import the finished records and let Reply execute
- You need enrichment for records that will never enter Reply — enrichment applies to contacts in your Reply base
What you still need to build
- The decision rules for what to do with unenrichable contacts — park, retry, or discard
- Prompts for AI custom fields — output quality follows prompt quality
capability: data_enrichment
supported: true
interfaces:
product_ui: live
api: coming-soon
mcp: partial
cli: not-verified
required_objects:
- contact
- credits
side_effects:
- updates_contacts
- consumes_credits
human_approval_recommended: false
Limits
- Enrichment credits: 1 per LinkedIn URL, 2 per email, 3 per phone number — see Limits for credit grants
- Email validation runs one batch at a time; start the next batch after the first finishes
- Automatic validation needs time when enrolling large lists — allow roughly 10 minutes per 1,000 contacts before a sequence condition checks the result
- AI custom field values are capped at 1,500 characters
- Credits are charged when AI enrichment returns "No results found" (the request was processed) but not on a system failure
FAQ
What do Valid, Risky, and Invalid mean?
Valid — verification completed with no high-risk factors; safe to sequence. Risky — the mail server says the recipient exists but delivery may still bounce (disposable domains, catch-all servers, honeypots); treat as Valid but keep Risky addresses to about 20% of a send. Invalid — syntax, DNS, or mailbox checks failed; Reply will not email these contacts.
Can I put a contact with an Invalid email into a sequence?
Yes, as long as the sequence has no email steps at that moment — useful for LinkedIn-only outreach at volume. Email steps will not send to Invalid addresses, which protects your bounce rate; see Bounce handling.
Does LinkedIn-step enrichment cost credits?
No. When a LinkedIn step views a profile during sequence execution, Reply collects available data in the background at no credit charge — filling only empty email and phone fields, never replacing existing values.
Are Reply credits and email validation credits the same thing?
No. Reply credits pay for finding data (LinkedIn URLs, emails, phones, AI fields). Email validation uses separate validation packages bought as an add-on. An empty balance in one does not affect the other.
Related
- Prospect data — the underlying objects
- Find prospects from an ICP — sourcing plus enrichment in one flow
- Contact enrollment — where automatic validation fires
- Prospect search
- Contact management
Build with Reply
- REST API: docs.reply.io — enrichment and validation endpoints (check operation status)
- MCP: agents.reply.io/mcp — enrichment settings and contact operations