[BETA] Merge duplicate contacts

Endpoint essentials
API key accessapi/v1/duplicate_contacts/merge or Master API key
OAuth scopescontacts_deduplicate
Credit usage0 credits
Learn 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 undone

Merging 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 message is Successfully Merged.
  • 2 to 100 groups: Apollo merges the contacts in the background, and the response message is Merge Scheduled. Pass the returned deduplication_job_id to the view a contact merge job endpoint to check when the merge finishes.
Body Params
contacts
array of objects
required
length between 1 and 100

The groups of duplicate contacts to merge, from 1 to 100 groups. Each contact can appear only once in the request.

A request with 1 group is merged before the response returns. A request with 2 or more groups is merged in the background.

contacts*
string
required

The Apollo ID for the contact to keep. The duplicates in this group are merged into it.

To find contact IDs, call the search for contacts endpoint or the find a potential duplicate contact endpoint.

Example: 66e34b81740c50074e3d1bd4

duplicate_contact_ids
array of strings
required
length between 1 and 10

The Apollo IDs for the duplicate contacts to merge into the master contact, up to 10 per group. Apollo deletes these contacts after the merge.

Example: ["66e34b81740c50074e3d1bd5"]

duplicate_contact_ids*
boolean

Not supported for API requests. Omit it or set it to false. Sending true returns 422.

Responses

Language
Credentials
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json