# AmbitionBox Scraper - Reviews, Salaries & Ratings (`themineworks/ambitionbox-companies`) Actor

Scrape AmbitionBox company data: name, overall rating, review count, salary count, industry, ownership, HQ, employee size and full rating breakdown. No login. Works in Claude, ChatGPT & any MCP-compatible AI agent.

- **URL**: https://apify.com/themineworks/ambitionbox-companies.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Business, Developer tools, MCP servers
- **Stats:** 1 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$1.35 / 1,000 company records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Scraper - Reviews, Salaries & Ratings

Pull structured company data from **AmbitionBox** (India's largest employer-review and salary platform) without logging in, solving CAPTCHAs, or touching a browser. Give the actor one company to start from and it returns that company plus a deduplicated set of its peers, each with the **overall rating, review count, salary count, industry, ownership, HQ, employee size, and a full per-dimension rating breakdown**.

Built for analysts, recruiters, sales teams, HR-tech and competitive-intelligence workflows that need AmbitionBox data in a clean JSON/CSV/Excel feed instead of copy-pasting from the site.

Works in Claude, ChatGPT & any MCP-compatible AI agent — list this actor as an MCP tool and ask your assistant for "TCS rating and review count on AmbitionBox" in plain language.

---

### What it does

AmbitionBox server-renders its data into the page HTML. This actor reads it over plain HTTP (browser-grade TLS and headers via `got-scraping`, routed through Apify residential proxies in India), so there is no login wall and no headless browser overhead. It uses two complementary server-rendered surfaces:

- **Company list** — `list-of-companies?page=N` renders 20 distinct companies per page as `schema.org/ItemList` microdata. Walking the pages is the reliable bulk engine that returns companies well past page 1.
- **Company overview** — `overview/<company>-overview` carries each company's full record (ownership, employee count, founded year, website, full per-dimension rating breakdown) plus a batch of fully-populated peer companies.

Two modes, chosen automatically:

1. **Seed a specific company** (`companyName` / `searchQuery`): resolves it to its overview page, returns the rich record + its peers, then **tops up from the company list** until `maxResults`.
2. **No seed**: paginates the company list directly from the top.

Either way the run paginates reliably and deduplicates by company slug, so one run returns dozens to hundreds of companies — not just page one.

Each page is fetched on a **fresh proxy session**, and any block or transport error (403/429/5xx/`ECONNRESET`/TLS) rotates the session and retries that page rather than crashing the run.

---

### Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `companyName` | string | No* | Company to start from, e.g. `TCS`, `Infosys`, `Accenture`. Resolved to its AmbitionBox page. |
| `searchQuery` | string | No* | Alias for `companyName` (free-text brand). If both are set, `companyName` wins. |
| `maxResults` | integer | No | Max unique companies to return. Default `50`, min `1`, max `1000`. |
| `proxyConfiguration` | object | No | Apify Proxy config. Defaults to **RESIDENTIAL / IN** — recommended, keep it on. |

\* Provide at least one of `companyName` or `searchQuery`.

#### Example input

```json
{
  "companyName": "TCS",
  "maxResults": 50,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "IN" }
}
````

***

### Output

One record per company. Fields that AmbitionBox does not expose for a given company are omitted.

```json
{
  "company_id": 42,
  "company_name": "TCS",
  "rating": 3.27,
  "review_count": 115838,
  "salary_count": 1024791,
  "interview_count": 11412,
  "job_count": 4163,
  "industry": "IT Services & Consulting",
  "ownership": "Public",
  "hq_location": "Mumbai, Maharashtra, India",
  "employee_count": "100001+",
  "founded_year": "1968",
  "website": "https://www.tcs.com/",
  "followers_count": 597121,
  "rating_breakdown": {
    "overall": 3.27,
    "work_life_balance": 3.48,
    "skill_development": 3.18,
    "work_satisfaction": 3,
    "salary_benefits": 2.44,
    "job_security": 3.78,
    "career_growth": 2.29,
    "company_culture": 3.2
  },
  "url": "https://www.ambitionbox.com/overview/tcs-overview",
  "scraped_at": "2026-06-16T00:00:00.000Z"
}
```

The final dataset item is a summary: `{ "_type": "summary", "companies": N, "charged_for": N, "pages_fetched": N, "scraped_at": "..." }`.

> Note: the richest `rating_breakdown`, `ownership`, and `hq_location` are present for the seed company and for any peer whose own page is crawled. Peers surfaced only via the listing carry the headline fields (name, rating, reviews, salaries, industry) and are enriched if the run reaches their page.

***

### Pricing

This actor is **Pay-Per-Event**: you are charged **$0.003 per company** delivered to the dataset.

- The first **25 companies are free per Apify account, for life** — a true free tier to evaluate the actor.
- Empty searches, unresolved companies, and failed runs are **never charged**.
- The summary record is free.

You also pay Apify's standard platform usage (compute + residential proxy) per their pricing.

***

### FAQ

**Do I need an AmbitionBox login or API key?**
No. The actor reads only public, server-rendered company pages.

**Why residential India proxies?**
AmbitionBox is an India-focused site and serves most reliably to Indian residential IPs. The default proxy config is already set; leave it on.

**Can I scrape a specific list of companies?**
Today you seed from one company and the actor fans out across its peers. To target an exact company, set `companyName` to it and `maxResults` to a small number — it will be the first record returned. Need a multi-company seed list? Open an issue and it can be added.

**How many companies can one run return?**
Up to your `maxResults` (max 1000). Yield depends on how densely AmbitionBox links peers around your seed; large industries (IT, banking, e-commerce) fan out very widely.

**Is the rating the same as on the site?**
Yes. `rating` is the overall company rating (two-decimal where available); `rating_breakdown` mirrors AmbitionBox's per-dimension scores.

**What if a company can't be found?**
The run exits cleanly with a warning and a zero-count summary, and you are not charged. Try the exact brand name as shown on AmbitionBox.

**Is this legal / compliant?**
The actor collects only publicly visible data. You are responsible for using scraped data in line with AmbitionBox's terms and applicable law.

# Actor input Schema

## `companyName` (type: `string`):

Company to start from (e.g. "TCS", "Infosys", "Accenture"). The scraper resolves it to an AmbitionBox company page, returns that company, then fans out across its similar/peer companies to collect more. Use this OR Search query.

## `searchQuery` (type: `string`):

Free-text alias for Company name — a company or brand to seed the crawl (e.g. "Wipro", "HDFC Bank"). If both are given, Company name wins.

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

Maximum number of unique companies to return.

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

AmbitionBox is an India site; residential IN proxies are strongly recommended for reliable access at scale.

## Actor input object example

```json
{
  "companyName": "TCS",
  "maxResults": 25,
  "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 = {
    "companyName": "TCS",
    "maxResults": 25,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IN"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/ambitionbox-companies").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 = {
    "companyName": "TCS",
    "maxResults": 25,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IN",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/ambitionbox-companies").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 '{
  "companyName": "TCS",
  "maxResults": 25,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IN"
  }
}' |
apify call themineworks/ambitionbox-companies --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AmbitionBox Scraper - Reviews, Salaries & Ratings",
        "description": "Scrape AmbitionBox company data: name, overall rating, review count, salary count, industry, ownership, HQ, employee size and full rating breakdown. No login. Works in Claude, ChatGPT & any MCP-compatible AI agent.",
        "version": "0.1",
        "x-build-id": "8RLmqRkiJSMXzxvQQ"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/themineworks~ambitionbox-companies/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-themineworks-ambitionbox-companies",
                "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/themineworks~ambitionbox-companies/runs": {
            "post": {
                "operationId": "runs-sync-themineworks-ambitionbox-companies",
                "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/themineworks~ambitionbox-companies/run-sync": {
            "post": {
                "operationId": "run-sync-themineworks-ambitionbox-companies",
                "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",
                "properties": {
                    "companyName": {
                        "title": "Company name",
                        "type": "string",
                        "description": "Company to start from (e.g. \"TCS\", \"Infosys\", \"Accenture\"). The scraper resolves it to an AmbitionBox company page, returns that company, then fans out across its similar/peer companies to collect more. Use this OR Search query."
                    },
                    "searchQuery": {
                        "title": "Search query (alias)",
                        "type": "string",
                        "description": "Free-text alias for Company name — a company or brand to seed the crawl (e.g. \"Wipro\", \"HDFC Bank\"). If both are given, Company name wins."
                    },
                    "maxResults": {
                        "title": "Max companies",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of unique companies to return.",
                        "default": 50
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "AmbitionBox is an India site; residential IN proxies are strongly recommended for reliable access at scale.",
                        "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
