Introduction
The Salary Calculator API is designed to help companies instantly estimate accurate, market-aligned salary ranges for any job vacancy. It uses SupportFinity’s proprietary global compensation intelligence engine, which evaluates multiple real-world factors such as skills, experience, work mode, job type, company size, geographic salary indices, and more.
This API allows organizations, platforms, and HR systems to:
Generate precise and competitive salary ranges
Standardize compensation decisions across jobs
Support internal HR, TA, and finance workflows
Power job-posting automation with real-time salary intelligence
Reduce guesswork and increase transparency for global salary planning
The API is typically used inside:
Applicant Tracking Systems (ATS)
HR workflow automations
Job creation forms
Compensation benchmarking and analytics dashboards
Enterprise HRIS extensions
Partner integrations via SupportFinity’s developer ecosystem
Salary Calculator API
Endpoint Information
Endpoint:
POST /job-vacancy/calculate-system-salary
Description:
Calculates an AI-generated, system-recommended salary range for a job vacancy using job title, skills, experience level, location, languages, company type, contract type, work mode, engagement hours, and more.
Credits are deducted from the company’s job board package.
Version: 3.1.2
Authentication
Required: Yes
Type: Bearer Token
Header
Authorization: Bearer <token>
Required Permissions:
Authenticated customer user
Active company package with salary calculation credits
Request
HTTP Method
POST
Headers
Header | Type | Required | Description |
Authorization | string | Yes | Bearer token |
Content-Type | string | Yes | Must be application/json |
Request Body
Content-Type: application/json
Schema Overview
Field | Type | Required | Description |
jobWrapper | JobWrapper | Yes | Defines job name or ID |
skillsWrapper | SkillsWrapper | Yes | Required skills |
experienceLevel | string | Yes | Experience level |
address | Address | Yes | Country, state, city |
salaryCycle | string | Yes | YEARLY, MONTHLY, WEEKLY, HOURLY |
engagementPerWeek | number | Yes | Hours per week |
workMode | string | Yes | REMOTE, ONSITE, HYBRID |
jobType | string | No | FULL_TIME, PART_TIME, FREELANCE, CONTRACT, INTERNSHIP |
languages | array | No | Required spoken languages |
currency | CurrencyEntity | No | Preferred currency (defaults to USD) |
details | JVDetailsEntity | No | Contract details |
companyType | string | No | Company size/type (STARTUP, LARGE, FORTUNE_500, etc.) |
Example Request
{
"jobWrapper": {
"name": "Software Engineer"
},
"skillsWrapper": {
"skills": [
{ "name": "Java" },
{ "name": "Spring Boot" },
{ "name": "Microservices" },
{ "name": "AWS" }
]
},
"experienceLevel": "SENIOR",
"address": {
"location": {
"country": { "name": "United States" },
"state": { "name": "New York" },
"city": { "name": "New York City" }
}
},
"salaryCycle": "YEARLY",
"engagementPerWeek": 40,
"workMode": "REMOTE",
"jobType": "FULL_TIME",
"languages": [{ "name": "English" }],
"currency": { "code": "USD", "symbol": "$" },
"companyType": "LARGE_BUSINESS_GLOBAL"
}Response
Success Response
Status: 200 OK
Content-Type: application/json
Schema
Field | Type | Description |
data | JobVacancyEntity | Job data with salary range |
data.systemSalaryRange | PriceRange | Calculated salary range |
data.systemSalaryRange.min | Price | Min salary (original + USD equivalent) |
data.systemSalaryRange.max | Price | Max salary (original + USD equivalent) |
remainingCredits | RemainingCredits | Remaining credits info |
Example Response
{
"data": {
"jobWrapper": { "name": "Software Engineer" },
"skillsWrapper": {
"skills": [
{ "name": "Java" },
{ "name": "Spring Boot" },
{ "name": "Microservices" },
{ "name": "AWS" }
]
},
"experienceLevel": "SENIOR",
"salaryCycle": "YEARLY",
"engagementPerWeek": 40,
"workMode": "REMOTE",
"jobType": "FULL_TIME",
"currency": {
"code": "USD",
"symbol": "$"
},
"systemSalaryRange": {
"min": { "amount": 120000, "amountInUsd": 120000 },
"max": { "amount": 180000, "amountInUsd": 180000 }
}
},
"remainingCredits": {
"feature": "SYSTEM_SALARY_CALCULATION",
"remainingCount": 24,
"totalCount": 25,
"unlimited": false
}
}Error Responses
401 Unauthorized
{
"status": 401,
"error": "Unauthorized",
"message": "Authentication required"
}403 Forbidden
{
"status": 403,
"error": "Forbidden",
"message": "User not found"
}400 Bad Request
{ "status": 400, "error": "Bad Request", "message": "Invalid job {
"status": 400,
"error": "Bad Request",
"message": "Invalid job vacancy data provided"
}402 Insufficient Credits
{
"status": 402,
"error": "Insufficient Credits",
"message": "You have exhausted your salary calculation credits. Please upgrade your package."
}500 Internal Server Error
{
"status": 500,
"error": "Internal Server Error",
"message": "An error occurred while calculating salary"
}Usage Examples
cURL
curl -X POST https://api.supportfinity.com/job-vacancy/calculate-system-salary-customer \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{...}'
JavaScript (Fetch API)
const response = await fetch(
"https://api.supportfinity.com/job-vacancy/calculate-system-salary-customer",
{
method: "POST",
headers: {
Authorization: `Bearer ${accessToken}`,
"Content-Type": "application/json"
},
body: JSON.stringify(jobData)
}
);
Python (Requests)
response = requests.post(
url,
headers={"Authorization": f"Bearer {access_token}", "Content-Type": "application/json"},
json=job_data
)
Business Logic
The Salary Calculator engine evaluates multiple parameters:
1. Job & Skills Ranking
Determines seniority and complexity using title + skill combinations
2. Experience Level Adjustment
STARTER, JUNIOR, MID_LEVEL, SENIOR
3. Language Requirements
Multiple languages affect compensation
4. Work Hours
Engagement hours per week impact salary
5. Work Mode
REMOTE, ONSITE, HYBRID influence salary differently
6. Company Type
STARTUP, SMB, LARGE, FORTUNE_500 and others
7. Geographic Location
Uses country or state or city
8. Salary Cycle Conversion
Converts base hourly rates to requested cycles
9. Contract Type
Employment vs contract engagement
10. Currency Conversion
Converts to local country currency or defaults to USD
Notes
No credit deduction on failure
Requires active company package
Uses real-time global market data
Rate Limiting
Limit Type | Value |
Requests per minute | 60 (default value. Other values are customizable per package) |
Changelog
Version | Date | Description |
3.1.2 | 2025-10-01 | Minor improvements, stability fixes, refined salary scaling for new markets. |
3.1.1 | 2025-07-12 | Updated credit validation rules and improved error handling. |
3.1.0 | 2025-05-20 | Added enhancements to location intelligence and experience-level weighting. |
3.0.0 | 2025-03-01 | Major engine upgrade, improved accuracy, expanded job taxonomy coverage. |
2.5.0 | 2024-11-10 | Added new skills relevance scoring and improved currency normalization. |
2.4.0 | 2024-08-18 | Introduced multi-country salary blending for global roles. |
2.3.0 | 2024-05-30 | Improved data ingestion pipeline for salary benchmarks. |
2.2.0 | 2024-03-10 | Enhanced salary calculation for contract and part-time roles. |
2.1.0 | 2023-12-15 | Introduced new job category intelligence module. |
2.0.0 | 2023-10-01 | Major refactor for scalability and faster calculation response times. |
1.5.0 | 2023-07-20 | Added skill-based modifiers and improved title interpretation. |
1.2.0 | 2023-04-10 | Improved market data normalization and calculation reliability. |
1.0.0 | 2023-01-15 | Initial release of the System Salary Calculation API. |
Support
Email: [email protected]
Help Center: https://help.supportfinity.com
Premium support customers: Please contact your dedicated Customer Support Engineer directly
