# AmbitionBox Reviews & Salaries Scraper India (`thirdwatch/ambitionbox-scraper`) Actor

Scrape company reviews, salary data, and ratings from AmbitionBox.com. Get avg CTC, salary ranges, pros/cons, reviewer details for any Indian company. Covers TCS, Infosys, Wipro, and 100K+ companies.

- **URL**: https://apify.com/thirdwatch/ambitionbox-scraper.md
- **Developed by:** [Thirdwatch](https://apify.com/thirdwatch) (community)
- **Categories:** Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.70 / 1,000 results

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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 Salaries & Ratings Scraper

Scrape salary data and company ratings from AmbitionBox.com -- India's largest company review platform (owned by Naukri/InfoEdge). Get structured salary ranges, average CTC, experience levels, and detailed company ratings for 100K+ Indian companies.

### What it does

This actor extracts salary information for job roles at any company listed on AmbitionBox. For each role, you get the average salary, full salary range, typical salary band, number of salary reports, and experience level. Company-level data includes the overall rating and category-wise ratings (work-life balance, career growth, salary & benefits, job security, and more).

### Input parameters

| Parameter | Required | Default | Description |
|-----------|----------|---------|-------------|
| `companies` | Yes | `["tcs"]` | Company names or URL slugs to scrape (e.g., `"tcs"`, `"infosys"`, `"wipro"`) |
| `roles` | No | `[]` | Filter results to specific roles (e.g., `"software-engineer"`, `"data-analyst"`). Leave empty for all roles. |
| `maxResults` | No | `50` | Maximum number of salary records per company (1-500) |
| `includeCompanyReviews` | No | `true` | Include company rating and category ratings with each result |
| `proxyConfiguration` | No | Residential IN | Proxy settings. Default uses Indian residential proxies for best results. |

### Output fields

Each result contains 16 fields:

| Field | Type | Description |
|-------|------|-------------|
| `role` | string | Job role or designation (e.g., "Software Engineer") |
| `company_name` | string | Company name (e.g., "Tata Consultancy Services") |
| `avg_salary` | integer | Average annual salary in INR |
| `salary_min` | integer | Minimum reported salary in INR |
| `salary_max` | integer | Maximum reported salary in INR |
| `typical_salary_min` | integer | Lower end of the typical salary band in INR |
| `typical_salary_max` | integer | Upper end of the typical salary band in INR |
| `salary_currency` | string | Currency code (always `"INR"`) |
| `salary_period` | string | Pay period (always `"yearly"`) |
| `reports_count` | integer | Number of salary reports for this role |
| `experience_range` | string | Experience level (e.g., "2-5 years") |
| `location` | string | Job location, if available |
| `company_rating` | float | Overall company rating (1-5 scale) |
| `company_reviews_count` | integer | Total number of employee reviews for the company |
| `category_ratings` | object | Detailed ratings by category (see below) |
| `apply_url` | string | Direct link to the salary page on AmbitionBox |

#### Category ratings breakdown

When `includeCompanyReviews` is enabled, the `category_ratings` object contains:

| Sub-field | Description |
|-----------|-------------|
| `work_life_balance` | Work-life balance rating |
| `salary_benefits` | Salary & benefits rating |
| `job_security` | Job security rating |
| `career_growth` | Career growth rating |
| `work_satisfaction` | Work satisfaction rating |
| `skill_development` | Skill development rating |
| `company_culture` | Company culture rating |

### Example output

```json
{
    "role": "Software Engineer",
    "company_name": "Tata Consultancy Services",
    "avg_salary": 574006,
    "salary_min": 300000,
    "salary_max": 1200000,
    "typical_salary_min": 420000,
    "typical_salary_max": 750000,
    "salary_currency": "INR",
    "salary_period": "yearly",
    "reports_count": 1250,
    "experience_range": "2-8 years",
    "location": "",
    "company_rating": 3.8,
    "company_reviews_count": 45000,
    "category_ratings": {
        "work_life_balance": 3.9,
        "salary_benefits": 3.2,
        "job_security": 4.1,
        "career_growth": 3.5,
        "work_satisfaction": 3.4,
        "skill_development": 3.6,
        "company_culture": 3.7
    },
    "apply_url": "https://www.ambitionbox.com/salaries/tcs-salaries/software-engineer"
}
````

### Example input

```json
{
    "companies": ["tcs", "infosys", "wipro"],
    "maxResults": 20,
    "includeCompanyReviews": true
}
```

### Use cases

- **Salary benchmarking**: Compare compensation across Indian companies for any job role
- **HR analytics**: Track salary trends by role, experience level, and company
- **Job seekers**: Research pay ranges and company culture before applying
- **Recruiters**: Understand market rates for Indian job roles
- **Market research**: Analyze salary distribution across the Indian tech industry

### Limitations

- Salary data depends on employee self-reporting -- some roles may have limited data points
- All salaries are in Indian Rupees (INR), reported as annual CTC
- Location data is not always available for every role
- Maximum 500 salary records per company (25 pages of results)

# Actor input Schema

## `companies` (type: `array`):

Company names or AmbitionBox URL slugs to scrape salary data for (e.g., 'tcs', 'infosys', 'wipro').

## `roles` (type: `array`):

Filter results to specific job roles (e.g., 'software-engineer', 'data-analyst'). Leave empty to get all roles.

## `maxResults` (type: `integer`):

Maximum number of salary records to extract per company. Default 50.

## `includeCompanyReviews` (type: `boolean`):

Include overall company rating and category ratings (work-life balance, career growth, etc.) with each result.

## `proxyConfiguration` (type: `object`):

Proxy settings. Leave default for best results.

## Actor input object example

```json
{
  "companies": [
    "tcs"
  ],
  "roles": [],
  "maxResults": 50,
  "includeCompanyReviews": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}
```

# 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 = {
    "companies": [
        "tcs"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("thirdwatch/ambitionbox-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 = { "companies": ["tcs"] }

# Run the Actor and wait for it to finish
run = client.actor("thirdwatch/ambitionbox-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "companies": [
    "tcs"
  ]
}' |
apify call thirdwatch/ambitionbox-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=thirdwatch/ambitionbox-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AmbitionBox Reviews & Salaries Scraper India",
        "description": "Scrape company reviews, salary data, and ratings from AmbitionBox.com. Get avg CTC, salary ranges, pros/cons, reviewer details for any Indian company. Covers TCS, Infosys, Wipro, and 100K+ companies.",
        "version": "1.0",
        "x-build-id": "hnrILVDtPFSnLfw4K"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/thirdwatch~ambitionbox-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-thirdwatch-ambitionbox-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/thirdwatch~ambitionbox-scraper/runs": {
            "post": {
                "operationId": "runs-sync-thirdwatch-ambitionbox-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/thirdwatch~ambitionbox-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-thirdwatch-ambitionbox-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "companies"
                ],
                "properties": {
                    "companies": {
                        "title": "Companies",
                        "type": "array",
                        "description": "Company names or AmbitionBox URL slugs to scrape salary data for (e.g., 'tcs', 'infosys', 'wipro').",
                        "default": [
                            "tcs"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "roles": {
                        "title": "Role Filter",
                        "type": "array",
                        "description": "Filter results to specific job roles (e.g., 'software-engineer', 'data-analyst'). Leave empty to get all roles.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max Results Per Company",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of salary records to extract per company. Default 50.",
                        "default": 50
                    },
                    "includeCompanyReviews": {
                        "title": "Include Company Ratings",
                        "type": "boolean",
                        "description": "Include overall company rating and category ratings (work-life balance, career growth, etc.) with each result.",
                        "default": true
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Proxy settings. Leave default for best results.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "IN"
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
