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








What JobAdder data can Merge sync?
Merge can sync core JobAdder data, such as candidate profiles, applications, jobs, and user information. This includes fields like candidate contact details, job statuses, and application stages, all normalized into a common model for simplified access. Additionally, Merge’s Field Mapping and Remote Data features allow you to retrieve and map custom data fields as needed.
Learn more about all of the Jobadder data Merge can sync.
The sync frequencies largely vary based on the Common Model you use and the frequency you set. That said, Merge can typically sync JobAdder data every hour, 3 hours, 6 hours, or 24 hours.
You can also sync data outside of these intervals via Merge’s Force Resync endpoint, and you can sync data in real-time by using Merge’s Automatic Webhooks feature.
Learn more about Merge’s sync frequencies for JobAdder.
Merge supports dozens of additional applicant tracking system (ATS) integrations beyond JobAdder, including platforms like Greenhouse, Lever, iCIMS, SmartRecruiters, Workable, and Bullhorn.
With Merge's Unified API, you can integrate with any of these ATS solutions through a single API, making it easy to expand your ATS coverage and manage candidates, applications, and job data seamlessly across multiple platforms.
Learn about the other ATS integrations Merge supports.
While the use cases naturally depend on the type of application you provide, here are some common use cases:
Learn more about Merge’s use cases with JobAdder—and any other ATS integration—here.
The process can be completed in just a few hours, and you’ll receive support from Merge’s team of solutions architects and customer success managers. In addition, once you’ve built to Merge’s Unified API, you can add dozens of other ATS integrations, saving your engineers countless time and effort.

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