# Indian Company Data — CIN, Directors & Financials (`foxlabs/indian-company-data`) Actor

Look up any Indian company by CIN and get directors, financials, balance sheet, paid-up capital, charges & registry details as clean JSON. MCA-sourced data via Tofler — for due diligence, KYC, lead enrichment & investor research.

- **URL**: https://apify.com/foxlabs/indian-company-data.md
- **Developed by:** [Berkan Kaplan](https://apify.com/foxlabs) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 44.4% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 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.

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

## Indian Company Data — CIN, Directors & Financials

> **Also known as**: India company database · MCA data scraper · CIN lookup · Tofler scraper · Indian company financials · director (DIN) details · ROC filing data · company due-diligence India.

### What does Indian Company Data do?

Give it a **company name or CIN** and it returns a clean, structured profile — directors, financials, registry details and more — as JSON. Type a name (resolved automatically) or paste an exact CIN for precision. Data is sourced from [Tofler](https://www.tofler.in) (built on **Ministry of Corporate Affairs / MCA** filings). For each company it extracts:

- **Identity**: name, CIN, PAN, incorporation year, company age
- **Capital**: paid-up capital, authorised capital (₹ Cr)
- **Directors**: name, designation, **DIN**, tenure
- **Balance sheet**: 5-year figures — equity capital, reserves, borrowings, trade payables and more (₹ Cr)
- **Charges**: secured borrowings — charge holder, amount, date
- **Filings**: last AGM, company email

Built for **due diligence, KYC/onboarding, investor & startup research, lead enrichment** and competitive analysis on Indian companies. Runs on Apify with API access, scheduling, integrations and proxy rotation.

### Why use Indian Company Data?

- **Due diligence & KYC** — verify a company's directors, capital, charges and filing status before doing business.
- **Investor & M&A research** — screen Indian companies by financials, directors and borrowings.
- **Lead enrichment** — turn a list of CINs into rich firmographic + financial records.
- **Compliance & risk** — track charges (secured loans) and director networks.

### How to use Indian Company Data

1. Open the **Input** tab.
2. Type **company names** (one per line, e.g. `Infosys`) — resolved automatically via web search. For guaranteed precision, paste **CINs** (the 21-char MCA id on every filing/invoice) or full Tofler URLs instead.
3. Click **Start**. Download as JSON, CSV, Excel, HTML or XML.

> **Name vs CIN?** Names are resolved via web search (best-effort) — quick and easy, but a shared/ambiguous name can land on the wrong company. For **guaranteed** results use the **CIN** (official 21-char MCA identifier). Always check the returned `name` + `matched` field.

### Output

One record per company (Reliance, trimmed):

```json
{
  "url": "https://www.tofler.in/company/L17110MH1973PLC019786",
  "cin": "L17110MH1973PLC019786",
  "name": "RELIANCE INDUSTRIES LIMITED",
  "pan": "AAACR5055K",
  "incorporationYear": 1973,
  "paidUpCapital": "₹ 13,532.5 Cr",
  "paidUpCapitalCr": 13532.5,
  "authorisedCapital": "₹ 50,000.0 Cr",
  "agm": "Aug 2025",
  "directorsCount": 14,
  "directors": [
    { "designation": "Managing Director", "name": "Mukesh Dhirubhai Ambani", "din": "00001695", "tenure": "49 years" }
  ],
  "balanceSheet": {
    "period": "Mar 2025",
    "currency": "INR (₹ Cr)",
    "items": { "Equity Capital": 13532.0, "Reserves": 996094.0, "Borrowings": 347530.0 }
  },
  "chargesCount": 1,
  "matched": true,
  "source": "tofler.in",
  "scrapedAt": "2026-05-22T13:00:00.000Z"
}
````

You can download the dataset in JSON, CSV, Excel, HTML or XML.

### Data table

| Field | Description |
|---|---|
| `cin` / `pan` | MCA identifiers |
| `name` / `incorporationYear` / `age` | Identity |
| `paidUpCapital` / `authorisedCapital` (+ `*Cr`) | Capital (readable + numeric ₹ Cr) |
| `directors[]` / `directorsCount` / `directorsText` | Board — name, designation, DIN, tenure |
| `balanceSheet` | Latest-year balance-sheet items (₹ Cr) |
| `charges[]` / `chargesCount` | Secured borrowings — holder, amount, date |
| `agm` / `email` | Last AGM, registered email |
| `matched` | Whether the CIN resolved to a company |

### Pricing

Pay-per-result: **$2 per 1,000 companies** (~$0.002 each). Datacenter proxy is sufficient.

### FAQ & support

**Where does the data come from?** Tofler, which structures public **MCA (Ministry of Corporate Affairs)** filing data. It is public statutory data. Always verify your use complies with the source's Terms of Service and India's data-protection law (DPDP Act).

**Why are detailed P\&L figures missing?** Tofler gates detailed profit & loss behind its Pro subscription. This Actor returns the **public tier** — registry details, directors, capital, balance-sheet figures and charges — which is rich on its own.

**Why didn't a CIN return data?** Check the CIN is valid (21 chars) and the company is registered. The `matched` flag shows whether data was found.

For feedback or a custom solution, open an issue in the **Issues** tab.

### 🔗 foXLabs B2B Intelligence Suite

Global company intelligence, by region & data type:

| Actor | Best for |
|---|---|
| [**Owler**](https://apify.com/foxlabs/owler-intelligence) | Global firmographics, competitors, funding |
| [**Craft.co**](https://apify.com/foxlabs/craft-intelligence) | Global financials, valuation, M\&A |
| [**Built In**](https://apify.com/foxlabs/builtin-intelligence) | Tech stack, employees, jobs |
| [**Company Data Enrichment**](https://apify.com/foxlabs/company-enrichment) | Bulk firmographics by name/domain |
| [**Free Company Lookup**](https://apify.com/foxlabs/company-lookup-free) | 🆓 Quick basics |

***

### Keywords / search terms

Indian company data, India company database, MCA data, CIN lookup, Tofler scraper, company financials India, director details, DIN lookup, ROC filing, company registration India, Indian startup data, company due diligence, KYC India, private company data, b2b data India.

# Actor input Schema

## `companyNames` (type: `array`):

Type Indian company names — one per line (e.g. `Infosys`, `Reliance Industries`). Each is resolved to its company profile via web search. ⚠ Best-effort: a shared/ambiguous name may resolve to the wrong company — for guaranteed results use the CIN below. Always check the `matched` field + returned name.

## `cins` (type: `array`):

One CIN per line — e.g. `L17110MH1973PLC019786`. The CIN is the 21-character MCA identifier on every Indian company's filings/invoices/letterhead. No ambiguity — exact match.

## `companyUrls` (type: `array`):

Full Tofler URLs, e.g. `https://www.tofler.in/reliance-industries-limited/company/L17110MH1973PLC019786`, or upload a .txt/.csv.

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

Hard cap on results — pay-per-result pricing scales linearly. Set 0 for unlimited.

## `maxConcurrency` (type: `integer`):

How many companies to fetch in parallel. Default 10 is balanced; push 20-30 for big lists.

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

Apify Datacenter proxy is sufficient.

## Actor input object example

```json
{
  "companyNames": [
    "Infosys",
    "Reliance Industries"
  ],
  "cins": [],
  "companyUrls": [],
  "maxResults": 100,
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "companyNames": [
        "Infosys",
        "Reliance Industries"
    ],
    "cins": [],
    "companyUrls": [],
    "maxResults": 100,
    "maxConcurrency": 10,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": []
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("foxlabs/indian-company-data").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 = {
    "companyNames": [
        "Infosys",
        "Reliance Industries",
    ],
    "cins": [],
    "companyUrls": [],
    "maxResults": 100,
    "maxConcurrency": 10,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": [],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("foxlabs/indian-company-data").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 '{
  "companyNames": [
    "Infosys",
    "Reliance Industries"
  ],
  "cins": [],
  "companyUrls": [],
  "maxResults": 100,
  "maxConcurrency": 10,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": []
  }
}' |
apify call foxlabs/indian-company-data --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Indian Company Data — CIN, Directors & Financials",
        "description": "Look up any Indian company by CIN and get directors, financials, balance sheet, paid-up capital, charges & registry details as clean JSON. MCA-sourced data via Tofler — for due diligence, KYC, lead enrichment & investor research.",
        "version": "0.1",
        "x-build-id": "h0gg0tQ8bgODbaWt6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/foxlabs~indian-company-data/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-foxlabs-indian-company-data",
                "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/foxlabs~indian-company-data/runs": {
            "post": {
                "operationId": "runs-sync-foxlabs-indian-company-data",
                "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/foxlabs~indian-company-data/run-sync": {
            "post": {
                "operationId": "run-sync-foxlabs-indian-company-data",
                "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": {
                    "companyNames": {
                        "title": "Company names (easiest)",
                        "type": "array",
                        "description": "Type Indian company names — one per line (e.g. `Infosys`, `Reliance Industries`). Each is resolved to its company profile via web search. ⚠ Best-effort: a shared/ambiguous name may resolve to the wrong company — for guaranteed results use the CIN below. Always check the `matched` field + returned name.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "cins": {
                        "title": "CINs (Corporate Identification Numbers) — most precise",
                        "type": "array",
                        "description": "One CIN per line — e.g. `L17110MH1973PLC019786`. The CIN is the 21-character MCA identifier on every Indian company's filings/invoices/letterhead. No ambiguity — exact match.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "companyUrls": {
                        "title": "Or paste Tofler company URLs / upload a list",
                        "type": "array",
                        "description": "Full Tofler URLs, e.g. `https://www.tofler.in/reliance-industries-limited/company/L17110MH1973PLC019786`, or upload a .txt/.csv.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxResults": {
                        "title": "Maximum number of companies",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Hard cap on results — pay-per-result pricing scales linearly. Set 0 for unlimited.",
                        "default": 100
                    },
                    "maxConcurrency": {
                        "title": "Concurrent lookups",
                        "minimum": 1,
                        "maximum": 50,
                        "type": "integer",
                        "description": "How many companies to fetch in parallel. Default 10 is balanced; push 20-30 for big lists.",
                        "default": 10
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Datacenter proxy is sufficient.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": []
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
