ATS DATA ENRICHMENT
Make the candidate data you already have useful again.
Build a targeted refresh workflow for the candidate records already in your ATS. Use RecruitMCP to retrieve fuller professional profiles and, when needed, find email and phone for a selected group. Review changes and write approved updates back through your ATS integration.
1,250 free credits
Illustrative example. Cedarline Software is a fictional B2B software company. This page shows a plausible workflow, not a real customer result.
Refresh the records that matter
Cedarline builds a workflow that starts with a defined segment, such as candidates in a particular role family whose records have not been reviewed recently. The integration matches each record to a current profile, checks duplicates and internal status, and only then requests profile updates. Email and phone are looked up only for people the team has decided are relevant to pursue. Recruiters inspect the changed fields before anything syncs to the ATS.
Workflow
Where RecruitMCP fits is marked with (RecruitMCP).

- Segment. Your integration selects ATS records that fit a role family, have not been refreshed recently and remain eligible for the intended recruitment use. Never the whole ATS by default.
- Match and check. match_person finds the current profile for a record by name and company (RecruitMCP). Your integration compares profile URLs and IDs with existing records, and checks internal status, prior contact and suppression.
- Enrich. enrich_profiles returns fuller current professional profiles for the selected group (RecruitMCP). A full profile does not include email or phone.
- Find email and phone, when needed. For an approved subset only, find_contact_details looks up email and phone (RecruitMCP). This is a separate decision from enrichment, and a dry run shows the estimate first.
- Review and sync. Your integration maps the data to ATS fields, previews field-level changes, writes only approved updates and stores the refresh date and source.
Example review screen
Illustrative example. This sample is synthetic. Not every record can be refreshed and not every email or phone will be found.

Text version of this example
| Field | Before | Review result |
|---|---|---|
| Current role | Not provided | Profile indicates a current senior engineering role. Check before syncing. |
| Professional profile URL | Missing | Candidate profile found. Check identity and duplicate match. |
| Email and phone | Empty | Lookup not run yet. Find email and phone only after recruiter approval. |
| ATS action | No change | Preview field-level differences, then sync approved fields. |
Tools and endpoints
| MCP tool | REST route | What it does |
|---|---|---|
match_person | POST /v1/people:match | Match a person by name and company. |
enrich_profiles | POST /v1/people:enrich | Enrich profiles. The profile does not include email or phone. |
find_contact_details | POST /v1/people/contacts:fetch | Find email and phone. A dry run returns the estimate first. |
add_suppression | POST /v1/suppressions | Suppress a person. |
Base URL https://api.recruitmcp.com. Full reference: MCP tools Quickstart
Who this is for
In-house talent teams, talent operations, ATS owners and engineering teams responsible for candidate database quality and reuse.
The challenge
Illustrative example. Over time, Cedarline's ATS has become a valuable record of people who applied, were interviewed, were referred or were sourced for earlier vacancies. But a profile that was useful a few years ago may no longer show a person's current role or experience, and some records are missing a professional profile link, email or phone altogether.
When the next suitable role opens, recruiters overlook people already known to the company and start the search again. Refreshing every record at once would be wasteful and adds unnecessary cost, noise and privacy risk.
Keep data quality and control together
RecruitMCP supplies candidate data. Your integration decides which records are eligible, maps fields to your ATS schema, records when a profile was refreshed and preserves where each update came from. That gives your team a practical way to reuse existing candidate history without blindly refreshing every record or contacting everyone in the database.
What RecruitMCP provides:
- Match a record to a current profile (match_person)
- Full professional profiles with work history, education and skills (enrich_profiles)
- Find email and phone for the people you choose (find_contact_details)
- Suppression to keep a person out of future search, lookups and lists (add_suppression)
What your integration owns:
- Segment rules, eligibility and retention
- Field mapping and write-back to your ATS
- Change previews, approvals and the audit trail
- Which existing values must never be overwritten without review
What changes
Instead of treating the ATS as an old archive, the team runs a controlled refresh on a defined segment and inspects the changes before they are saved. When a relevant role opens, recruiters can rediscover people they already know, with more current context. Enrichment is not a reason to contact everyone; contacting someone stays a separate, approved step.
FAQ
Do I have to refresh my whole ATS?
No, and we recommend against it. Start with a defined segment and record why each record qualifies.
Does enrichment return email and phone?
No. Enrichment returns the professional profile. Finding email and phone is a separate call you make only for a selected group.
Will RecruitMCP overwrite my ATS fields?
No. RecruitMCP returns data to your integration. Your integration decides which fields to write, after review.
Where does the profile data come from?
We aggregate public professional data and don't disclose our providers.
How do I respect do-not-contact requests?
Keep do-not-contact status in your ATS, and use suppression in RecruitMCP to keep a person out of future search, lists and email and phone lookups.
Can I contact refreshed candidates from RecruitMCP?
Outreach is in early access: see Outreach in Claude. Enrichment on its own never contacts anyone.