| Endpoint essentials | |
|---|---|
| API key access | api/v1/duplicate_contacts/merge or Master API key |
| OAuth scopes | contacts_deduplicate |
| Credit usage | 0 creditsLearn more about API pricing and credits. |
Contacts are people saved in Apollo.
Use the merge duplicate contacts endpoint to merge up to 100 groups of duplicate contacts in one request. In each group, the master contact is the one you keep. It keeps its own values, fills its empty fields from the duplicates, and gains their emails, phone numbers, lists, sequences, tasks, notes, calls, and activity. Apollo then deletes the duplicates.
To find likely duplicates, call the find a potential duplicate contact endpoint.
Merging can't be undoneMerging permanently deletes the duplicate contacts. If your team syncs contacts to Salesforce or HubSpot with deletion sync on, a merge can also delete the duplicate's CRM record. Review each group before you send it.
Build the request
Send one object per group in the contacts array:
master_contact_id: the contact to keep.duplicate_contact_ids: the duplicate contacts to merge into the master contact, up to 10 per group.
Each contact can appear only once in the request, either as a master contact or as a duplicate. Every ID must be a contact in your team's Apollo workspace.
Apollo checks the whole request before it merges anything. If any check fails, no group is merged. If another merge is still processing one of your contacts, the request returns 409. Send it again after that merge finishes.
One group or several
- 1 group: Apollo merges the contacts before it responds, and the response
messageisSuccessfully Merged. - 2 to 100 groups: Apollo merges the contacts in the background, and the response
messageisMerge Scheduled. Pass the returneddeduplication_job_idto the view a contact merge job endpoint to check when the merge finishes.