Connect your product to all the applications your customers use via Merge's Unified API to close more deals, retain customers, and expand to new markets








The Employment object is used to represent a job position at a company. If an integration supports historical tracking of employments, it will be reflected in the data. If not, a new Employment object will be created whenever there is a change in job title or pay. The effective_date field should be used to order Employment objects, with the most recent date corresponding to the latest employment record for an employee.

Trusted to power integrations at
More sales, less code, fewer headaches
Stop diverting your engineers to yet another integration and let them get back to work.
Manage your simplified integration issues in a single pane. No therapist required.
Launch integrations in days, not quarters. Your sales team will thank you.
.png)

Merge seamlessly manages authentication and authorization on behalf of your customers.
Offer account linking and permission controls to your users with Link for a customizable frontend or with Magic Link for URL-based authorization
We make integrations painless with accessible API design, dead-simple SDKs, and beautiful documentation that we agonize over.
1from merge import Merge
2
3client = Merge(
4 account_token="YOUR_ACCOUNT_TOKEN",
5 api_key="YOUR_API_KEY",
6)
7client.hris.employees.list()import { MergeClient, Merge } from '@mergeapi/merge-node-client';
const merge = new MergeClient({
apiKey: 'YOUR_API_KEY',
accountToken: 'YOUR_ACCOUNT_TOKEN',
});
employee = await merge.hris.employees.list()
ApiClient.instance.authentications.tokenAuth = {
type: 'bearer',
accessToken: 'API_KEY',
};
new EmployeesApi().employeesList('ACCOUNT_TOKEN', {}, (data) => {
console.log(data);
});import (
"context"
"fmt"
merge "github.com/fern-api/merge-go"
mergeclient "github.com/fern-api/merge-go/client"
"github.com/fern-api/merge-go/hris"
)
client := mergeclient.NewClient(
mergeclient.ClientWithAuthApiKey("<YOUR_API_KEY>"),1ApiClient client = Configuration.getDefaultApiClient();
2client.setBasePath('https://api.merge.dev/api/ats/v1');
3ApiKeyAuth tokenAuth = client.getAuthentication('tokenAuth');
4tokenAuth.setApiKey('API_KEY');
5CandidatesApi apiInstance = new CandidatesApi(client);
6apiInstance.candidatesList('ACCOUNT_TOKEN');import com.merge.api.MergeApiClient;
import com.merge.api.resources.hris.employees.requests.EmployeesRetrieveRequest;
import com.merge.api.resources.hris.types.Employee;
MergeApiClient mergeClient = MergeApiClient.builder()
.accountToken("ACCOUNT_TOKEN")
.apiKey("API_KEY")
.build();
Employee employee = mergeClient.hris().employees().list(
EmployeesRetrieveRequest.builder()
.includeRemoteData(true)> {
"id": "0958cbc6-6040-430a-848e-aafacbadf4ae","remote_id": "19202938","employee_number": "2","company": "8d9fd929-436c-4fd4-a48b-0c61f68d6178","first_name": "Dirna","last_name": "Emanuel","display_full_name": "Dirna Emanuel",
"username": "dirnaemanuel",
"groups": [
Case study
%201%20(1).avif)
Working with Merge’s Unified API and beautiful React component took less than a sprint to integrate, test, and release.
Stay in touch to learn how Merge can unlock hundreds of integrations in days, not years