Salary Data API with Pay Percentiles: Payscale Jobalyzer avatar

Salary Data API with Pay Percentiles: Payscale Jobalyzer

Pricing

from $20.00 / 1,000 salary pay reports

Go to Apify Store
Salary Data API with Pay Percentiles: Payscale Jobalyzer

Salary Data API with Pay Percentiles: Payscale Jobalyzer

Get market salary percentiles (10th to 90th), total and hourly pay, bonus, pay by years of experience, and skill, certification and education pay premiums for any job title and location through the Payscale Jobalyzer API, plus job title matching. Bring your own key.

Pricing

from $20.00 / 1,000 salary pay reports

Rating

0.0

(0)

Developer

Nabeel Hassan

Nabeel Hassan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Get market salary percentiles, pay by years of experience and the pay premium of every skill, certification and degree for any job title and location from the Payscale Jobalyzer API, with your own API key, as clean rows you can export to CSV, Excel or JSON or feed into your own app.

Payscale runs one of the largest crowdsourced compensation surveys, with tens of millions of salary profiles, and models pay ranges from the profiles that best match a job title, location, experience, education, skills and industry. Its Jobalyzer API serves that model to Data API customers. This actor wraps the Jobalyzer API on jobalyzer.payscale.com: it requests the reports, waits for them to finish, and flattens the answers into one row per job or per skill. Use it for salary benchmarking, pay range and pay transparency postings, offer letters, compensation planning, job board salary estimates and HR analytics. Bring your own API key.

BYOK, not live tested: every route, parameter and response field comes from Payscale's public developer documentation at developers.payscale.com (the Jobalyzer guides and the Swagger schema behind its API reference), and every route was probed on 2026-10-27 with invalid credentials. The actor has not been run against a live Payscale key.

What it does

  • Pay report: base pay, total cash compensation and hourly pay at the 10th, 25th, 50th (median), 75th and 90th percentiles, with averages, the number of matched profiles, bonus, commission and profit sharing, total companies and incumbents, the location level used and Payscale's report rating. One row per job title.
  • Pay by years of experience: base pay percentiles and averages for each experience band of a job title (for example less than 1 year up to 8 years or more), and the experience points where pay steps up by about 15 percent.
  • Skill pay impact: the top skills reported for a job title, with the share of profiles reporting each, its median base pay and its pay differential in USD and percent. One row per skill.
  • Certification and education pay impact: the same for certifications (such as CPA or PMP) and education levels.
  • Job title match: Payscale's ensemble title matcher turns any free text title into ranked confirmed Payscale titles, optionally with tasks and typical experience.
  • Answer autocomplete and location search: the exact job titles, skills, certifications, industries, degrees and locations Payscale accepts, so reports match what you mean.
  • Test mode: Payscale's documented test flag returns random data and spends none of your report credits, for checking an integration first.
  • Pay only for data: empty reports, test rows and lookups Payscale refuses are recorded as a free row that says why, never charged.

How to use it

  1. Get Payscale Data API access. Jobalyzer clients are issued with a commercial Data API contract through Payscale's sales team; you receive a client ID and a client secret.
  2. Paste them into the Client ID and Client secret fields, or set the DATA_API_KEY environment secret as clientId:clientSecret. The actor exchanges them for a short lived token at accounts.payscale.com/connect/token, as Payscale documents, and removes both from everything it logs.
  3. Pick a mode, add job titles (and a country, state, city and other answers for reports) or search terms, and run. Turn on test mode for a first run that spends no report credits.
  4. Download the dataset as JSON, CSV or Excel, or connect it to your workflow through the Apify API, webhooks or integrations.

Missing or rejected credentials, or an account out of report credits, end the run cleanly with a status message that explains what to change, and nothing is charged.

Input

FieldModesDescription
modeallpayReport (default), yearsExperienceReport, skillsImpact, certificationsImpact, educationImpact, jobTitleMatch, autocomplete or locations
jobTitlesreport, impact, matchOne job title per line
country, state, cityreportsLocation of the job; country is required (default United States)
yearsExperience, highestDegreeEarnedreportsExperience and education of the person
skills, certificationsreportsPayscale skill and certification names
industry, averageSizeCompetitor, companySalesreportsThe competitive set of companies
autoResolveJobTitlereports, impactsMatch free text titles to confirmed Payscale titles (default on)
includeTasksjob title matchAdd tasks and typical years of experience
autocompleteQuestion, searchTermsautocomplete, locationsWhat to search and the terms
testModeall but autocompleteRandom data, no report credits spent, never charged
maxResults, requestsPerMinuteallRow cap and pacing
clientId, apiKeyallYour Payscale client ID and client secret

Example output

A pay report row (shortened; record holds the full answer with all 81 percentiles of each sub-report):

