# Job Salary Estimator (`igview-owner/job-salary-estimator`) Actor

Get accurate salary estimates for any job title and location worldwide! Extract min, max, and median salary ranges with base pay and bonus breakdowns. Filter by experience level and city/country. Perfect for compensation benchmarking, recruitment analytics, and salary research.

- **URL**: https://apify.com/igview-owner/job-salary-estimator.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 88 total users, 1 monthly users, 100.0% runs succeeded, 2 bookmarks
- **User rating**: 4.00 out of 5 stars

## Pricing

from $3.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Job Salary Estimator

**Get estimated salary data for any job title and location. Retrieve accurate salary ranges including minimum, maximum, and median salaries with base pay and additional compensation breakdowns. Filter by location type and years of experience for precise salary insights. Ideal for compensation benchmarking, HR analytics, recruitment planning, and career research.**

### Table of Contents

- [Key Features](#key-features)
- [Input Parameters](#input-parameters)
- [Output Data Structure](#output-data-structure)
- [Usage Examples](#usage-examples)
- [Use Cases](#use-cases)
- [Frequently Asked Questions](#frequently-asked-questions)
- [Support](#support)
- [Related Actors](#related-actors)
- [Tags](#tags)

***

### Key Features

| Feature | Description |
|---------|-------------|
| **Salary Ranges** | Get minimum, maximum, and median total salary for any job title |
| **Base Salary Breakdown** | Separate base salary data with min, max, and median values |
| **Additional Compensation** | Bonus, equity, and additional pay estimates broken down separately |
| **Location-Based Estimates** | Salary data tailored to specific cities, states, or countries |
| **Experience Level Filtering** | Refine salary estimates by years of experience from entry to senior |
| **Publisher Source** | Know the data source (Glassdoor, LinkedIn, etc.) with direct links |
| **Confidence Score** | Understand how reliable each salary estimation is |
| **Currency and Period** | Salary currency code and payment period (yearly, monthly, etc.) |
| **Data Point Count** | Number of salary data points used for the estimation |
| **Last Updated Date** | Know when the salary data was last refreshed |

***

### Input Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| **job\_title** | String | Yes | - | Job title for salary estimation (e.g., "software engineer", "data analyst") |
| **location** | String | Yes | - | Location for salary estimation (e.g., "new york", "san francisco", "london") |
| **location\_type** | Enum | No | ANY | Location type: ANY, CITY, STATE, COUNTRY |
| **years\_of\_experience** | Enum | No | ALL | Experience level filter for more precise estimates |

#### Location Type Options

Specify the location type for more accurate salary results:

- `ANY` - Search across all location types (default)
- `CITY` - City-level salary data (e.g., "San Francisco", "New York City")
- `STATE` - State-level salary data (e.g., "California", "New York")
- `COUNTRY` - Country-level salary data (e.g., "United States", "Germany")

#### Years of Experience Options

Filter salary estimates by experience level:

- `ALL` - All experience levels combined (default)
- `LESS_THAN_ONE` - Less than 1 year of experience (entry level)
- `ONE_TO_THREE` - 1 to 3 years of experience (junior level)
- `FOUR_TO_SIX` - 4 to 6 years of experience (mid level)
- `SEVEN_TO_NINE` - 7 to 9 years of experience (senior level)
- `TEN_TO_FOURTEEN` - 10 to 14 years of experience (lead/staff level)
- `ABOVE_FIFTEEN` - 15+ years of experience (principal/director level)

#### Job Title Examples

```
"software engineer"
"data analyst"
"product manager"
"nodejs developer"
"marketing manager"
"devops engineer"
"ux designer"
"machine learning engineer"
```

***

### Output Data Structure

Each salary estimation result contains detailed compensation information organized into categories:

#### Job and Location

| Field | Type | Description |
|-------|------|-------------|
| `index` | Number | Index number of the result |
| `jobTitle` | String | Job title resolved by the API |
| `location` | String | Location resolved by the API |

#### Total Salary

| Field | Type | Description |
|-------|------|-------------|
| `salaryRange` | String | Formatted total salary range (e.g., "USD 111,845 - 185,866 per year") |
| `minSalary` | Number | Minimum total salary amount |
| `maxSalary` | Number | Maximum total salary amount |
| `medianSalary` | Number | Median total salary amount |

#### Base Salary

| Field | Type | Description |
|-------|------|-------------|
| `baseSalaryRange` | String | Formatted base salary range |
| `minBaseSalary` | Number | Minimum base salary amount |
| `maxBaseSalary` | Number | Maximum base salary amount |
| `medianBaseSalary` | Number | Median base salary amount |

#### Additional Compensation

| Field | Type | Description |
|-------|------|-------------|
| `additionalPayRange` | String | Formatted additional pay range (bonus, equity, etc.) |
| `minAdditionalPay` | Number | Minimum additional compensation |
| `maxAdditionalPay` | Number | Maximum additional compensation |
| `medianAdditionalPay` | Number | Median additional compensation |

#### Salary Metadata

| Field | Type | Description |
|-------|------|-------------|
| `salaryPeriod` | String | Payment period (YEAR, MONTH, HOUR) |
| `salaryCurrency` | String | Currency code (USD, EUR, GBP, INR, etc.) |
| `salaryCount` | Number | Number of salary data points used for estimation |
| `salariesUpdatedAt` | String | ISO datetime of when salary data was last updated |

#### Publisher Information

| Field | Type | Description |
|-------|------|-------------|
| `publisherName` | String | Data source name (Glassdoor, LinkedIn, etc.) |
| `publisherLink` | String | Direct link to the publisher's salary page |
| `confidence` | String | Confidence level of the estimation (CONFIDENT, LOW, etc.) |

***

### Usage Examples

#### Example 1: Basic Salary Search

Get salary estimation for a software engineer in San Francisco:

```json
{
  "job_title": "software engineer",
  "location": "san francisco"
}
```

#### Example 2: City-Specific Salary

Get city-level salary data for a data analyst in New York:

```json
{
  "job_title": "data analyst",
  "location": "new york",
  "location_type": "CITY"
}
```

#### Example 3: Entry-Level Salary

Find salary estimates for junior developers with less than 1 year of experience:

```json
{
  "job_title": "frontend developer",
  "location": "austin",
  "location_type": "CITY",
  "years_of_experience": "LESS_THAN_ONE"
}
```

#### Example 4: Senior-Level Salary

Get salary data for experienced product managers:

```json
{
  "job_title": "product manager",
  "location": "seattle",
  "years_of_experience": "TEN_TO_FOURTEEN"
}
```

#### Example 5: Country-Level Salary

Compare salaries at the country level:

```json
{
  "job_title": "devops engineer",
  "location": "united states",
  "location_type": "COUNTRY"
}
```

#### Example 6: Mid-Level Salary Estimate

Get salary data for mid-career professionals:

```json
{
  "job_title": "machine learning engineer",
  "location": "boston",
  "location_type": "CITY",
  "years_of_experience": "FOUR_TO_SIX"
}
```

***

### Use Cases

#### Compensation Benchmarking

- **Salary Surveys** - Build comprehensive salary surveys for any role and location
- **Pay Equity Analysis** - Compare compensation across cities, states, and countries
- **Market Rate Research** - Determine competitive salary ranges for open positions
- **Benefits Analysis** - Understand base pay vs additional compensation splits

#### HR and Recruitment Analytics

- **Job Posting Salary Ranges** - Set accurate salary ranges for job postings
- **Offer Letter Preparation** - Back salary offers with market data
- **Retention Strategy** - Identify if current compensation is competitive
- **Budget Planning** - Forecast hiring costs based on market salary data

#### Career Planning and Research

- **Salary Negotiation** - Prepare for salary discussions with real market data
- **Career Path Analysis** - Compare salaries across experience levels for career growth
- **Relocation Planning** - Understand salary differences between cities and states
- **Skill Valuation** - Determine which job titles command higher compensation

#### Business Intelligence and Analytics

- **Industry Analysis** - Study salary trends across industries and sectors
- **Economic Research** - Track compensation trends as economic indicators
- **Workforce Planning** - Plan team budgets with accurate salary projections
- **Geographic Analysis** - Map salary variations across regions and countries

#### Data Integration and Automation

- **Salary Dashboards** - Power real-time compensation dashboards
- **Career Platforms** - Integrate salary data into career advice websites
- **Job Search Tools** - Add salary context to job listing aggregators
- **ML and AI Models** - Train compensation prediction models with real data

***

### Frequently Asked Questions

#### General Questions

**Q: What is Job Salary Estimator?**
A: An Apify actor that retrieves estimated salary data for any job title and location. It provides comprehensive compensation breakdowns including base salary, additional pay, and median estimates sourced from platforms like Glassdoor.

**Q: How accurate is the salary data?**
A: Each result includes a confidence score indicating data reliability. Estimates are based on aggregated salary data from multiple sources, with the data point count showing how many salaries were used.

**Q: Is this actor free to use?**
A: The actor runs on the Apify platform. You need an Apify account and will be charged based on compute unit usage.

**Q: What output formats are available?**
A: Data can be exported in JSON, CSV, Excel (XLSX), HTML, XML, and RSS formats through the Apify dataset.

#### Search Questions

**Q: What job titles can I search for?**
A: Any job title works, from common roles like "software engineer" and "data analyst" to specialized roles like "kubernetes engineer" or "product design lead".

**Q: Which locations are supported?**
A: Any city, state, or country worldwide. Popular locations include US cities, European capitals, and major tech hubs globally.

**Q: How does the experience filter work?**
A: The experience filter narrows salary estimates to a specific career stage. For example, selecting "ONE\_TO\_THREE" shows salaries typical for professionals with 1-3 years of experience.

**Q: What if no salary data is found?**
A: The actor returns a record indicating no results were found. Try a broader job title or a more common location for better results.

#### Data Questions

**Q: What is the difference between base salary and additional pay?**
A: Base salary is the fixed annual compensation. Additional pay includes bonuses, equity, commissions, and other variable compensation components.

**Q: What does the confidence score mean?**
A: "CONFIDENT" means sufficient data points were available for a reliable estimate. Lower confidence indicates limited data, so results should be used as general guidelines.

**Q: How often is salary data updated?**
A: Each result includes a `salariesUpdatedAt` field showing the last update date. Data is typically refreshed regularly by the source publishers.

**Q: What currencies are supported?**
A: The API returns salary data in the local currency for the specified location. The `salaryCurrency` field indicates the currency code (USD, EUR, GBP, INR, etc.).

#### Technical Questions

**Q: How long does the actor take to run?**
A: Typically completes in 3-5 seconds per request.

**Q: Can I schedule recurring salary checks?**
A: Yes, use the Apify scheduler to run the actor at set intervals (daily, weekly, monthly) for ongoing salary monitoring.

**Q: Can I integrate this with other tools?**
A: Yes, use the Apify API, webhooks, or integrations to connect with your CRM, HRIS, spreadsheets, or custom workflows.

**Q: How do I download the salary data?**
A: Data is saved automatically to the Apify dataset. Download directly from the platform UI or access programmatically via the API.

***

### Support

#### Need Help?

- **Issues** - Report bugs through the Apify platform
- **Feature Requests** - Submit enhancement suggestions via the actor page
- **Community** - Join the Apify community for discussions and support

#### Troubleshooting

| Issue | Solution |
|-------|----------|
| "No salary data found" | Try a more common job title or a broader location |
| Invalid location | Use recognizable location names (city names, state names, country names) |
| Empty dataset | Verify that job\_title and location inputs are valid |
| Low confidence results | Try a more popular job title or a larger city for more data points |

***

### Related Actors

Complement your compensation research, recruitment analytics, and job market intelligence with related actors:

- [Google Jobs Scraper](https://apify.com/igview-owner/google-jobs-scraper) - Scrape job postings directly from Google Jobs with keywords, location targeting, and rich filters. Extract detailed job titles, companies, descriptions, qualifications, salary ranges, benefits, and direct apply links across multiple job boards. Ideal for pairing with the Job Salary Estimator to benchmark active job openings against estimated salary data.

***

### Tags

`job salary estimator`, `salary data scraper`, `salary estimation api`, `compensation data`, `salary benchmarking`, `salary comparison tool`, `job salary search`, `pay scale data`, `salary range finder`, `compensation analytics`, `hr salary data`, `recruitment salary research`, `career salary guide`, `salary survey tool`, `base salary data`, `total compensation data`, `median salary lookup`, `salary by location`, `salary by experience`, `glassdoor salary data`, `job market salary`, `compensation benchmarking`, `salary intelligence`, `workforce salary data`, `hiring salary data`, `pay equity analysis`, `salary trends`, `job compensation research`, `salary api`, `apify salary actor`

***

### Get Started Now

**Ready to get salary estimates?**

1. Enter the **job title** you want salary data for (e.g., "software engineer")
2. Enter the **location** (e.g., "new york", "san francisco")
3. Optionally set **location type** and **experience level** filters
4. Click **Start** to run the actor
5. Download your salary data in JSON, CSV, Excel, or HTML format
6. Click ["Try for free"](https://apify.com?fpr=ykgg9c) to test the actor

**If this actor helps your workflow, please leave a review!**

***

**Built for the Apify Platform** | **Created by Sachin**

**Start getting accurate salary estimates today!** | [View All Actors](https://apify.com/igview-owner)

# Actor input Schema

## `job_title` (type: `string`):

Enter the job title for which you want salary estimation (e.g., 'software engineer', 'data analyst', 'nodejs developer').

## `location` (type: `string`):

Enter the location for salary estimation (e.g., 'new york', 'san francisco', 'london', 'bangalore').

## `location_type` (type: `string`):

Specify the type of location for more accurate results.

## `years_of_experience` (type: `string`):

Filter salary estimation by experience level range.

## Actor input object example

```json
{
  "job_title": "backend developer",
  "location": "new york",
  "location_type": "ANY",
  "years_of_experience": "ALL"
}
```

# Actor output Schema

## `salary_overview` (type: `string`):

Open the dataset view with all estimated salary data including min, max, median salaries, base pay, and additional compensation.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "job_title": "backend developer",
    "location": "new york"
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/job-salary-estimator").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "job_title": "backend developer",
    "location": "new york",
}

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/job-salary-estimator").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "job_title": "backend developer",
  "location": "new york"
}' |
apify call igview-owner/job-salary-estimator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,igview-owner/job-salary-estimator"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/67MseowWOTpMZrhYk/builds/AEYSgrUv89nCttvFK/openapi.json
