# India MCA Company Search — Registry Data API (`nexgendata/india-mca-companies`) Actor

Search the India MCA (Ministry of Corporate Affairs) company registry. Clean JSON for analysts, researchers and AI agents.

- **URL**: https://apify.com/nexgendata/india-mca-companies.md
- **Developed by:** [NexGenData](https://apify.com/nexgendata) (community)
- **Categories:** Business, Lead generation
- **Stats:** 1 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $50.00 / 1,000 india mca 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 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

## India MCA Company Search

Search the India MCA (Ministry of Corporate Affairs) company registry. Built for analysts, researchers, fintech builders and AI agents.

### 📊 What you get

Clean JSON, one record per company (full output has 15 fields):

- `authorized_capital_inr` — Authorized capital inr
- `cin` — Cin
- `company_name` — Company name
- `data_source` — Source of the data
- `directors` — Directors
- `entity_type` — Entity type
- `incorporation_date` — Incorporation date
- `industry` — Industry
- `last_annual_return_date` — Last annual return date
- `listed_on_exchange` — Listed on exchange
  Records include a `data_source` field.

**Pricing:** $0.10 per company (Pay-Per-Event) — about **10 companys per $1**.

### 🤖 Use with AI agents

Structured JSON built for LLM and agent pipelines — point Claude, the OpenAI Agents SDK, an n8n flow or any MCP-aware client at it and pull India MCA company registry records on demand.

**Sample agent prompt:**

```
Find India MCA companies by state and return their status and class.
```

**Agentic payments (x402):** Supports agentic payment via x402 — agents can call this actor with USDC, no API key required.

### ⏰ Run on a schedule

This is a monitoring play — schedule a recurring pull:

```json
{
  "limit": 50
}
```

### 🔗 Related APAC actors

**Country data suite:** [India SEBI Filings](https://apify.com/nexgendata/india-sebi-filings-tracker), [ASX Announcements](https://apify.com/nexgendata/asx-company-announcements), [Australia ASIC Search](https://apify.com/nexgendata/australia-asic-company-search), [PSE EDGE Disclosures](https://apify.com/nexgendata/pse-edge-disclosures)

**Cross-market hubs:** [APAC Disclosure Monitor](https://apify.com/nexgendata/apac-disclosure-monitor), [APAC IPO Calendar Sweep](https://apify.com/nexgendata/apac-ipo-calendar-sweep)

***

*Data from public APAC government and market sources.*

# Actor input Schema

## `search_query` (type: `string`):

Partial-match company-name search. Searches India's Ministry of Corporate Affairs (MCA21) registry plus aggregated public lists (NSE/BSE-listed companies and India's largest privately-held unicorns). Case-insensitive substring match against the registered legal name. Leave empty to retrieve the full curated universe filtered by the other fields. Example: 'Reliance', 'Tata', 'Infosys', 'Flipkart', 'Adani', 'HDFC'.

## `cin` (type: `string`):

India's Corporate Identification Number — the 21-character canonical MCA-issued identifier for every company registered under the Companies Act 2013 (and predecessor Companies Act 1956). Format: L/U + 5-digit industry code + 2-letter state code + 4-digit year + 3-letter type code + 6-digit registration number (e.g. 'L17110MH1973PLC019786' for Reliance Industries Ltd, 'L85110KA1981PLC013115' for Infosys Ltd). Exact match. Takes precedence over search\_query when both are provided.

## `entity_type` (type: `string`):

Filter by MCA entity type. 'ALL' returns everything. 'PUBLIC\_LIMITED' covers companies whose CIN starts with 'L' — listed and unlisted public limited companies (the dominant form for NSE/BSE-listed firms). 'PRIVATE\_LIMITED' covers companies whose CIN starts with 'U' and have 'PTC' / 'PRT' in the type code — the dominant form for Indian startups, family businesses, and SME entities. 'OPC' covers One Person Companies introduced under Section 2(62) of the Companies Act 2013. 'LLP' covers Limited Liability Partnerships registered under the LLP Act 2008 (LLPIN format, not CIN). 'SECTION\_8' covers non-profits under Section 8 of the Companies Act 2013 (formerly Section 25 under the 1956 Act).

## `status` (type: `string`):

Filter by MCA registry status. 'ACTIVE' = currently active and compliant with annual filings. 'STRIKE\_OFF' = struck off the register under Section 248 of the Companies Act 2013 (typically for non-filing of annual returns). 'UNDER\_LIQUIDATION' = currently in liquidation under the Insolvency and Bankruptcy Code 2016 (IBC) or the Companies Act provisions. 'DORMANT' = registered but inactive under Section 455 of the Companies Act 2013. 'AMALGAMATED' = merged into another entity via a National Company Law Tribunal (NCLT) order. 'CONVERTED' = converted to a different entity type (e.g. private to public). 'ALL' returns every status.

## `state` (type: `string`):

Filter by registered-office state (the 2-letter MCA state code embedded in positions 7-8 of the CIN). Common codes: 'MH' = Maharashtra (Mumbai — financial capital, most NSE/BSE issuers), 'KA' = Karnataka (Bengaluru — IT/startup capital), 'DL' = Delhi (capital, conglomerate HQs), 'GJ' = Gujarat (industrial / Adani), 'TN' = Tamil Nadu (Chennai — autos / IT), 'TG' = Telangana (Hyderabad — IT / pharma), 'UP' = Uttar Pradesh, 'WB' = West Bengal (Kolkata), 'HR' = Haryana (Gurugram — startups), 'RJ' = Rajasthan, 'AP' = Andhra Pradesh, 'KL' = Kerala. Leave empty for nationwide.

## `listed_only` (type: `boolean`):

When true, restricts results to companies actively listed on India's National Stock Exchange (NSE) and/or Bombay Stock Exchange (BSE). These companies have CIN prefix 'L' AND are confirmed listed on at least one exchange. Useful when cross-referencing MCA filings against NSE/BSE ticker symbols for buy-side equity research, sell-side coverage, or index-construction workflows.

## `limit` (type: `integer`):

Hard cap on total companies returned in this run (1-2000). Each company is one dataset row. Premium pricing applies per row ($0.10/company).

## Actor input object example

```json
{
  "search_query": "Reliance",
  "entity_type": "ALL",
  "status": "ACTIVE",
  "listed_only": false,
  "limit": 5
}
```

# 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 = {
    "search_query": "Reliance",
    "cin": "",
    "entity_type": "ALL",
    "status": "ACTIVE",
    "state": "",
    "listed_only": false,
    "limit": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/india-mca-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 = {
    "search_query": "Reliance",
    "cin": "",
    "entity_type": "ALL",
    "status": "ACTIVE",
    "state": "",
    "listed_only": False,
    "limit": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/india-mca-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 '{
  "search_query": "Reliance",
  "cin": "",
  "entity_type": "ALL",
  "status": "ACTIVE",
  "state": "",
  "listed_only": false,
  "limit": 5
}' |
apify call nexgendata/india-mca-companies --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ousigfVUzdPEmqTDx/builds/c4mzaZ9GEbqwD6hHs/openapi.json
