# AmbitionBox Company Salaries Scraper (`hgservices/ambitionbox-company-salaries-scraper`) Actor

Extract salary data for any company listed on AmbitionBox.com — job profiles, salary ranges, experience levels, and data points. Get structured JSON output via API, MCP, or Console. Export the data to CSV, Excel or any format of your liking or ingest it in your workflows.

- **URL**: https://apify.com/hgservices/ambitionbox-company-salaries-scraper.md
- **Developed by:** [Harish Garg](https://apify.com/hgservices) (community)
- **Categories:** Jobs, Automation, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 salary records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## AmbitionBox Company Salaries Scraper — Extract Salary Data by Job Profile

### What does AmbitionBox Company Salaries Scraper do?

**AmbitionBox Company Salaries Scraper** extracts structured salary data from [AmbitionBox.com](https://www.ambitionbox.com), India's leading employer review platform. It collects **salary ranges, average pay, experience levels, and data-point counts** for every job profile listed under a company. The output is clean JSON, ready for analysis or integration.

Use it through the **Apify API**, **MCP integration** (for AI agents like Claude or GPT), or the **Apify Console**. Schedule runs to track salary trends over time.

### Why use AmbitionBox Company Salaries Scraper?

- **Compensation benchmarking** — Compare salary ranges across employers for the same job title.
- **Recruitment planning** — Set competitive offer packages based on market data.
- **HR analytics** — Track how salaries change by experience level and job profile.
- **Market intelligence** — Feed salary data into investment research, consulting reports, or competitive analysis.
- **Career research** — Help job seekers understand pay ranges before they negotiate.

### How to scrape AmbitionBox salary data

1. Go to the AmbitionBox Company Salaries Scraper page on Apify.
2. Select companies from the **Popular Companies** dropdown (175+ pre-loaded), type custom company slugs, or paste direct AmbitionBox salary URLs.
3. Set the **Maximum Salaries per Company** (default: 100, minimum: 20). Each page returns approximately 20 job profiles.
4. Click **Start** to run the Actor.
5. Download the results in JSON, CSV, Excel, or HTML format from the Output tab.

#### Use via API

Call the Actor through the [Apify API](https://docs.apify.com/api/v2) to integrate salary data into your applications.

```json
{
    "companySlugs": ["tcs", "infosys", "wipro"],
    "maxItems": 100
}
```

#### Use via MCP

AI agents and tools (such as Claude, GPT, or custom agents) can call this Actor through the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp). The MCP integration lets AI agents extract AmbitionBox salaries as part of larger workflows — for example, to compare compensation across employers or answer salary-related questions.

### Input

The Actor accepts these input parameters:

| Parameter | Type | Required | Description |
|---|---|---|---|
| `startUrls` | array | No | Direct AmbitionBox salary URLs (e.g. `https://www.ambitionbox.com/salaries/tcs-salaries`). |
| `companySlugs` | array | No | Select from 175+ popular Indian companies (TCS, Infosys, Wipro, Amazon, Google, etc.). |
| `customSlugs` | array | No | Type any company slug not in the popular list. The slug is the URL path segment (e.g. `tcs` from `ambitionbox.com/salaries/tcs-salaries`). |
| `maxItems` | integer | No | Maximum salary records per company. Default: 100. Minimum: 20. |

You must provide at least one company source (`startUrls`, `companySlugs`, or `customSlugs`).

### Output

The Actor stores results in the default dataset. Each row is one job profile with its salary range. You can download the dataset in various formats such as JSON, CSV, HTML, or Excel.

#### Output example

```json
{
    "id": 12345,
    "companyName": "TCS",
    "companySlug": "tcs",
    "jobProfile": "System Engineer",
    "jobProfileUrlName": "system-engineer",
    "minExperience": 0,
    "maxExperience": 4,
    "minSalary": 200000,
    "maxSalary": 700000,
    "avgSalary": 400000,
    "typicalMinSalary": 300000,
    "typicalMaxSalary": 500000,
    "salaryCount": 15234,
    "jobsCount": 42,
    "url": "https://www.ambitionbox.com/salaries/tcs-salaries"
}
```

> **Note:** All salary values are in Indian Rupees (₹) per year.

### Data fields

| Field | Type | Description |
|---|---|---|
| `id` | number | Unique job profile ID on AmbitionBox |
| `companyName` | string | Company name |
| `companySlug` | string | Company URL slug |
| `jobProfile` | string | Job title / designation |
| `jobProfileUrlName` | string | URL-friendly job profile name |
| `minExperience` | number | Minimum experience in years |
| `maxExperience` | number | Maximum experience in years |
| `minSalary` | number | Minimum annual salary (₹) |
| `maxSalary` | number | Maximum annual salary (₹) |
| `avgSalary` | number | Average annual salary (₹) |
| `typicalMinSalary` | number | Typical minimum annual salary (₹) |
| `typicalMaxSalary` | number | Typical maximum annual salary (₹) |
| `salaryCount` | number | Number of salary data points reported |
| `jobsCount` | number | Number of open jobs for this profile |
| `url` | string | Source page URL |

### How much does it cost to scrape AmbitionBox salaries?

The Actor uses pay-per-event pricing with two event types:

- **`company-search`** — One event per unique company you scrape (charged upfront).
- **`results-scraped`** — One event per salary record saved to the dataset.

Check the Pricing tab on the Actor page for current per-event rates.

**Tip:** Set a lower `maxItems` value to control costs. Start with 20 records to test the output before you scale up.

### Tips for best results

- **Start small** — Use `maxItems: 20` for your first run. Increase the value after you confirm the output meets your needs.
- **Use the Popular Companies dropdown** — It covers 175+ well-known companies and is the fastest way to get started.
- **Find any company's slug** — Visit the company on AmbitionBox.com. The slug is the path segment before `-salaries` (e.g. `tcs` from `ambitionbox.com/salaries/tcs-salaries`).
- **Combine with other Actors** — Use the output with Glassdoor, LinkedIn, or Indeed scrapers for cross-platform salary benchmarking.
- **Schedule recurring runs** — Use Apify's scheduling feature to track salary changes weekly or monthly.

### FAQ and support

**Is it legal to scrape AmbitionBox?**
This Actor extracts publicly available data from AmbitionBox.com. Use the data responsibly and in compliance with applicable laws and the website's Terms of Service.

**What companies can I scrape?**
Any company listed on AmbitionBox.com. The dropdown includes 175+ popular companies for convenience. You can scrape any other company by providing its URL or slug.

**How do I find a company's slug?**
Go to the company's salaries page on AmbitionBox.com. The slug is the part before `-salaries` in the URL. For example, in `ambitionbox.com/salaries/tcs-salaries`, the slug is `tcs`.

**What do the salary values mean?**
All salary figures are annual amounts in Indian Rupees (₹). `avgSalary` is the reported average. `typicalMinSalary` and `typicalMaxSalary` show the typical range. `minSalary` and `maxSalary` show the full reported range. `salaryCount` shows how many data points back these figures.

**Can I schedule recurring runs?**
Yes. Use Apify's scheduling feature to run the Actor on a daily, weekly, or custom schedule. This is useful for tracking salary trends over time.

**I found a problem or need a custom solution.**
Open an issue in the Issues tab on the Actor page. For custom scraping needs, contact the developer.

# Actor input Schema

## `startUrls` (type: `array`):

Direct AmbitionBox salary URLs to scrape (e.g. https://www.ambitionbox.com/salaries/tcs-salaries). The Actor detects the company from the URL automatically.

## `companySlugs` (type: `array`):

Select from a curated list of ~175 well-known companies. The Actor builds the salary URLs automatically.

## `customSlugs` (type: `array`):

Type any company slug not in the Popular Companies list. The slug is the URL path segment, e.g. for ambitionbox.com/salaries/tcs-salaries the slug is "tcs".

## `maxItems` (type: `integer`):

Maximum number of salary records to scrape per company. One page returns approximately 20 job profiles.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.ambitionbox.com/salaries/tcs-salaries"
    }
  ],
  "companySlugs": [
    "abb"
  ],
  "maxItems": 20
}
```

# Actor output Schema

## `salaries` (type: `string`):

No description

# 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 = {
    "startUrls": [
        {
            "url": "https://www.ambitionbox.com/salaries/tcs-salaries"
        }
    ],
    "companySlugs": [
        "abb"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("hgservices/ambitionbox-company-salaries-scraper").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 = {
    "startUrls": [{ "url": "https://www.ambitionbox.com/salaries/tcs-salaries" }],
    "companySlugs": ["abb"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("hgservices/ambitionbox-company-salaries-scraper").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 '{
  "startUrls": [
    {
      "url": "https://www.ambitionbox.com/salaries/tcs-salaries"
    }
  ],
  "companySlugs": [
    "abb"
  ],
  "maxItems": 20
}' |
apify call hgservices/ambitionbox-company-salaries-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hgservices/ambitionbox-company-salaries-scraper"
        }
    }
}

```

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/PuqGLwksTbB56cO9I/builds/3Vx3C0h0jIDNSak1F/openapi.json
