☰
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

Behavior

The DaaS JobPricing API uses our AI to match a job title and/or job description against elements of our database and return base salary percentiles, total cash comp, bonus, skills, and other job related elements for the matched results.

While a job title and/or job description and a country are the minimum requirements, salary data is more specific when an accurate job description is included.

CAMD Job Title

If you are a CompAnalyst Market Data client and want to match on an exact CAMD job title, do this by including the JobTitle field int he request and the API returns data for this exact title. e.g. “Accountant I”. Do not include a JobDesc when including a CAMD job title if you want this exact match.

Required Fields

Either a JobTitle or JobDesc and a CountryCode or ZipCode are always required in the request.

JobDesc

Given job descriptions can include special characters, quotes, etc it is necessary to escape these characters in the request body so the API can properly parse the input. e.g. \"Apply Now\”

An accurate job description will lead to a much higher match quality versus a poor job description or only including a general title.

MatchRating

We return a match rating based on the confidence we have in the job match. Values are “Confident”, “Potential” and “NeedsReview.” The MatchRating changes based on the primary match inputs (JobTitle and JobDesc).

Data Scope

Data scope includes industry, size and geo.

Location

Location hierarchy must be maintained, meaning a country and a city cannot be sent in the request without state. Or a city without country, etc. “Location request is incomplete” message and “Code”: -1 above is returned. However, a ZipCode can be requested with just CountryCode: USA because it is specific.

FTEValue & Revenue

FTE (Full-Time Equivalent) or Revenue (A company’s annual revenue), user can enter any integer then we return as FTE/Revenue ranges with corresponding salary ranges per this FTE/Revenue applied. If “0” is provided, we default return as “ALL”, If we cannot find corresponding data based on requested FTE/Revenue ranges, we will find “ALL” instead.

Since this is the Size of the data scope, only FTEValue or Revenue can be requested, they cannot be requested at the same time with values.

Please note we only support input USD ($) revenue here.

NAICSCode

The API accepts 2–6 digit NAICS codes. If a match is found at the 3, 4, 5, or 6-digit level, the corresponding detailed industry is returned and the data ranges adjusted accordingly. If no match is found, the API rolls up to the 2-digit level. This is clear by checking the DataScope_IndustryCode and DataScope_IndustryName fields in the response body. For example, 332992 → (no match found) → then 33 → “Manufacturing.” If no match exists at the 2-digit level, the system returns “ALL” for both fields (“All Industries”).

CompanyName

**We are in the process of mapping our company database to industry and FTERange and releasing it to the API so that more specific results are returned with less input. In the current state this parameter does not impact results.

YearsOfExperienceMin

To tailor a job match to a certain level, use this field.

Important: if you are using the Verbose API and do not specifically have a YearsOfExperienceMin to pass, do not include the field in the request body. Passing a 0 value will tell our API you expect and entry level position.

© Copyright Salary.com 2025. All Rights Reserved. Privacy Policy | Legal