☰
CompAnalyst
| API
×
Welcome to the Salary.com API Authentication
Data as a Service CompAnalyst and JobArchitect

DATA AS A SERVICE

Introduction & AI Market Data Job Match API
Behavior Request Field Definitions Response Field Definitions Match a Job POST Batch Match Jobs POST Match a Job (Verbose) POST Batch Match Jobs (Verbose) POST
Posting Data Job Match API
Behavior Request Field Definitions Response Field Definitions Match a Job POST Match a Job (Verbose) POST

COMPANALYST

Employees
Get an Employee GET Get Employee List GET Create an Employee POST Update an Employee PUT Delete an Employee DELETE
Company Jobs
Get a Company Job GET Get Company Job List GET Create a Company JobPOST Update a Company Job PUT
Composites
Get Composite ListGET Get Composite by Job CodeGET

JOBARCHITECT

Jobs
Get Job Description List GET Get a Job Description Details GET
Skills
Get Skills GET

REFERENCE

Field Definitions
Employees Company Jobs Salary Plan Competencies Composites JobArchitect Skills
Change Log

Batch Match Jobs

POST /DaaS/batchjobpricing

Match up to 200 jobs in a single request. The request fields are the same as for the single /jobpricing endpoint, with the addition of the “SubRequestID” field. The consumer must assign a unique SubRequestID to each individual job in the request.

This SubRequestID is returned in the response body in order to match each requested job to the response.

URL

https://daasjobmatchapi.salary.com/DaaS/batchjobpricing

Method

POST

Request Headers

Authorization: Bearer {AccessToken}

Content-Type: application/json

Request Body

[
  {
    "SubRequestID": "string",
    "JobTitle": "string",
    "JobDesc": "string",
    "CompanyName": "string",
    "DataScope": {
      "CountryCode": "string",
      "State": "string",
      "City": "string",
      "ZipCode": "string",
      "NAICSCode": "string",
      "FTEValue": 0,
      "Revenue": 0
    }
  },
  {
    "SubRequestID": "string",
    "JobTitle": "string",
    "JobDesc": "string",
    "CompanyName": "string",
    "DataScope": {
      "CountryCode": "string",
      "State": "string",
      "City": "string",
      "ZipCode": "string",
      "NAICSCode": "string",
      "FTEValue": 0,
      "Revenue": 0
    }
  }
]

Please reference “Field Definitions” and “Behavior” sections for detailed information about the fields and API behavior.

Example Request

curl -X 'POST' \
  'https://daasjobmatchapi.salary.com/DaaS/batchjobpricing' \
  -H 'accept: */*' \
  -H 'Authorization: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1laWRlbnRpZmllciI6IjA1NjE4Q0JBLTUzMzAtNEYxQi05NzI2LUY4OUQ2MkZCNTREMCIsImh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3dzLzIwMDUvMDUvaWRlbnRpdHkvY2xhaW1zL25hbWUiOiJCRUQ0M0ZCMC1COUU1LTQ3ODAtOUNCRS01NTdFMUE2MUFDNzciLCJuYmYiOjE3MTM0NTY3ODUsImV4cCI6MTcxNDA2MTU4NSwiaXNzIjoiU2FsYXJ5IiwiYXVkIjoiSm9iTWF0Y2hBUElDbGllbnQifQ.Cy-TVOjmNZkD4jaSeoeOj_jX4x8H07X9VoRDQnSFTl8' \
  -H 'Content-Type: application/json' \
  -d '[
  {
    "SubRequestID": "1",
    "JobTitle": "Accountant I",
    "JobDesc": "",
    "CompanyName": "",
    "DataScope": {
      "CountryCode": "USA",
      "State": "MA",
      "City": "Boston",
      "ZipCode": "02111",
      "NAICSCode": "52",
      "FTEValue": 150,
      "Revenue": 0
    }
  },
    {
    "SubRequestID": "2",
    "JobTitle": "Accountant II",
    "JobDesc": "",
    "CompanyName": "",
    "DataScope": {
      "CountryCode": "USA",
      "State": "MA",
      "City": "Boston",
      "ZipCode": "02111",
      "NAICSCode": "52",
      "FTEValue": 0,
      "Revenue": 10000000
    }
  }
]'

Response Body

Note the SubRequestID in the example request corresponds to the SubRequestID in the response body.

200 HTTP Status Code

This response body corresponds to the example request above.

{
  "Code": 1,
  "Data": [
    {
      "SubRequestID": "1",
      "MatchRating": "Confident",
      "Salary10": 56553.7446,
      "Salary25": 62128.7423,
      "Salary50": 68252.1006,
      "Salary75": 75286.3125,
      "Salary90": 81690.5949,
      "Comp10": 57260.8285,
      "Comp25": 63277.4648,
      "Comp50": 69885.9014,
      "Comp75": 77720.2083,
      "Comp90": 84852.9354,
      "BonusTarget50": 4095.126,
      "BonusTargetAvg": 4504.6386,
      "CurrencyCode": "USD",
      "DataScope_IndustryCode": "52",
      "DataScope_IndustryName": "Finance and Insurance",
      "DataScope_FTERange": "101-200",
      "DataScope_CountryCode": "USA",
      "DataScope_Region": "Northeast",
      "DataScope_State": "MA",
      "DataScope_City": "Boston",
      "JobFamilyName": "Accountants and Financial Personnel",
      "JobLevelName": "Entry (I)"
    },
    {
      "SubRequestID": "2",
      "MatchRating": "Confident",
      "Salary10": 67006.5856,
      "Salary25": 74077.1885,
      "Salary50": 81843.2605,
      "Salary75": 90570.0902,
      "Salary90": 98515.4126,
      "Comp10": 68074.7302,
      "Comp25": 75916.8802,
      "Comp50": 84530.3893,
      "Comp75": 94626.8736,
      "Comp90": 103819.1951,
      "BonusTarget50": 6474.232,
      "BonusTargetAvg": 6496.2007,
      "CurrencyCode": "USD",
      "DataScope_IndustryCode": "52",
      "DataScope_IndustryName": "Finance and Insurance",
      "DataScope_RevenueRange": "5000001-10000000",
      "DataScope_CountryCode": "USA",
      "DataScope_Region": "Northeast",
      "DataScope_State": "MA",
      "DataScope_City": "Boston",
      "JobFamilyName": "Accountants and Financial Personnel",
      "JobLevelName": "Intermediate (II)"
    }
  ]
}

Common Errors

Non Unique SubRequestID

404 HTTP Status Code

{
    "Code": -1,
    "Data": [
      {
        "SubRequestID": "1",
        "ErrorMessage": "SubRequestID for each subrequest must be unique, duplicate SubRequestID: 1."
      },
      {
        "SubRequestID": "1",
        "ErrorMessage": "SubRequestID for each subrequest must be unique, duplicate SubRequestID: 1."
      }
    ]
}

Missing SubRequestID in one of the JSON objects

200 HTTP Status Code

If one of the JSON objects contains valid data but a second is missing the SubRequestID, data will still be returned for the valid objects.

    .....
    {
      "ErrorMessage": "The SubRequestID field is required."
    }

Exceed max call of batch API

200 HTTP Status Code

{
    "Code": -1,
    "Message": "Batch subrequest limit exceeded. Only 200 subrequest allowed in each API call."
}
© Copyright Salary.com 2025. All Rights Reserved. Privacy Policy | Legal