{
"mode": "payReport",
"recordType": "payReport",
"query": "Software Developer",
"found": true,
"jobTitle": "Software Developer",
"matchedJobTitle": "Software Developer",
"jobTitleRating": 100,
"country": "United States",
"state": "Washington",
"city": "Seattle",
"currency": "U.S. Dollar (USD)",
"basePayP10": 52342.26,
"basePayP25": 67851.95,
"basePayP50": 83743.64,
"basePayP75": 102032.42,
"basePayP90": 121748.59,
"basePayAverage": 86667.46,
"basePayProfiles": 45,
"totalCompanies": 49,
"totalIncumbents": 3619,
"totalProfilesAnalyzed": 51975,
"levelUsed": "State",
"reportRating": 0.27,
"testData": false
}

A skill pay impact row:

{
"mode": "skillsImpact",
"recordType": "skillImpact",
"jobTitle": "Executive Assistant",
"name": "Executive Support",
"rank": 1,
"profileCount": 3549,
"percentReporting": 26.24,
"medianBasePay": 55169.01,
"payDifferential": 7152.97,
"payDifferentialPercentage": 14.9,
"currency": "USD"
}

FAQ

What is the Payscale Jobalyzer API?

Jobalyzer is Payscale's REST API for compensation data. Given compensable factors such as job title, city, state, country, years of experience, education, skills and industry, it returns modeled pay distributions built from the best matching profiles in Payscale's salary survey, plus skill, certification and education pay impacts and title matching.

Do I need my own Payscale API key?

Yes. This actor is bring your own key: it calls Payscale with your client ID and client secret, and your Payscale Data API contract applies. Payscale does not offer self serve keys; access comes through its sales team.

Does running a report cost Payscale credits?

Yes. Payscale bills per report: each pay report and each years of experience report spends one report credit, and each impact request one more. Payscale does not bill a report whose report rating is 0. Test mode spends no credits. When the account runs out, Payscale answers that it has no reports left and this actor ends the run cleanly.

What do the percentiles mean?

basePayP50 is the median base salary of the matched profiles; basePayP10 and basePayP90 are the 10th and 90th percentiles, the usual low and high ends of a market pay range. Total pay adds bonus, commission and profit sharing to base pay. Hourly pay is in currency per hour.

What is the report rating?

A score from 0 to 1 for how well the data supports the answers you gave. 1 means high confidence; 0 means sparse or conflicting data. A job title rating from 0 to 100 shows how well an auto resolved title matches the one you typed; 60 or more is generally good.

Why is a pay report empty?

Payscale returns empty reports when the matched profiles are too few or vary too much, for example a national report for a job whose pay follows state minimum wages, or an unusual mix of answers. Add a state or city, an industry or years of experience. Empty reports are free here.

How do I find skills that raise pay for a job?

Run the skill pay impact mode with the job title. Each row is one skill with its pay differential: the difference between the median base pay of profiles listing it among their top skills and the median of all profiles with that title. A negative value means the skill is common among lower paid holders of the title.

Which countries are covered?

Payscale reports pay in the currency of the country you set, such as United States, Canada or United Kingdom. Coverage depends on Payscale's profile data for each country and title.

What do I pay?

0.02 USD per pay report, 0.015 USD per years of experience report, 0.008 USD per skill, certification or education impact and 0.005 USD per job title, answer or location match, plus whatever your Payscale contract costs. Empty, test and refused lookups are free.

Keyword map

salary data API, compensation data API, salary benchmarking API, pay percentiles, market pay data, salary range API, pay range for job postings, pay transparency data, total compensation data, hourly wage data, bonus data, pay by years of experience, skill pay premium, certification salary impact, education salary impact, job title matching API, job title normalization, HR analytics data, Payscale API, Payscale Jobalyzer, Payscale Data API.

Routes and verification

ModeRouteSourceProbe with invalid credentials
TokenPOST accounts.payscale.com/connect/tokenAccess patterns guide400 {"error":"invalid_client"}; invented /connect/tokenz 302
Pay and experience reportsPOST /jobalyzer/v2/reportsSwagger schema and guides401; invented /jobalyzer/v2/reportz 404
Report resultsGET /jobalyzer/v2/reports/{ReportId}/pay and /yoe (the returned link)Swagger schema and guides401
Skill pay impactGET /jobalyzer/v2/impact/skillsSwagger schema401; invented /jobalyzer/v2/impactz/skills 404
Certification pay impactGET /jobalyzer/v2/impact/certsSwagger schema401
Education pay impactGET /jobalyzer/v2/impact/educationSwagger schema401
Job title matchGET /jobalyzer/v2/jobtitlematchSwagger schema and matching guide401
AutocompleteGET /jobalyzer/v2/autocomplete/{QuestionId}Matching guide401
Location searchGET /jobalyzer/v2/locations/{SearchTerm}Swagger schema401

Each probe was repeated with the same result. Report answers are fetched only from links on jobalyzer.payscale.com that point at its own report route. Usage export routes and the other report types named in the schema are not wrapped.

Licensing and data use

This actor works only with your own Payscale API client, and your Data API agreement with Payscale governs how you may store, display and share its data. Check that agreement before you republish salary figures. This actor is not affiliated with or endorsed by Payscale, Inc.