Export Recruitment Report Data via API Integration
This article is a guide on how to create a Recruitment Report API integration to export recruitment data from the BrioHR Recruitment module.
Note: For a comprehensive overview of the BrioHR API integration flow, please refer to the article here.
IMPORTANT:
To enable this integration, you will need to contact our support team via email or live chat so we can provide the necessary access. Please contact us via:
- Email: support@briohr.com
- Live chat: Available 9 am - 6 pm (Kuala Lumpur working days)
Note: If you are still in the implementation stage, please reach out to your implementation manager for support.
The integration flow with BrioHR will consist of the steps below:
- Client request for the APIs/integration access together with the list of IPs (recommended for securing the line of integration).
- BrioHR will create the credentials for client. Consists of: Authentication credentials and client’s ID.
- Client can try to connect to BrioHR API using the link, authentication & ID.
Report API URL:
https://static.api.briohr.com/v2/api/external/reports/recruitment-report/download
| Header | Value |
| Authorization |
Basic base64_encode(<username:password>) |
| x-api-context-company | <company id> |
| x-resource-type | recruitment |
| Query Parameter | Mandatory/Optional | Example Value |
| format | Optional (Default csv) | csv | json |
| query | Optional | applicationDateMode|eq|LAST_30_DAYS |
Available Data Modes for applicationDateMode:
| Value | Description |
| LAST_7_DAYS | Last 7 days (default if no date filterprovided) |
| LAST_30_DAYS | Last 30 days |
| LAST_60_DAYS | Last 60 days |
| LAST_90_DAYS | Last 90 days |
| THIS_YEAR | Current year |
| LAST_YEAR | Last year |
| ALL | All time |
| CUSTOM | Custom date range (requires applicationDateCustomDates with gte and lte) |
Filter Syntax:
Filters are passed via the query parameter using pipe-delimited format:
fieldName|operator|value
Multiple filters are joined with AND (URL-encoded as %20AND%20)
Multi-values are separated by @x@ (e.g. job|includes|jobId1@x@jobId2)
| Available Filters | Type | Operator |
| applicationDateMode | String | eq |
| applicationDateCustomDates | Date | gte, lte |
| job | String | includes |
| active | Boolean | eq |
| gender | String | eq |
| birthAt | Date | gte, lte |
| source | String | includes |
| status | String | includes |
| hiringManager | String | includes |
| recruiter | String | includes |
| expectedSalary | Number | gte, lte |
| previousSalary | Number | gte, lte |
| noticePeriod | Number | gte, lte |
| yearsOfExperience | Number | gte, lte |
| jobGrade | String | includes |
| specialization | String | includes |
| currentLocation | String | like |
| screeningAverageRating | Number | gte, lte |
| interviewAverageRating | Number | gte, lte |
For Power BI & other 3rd party that cannot inject the x-api-context-company in the header:
Expected output: recruitment_report.csv
Example of CURL
curl -o recruitment.csv --location
'https://static.api.briohr.com/v2/api/external/reports/recruitmentreport/
download?format=csv' \
--header 'Authorization: Basic aHotYXBwOmJyaW9ocg==' \
--header 'x-api-context-company: 412cc8a9d90158c489b83e83' \
--header 'x-resource-type: recruitment'
Example of CURL with Date Filter (Last 30 Days)
curl -o recruitment.csv --location
'https://static.api.briohr.com/v2/api/external/reports/recruitmentreport/
download?format=csv&query=applicationDateMode|eq|LAST_30_DAYS' \
--header 'Authorization: Basic aHotYXBwOmJyaW9ocg==' \
--header 'x-api-context-company: 412cc8a9d90158c489b83e83' \
--header 'x-resource-type: recruitment'
Example of CURL with Custom Date Range
curl -o recruitment.csv --location
'https://static.api.briohr.com/v2/api/external/reports/recruitmentreport/
download?format=csv&query=applicationDateMode|eq|CUSTOM AND
applicationDateCustomDates|gte|2026-01-01 AND
applicationDateCustomDates|lte|2026-03-27' \
--header 'Authorization: Basic aHotYXBwOmJyaW9ocg==' \
--header 'x-api-context-company: 412cc8a9d90158c489b83e83' \
--header 'x-resource-type: recruitment'
Example of CURL with Custom Date Range + Job Filter
curl -o recruitment.csv --location
'https://static.api.briohr.com/v2/api/external/reports/recruitmentreport/
download?format=csv&query=applicationDateMode|eq|CUSTOM AND
applicationDateCustomDates|gte|2026-01-01 AND
applicationDateCustomDates|lte|2026-03-27 AND
job|includes|64a1b2c3d4e5f6a7b8c9d0e1@x@64a1b2c3d4e5f6a7b8c9d0e2' \
--header 'Authorization: Basic aHotYXBwOmJyaW9ocg==' \
--header 'x-api-context-company: 412cc8a9d90158c489b83e83' \
--header 'x-resource-type: recruitment'
Example of CURL for PowerBI
curl -o recruitment.csv --location
'https://static.api.briohr.com/v2/api/external/reports/recruitmentreport/
download?
format=csv&query=applicationDateMode|eq|LAST_30_DAYS&company=412cc8a9d9
0158c489b83e83&resource=recruitment' \
--header 'Authorization: Basic aHotYXBwOmJyaW9ocg=='
Example of CSV Output
"name","job","active","appliedDate","firstName","lastName","preferredNa
me","email","mobilePhone","gender","birthAt","source","status","hiringM
anager","recruiter","expectedSalaryCurrency","expectedSalary","previous
SalaryCurrency","previousSalary","noticePeriod","yearsOfExperience","jo
bGrade","specialization","currentLocation","linkedIn","github","screeni
ngAverageRating","interviewAverageRating"
"John Doe","Software Engineer","true","2026-03-
15","John","Doe","John","john.doe@example.com","+60123456789","Male","1
990-05-20","LinkedIn","interview","Jane Smith","Bob
Wilson","MYR","8000","MYR","6500","2","5","L3","Backend
Development","Kuala
Lumpur","https://linkedin.com/in/johndoe","https://github.com/johndoe",
"4.2","3.8"
"Sarah Lee","Product Manager","true","2026-03-
10","Sarah","Lee","Sarah","sarah.lee@example.com","+60198765432","Femal
e","1992-08-15","Indeed","screening","Alex Tan","Bob
Wilson","MYR","12000","MYR","10000","3","8","L4","Product
Management","Penang","https://linkedin.com/in/sarahlee","","3.5",""
NOTES:
-
If no
applicationDateModefilter is provided, the report defaults toLAST_7_DAYS -
When using
CUSTOMdate mode, bothapplicationDateCustomDates|gte|<start>andapplicationDateCustomDates|lte|<end>must be provided. -
Pre-assessment fields are dynamic per company and will appear as additional columns in the output.
IMPORTANT:
Kindly be informed that BrioHR will need to whitelist the client's IP and then provide the client with the username, password and company ID.
Need Assistance?
If you have any questions regarding the API above or require assistance, please reach out to our support team via live chat or email us at support@briohr.com.