# 🇮🇳 OGD India Companies Master Data Lookup (`nexgendata/ogd-india-companies-registry`) Actor

Search the Indian Ministry of Corporate Affairs (MCA) company master data via Open Government Data (OGD) platform. Returns CIN, company name, ROC code, category, capital, registration date, registered office, listing status, NIC industrial classification. For B2B prospecting in India, KYC due dilige

- **URL**: https://apify.com/nexgendata/ogd-india-companies-registry.md
- **Developed by:** [Stephan Corbeil](https://apify.com/nexgendata) (community)
- **Categories:** Business, Lead generation
- **Stats:** 4 total users, 2 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $40.00 / 1,000 companies

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

## 🇮🇳 OGD India Companies Registry — MCA Direct, Tofler & Zauba Corp Alternative

Look up Indian companies in the Open Government Data (OGD) master-data registry by CIN, company name, state, ROC, or activity code. Returns CIN, name, registered office, paid-up capital, authorized capital, class, category, sub-category, listed status, date of incorporation, ROC, activity description, and last AGM / balance-sheet dates. Built as a pay-per-record **alternative to** MCA portal direct (manual, captcha-gated), Tofler, Zauba Corp, InstaFinancials, and ProbeMD for India KYC, due-diligence, lead-gen, and academic research.

### Why OGD India Companies Beats MCA Direct, Tofler, Zauba Corp & InstaFinancials

| Feature | NexGenData OGD India Companies | MCA portal direct | Tofler | Zauba Corp | InstaFinancials |
|---|---|---|---|---|---|
| Cost | $0.005 / record, pay-per-result | Free (captcha + manual) | ₹1500-25000+ / report | ₹500-5000 / report | ₹$$$$ / report |
| Bulk lookup | Yes — CIN list / name list | One-at-a-time + captcha | Plan-gated | Plan-gated | Plan-gated |
| Live data | OGD master-data refresh | Real-time | Periodic sync | Periodic sync | Periodic sync |
| Filters | State + ROC + activity + class | Limited | Yes | Yes | Yes |
| Bulk export | JSON / CSV / Excel | None (manual copy) | PDF + CSV (plan-gated) | PDF (plan-gated) | PDF / Excel (plan-gated) |
| API access | Apify REST + SDKs | None | Plan-gated | Plan-gated | Plan-gated |
| Auth required | Apify token | Captcha + session | Account + plan | Account + plan | Account + plan |
| Monthly minimum | None | None | ₹$$ | None (per-report) | ₹$$$$ |

Most India KYC + lead-gen teams pick this actor **instead of** Tofler / Zauba Corp because per-record cost is 100-1000× lower at comparable surface coverage for the registry fields, and it's the only **drop-in alternative to** MCA portal direct that ships bulk JSON / CSV without burning analysts on captcha-solving. **Cheaper than** building your own MCA scraper at any volume — the OGD master-data feed is the canonical source and is fully indexed.

### What You Get Per Company

Each dataset item is a flat JSON record:

- `cin` — Corporate Identification Number (21-char)
- `company_name`, `company_status` (active / strike-off / under liquidation)
- `roc`, `state`, `country`
- `class` — public / private / OPC / Section 8
- `category`, `sub_category`
- `listing_status` — listed / unlisted
- `incorporation_date`, `email_id`
- `registered_office_address`
- `authorised_capital`, `paid_up_capital` (INR)
- `principal_business_activity_code`, `principal_business_activity_description`
- `last_agm_date`, `last_balance_sheet_date`
- `whether_listed_in_stock_exchange`, `industrial_classification`

### Use Cases

- **KYC + AML** — verify counterparty registration status before onboarding
- **Lead generation** — build B2B prospect lists filtered by state, activity, or paid-up capital
- **Due diligence** — pull historic AGM / balance-sheet dates for compliance signals
- **Investors / corp-dev** — map a sector (e.g. "Maharashtra fintech private companies founded 2020+")
- **Academic research** — entrepreneurship + corporate-governance studies on India's corporate sector
- **Credit + risk** — flag strike-off, dormant, or under-liquidation entities
- **Legal + compliance** — generate company-snapshot reports for filings + diligence packs

### Quick Start (Python)

```python
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("nexgendata/ogd-india-companies-registry").call(run_input={
    "search_mode": "by_state",
    "states": ["Maharashtra"],
    "company_class": ["Private"],
    "max_records": 5000
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["cin"], item["company_name"], item["paid_up_capital"])
````

### Pricing — Pay Per Record

- **Actor start:** $0.005
- **Company record:** $0.005

A 5,000-company Maharashtra private-company pull = $25.01. A 50K-company multi-state KYC dataset = $250.01. **No monthly minimum, no seats.**

### Related NexGenData APAC + KYC Actors

| Use case | Actor |
|----------|-------|
| Singapore ACRA / BizFile+ company lookup | [singapore-acra-companies](https://apify.com/nexgendata/singapore-acra-companies?fpr=2ayu9b) |
| Hong Kong companies registry | [hk-companies-registry](https://apify.com/nexgendata/hk-companies-registry?fpr=2ayu9b) |
| India NSE stock screener | [nse-india-stock-screener](https://apify.com/nexgendata/nse-india-stock-screener?fpr=2ayu9b) |
| Singapore SGX stock screener | [sgx-singapore-stock-screener](https://apify.com/nexgendata/sgx-singapore-stock-screener?fpr=2ayu9b) |
| Singapore MAS financial institutions | [sg-mas-financial-institutions](https://apify.com/nexgendata/sg-mas-financial-institutions?fpr=2ayu9b) |
| Singapore HDB resale-price tracker | [sg-hdb-resale-prices](https://apify.com/nexgendata/sg-hdb-resale-prices?fpr=2ayu9b) |
| Singapore GeBIZ government tenders | [singapore-gebiz-tenders](https://apify.com/nexgendata/singapore-gebiz-tenders?fpr=2ayu9b) |
| Eastmoney China stock screener | [eastmoney-stock-screener](https://apify.com/nexgendata/eastmoney-stock-screener?fpr=2ayu9b) |

### FAQ

**Q: Source of the data?**
A: India's Open Government Data (OGD) platform master-data company registry, sourced from the Ministry of Corporate Affairs (MCA).

**Q: How fresh is it?**
A: The OGD feed refreshes on the platform's published cadence (typically weekly for status changes). Each run pulls the latest available snapshot.

**Q: Can I look up by company name?**
A: Yes — both CIN and free-text name lookup are supported. CIN is more precise for exact matches.

**Q: Coverage?**
A: 2.5M+ active and historical companies across India — every state and ROC.

**Q: Output formats?**
A: JSON, CSV, Excel via Apify dataset export. Webhooks supported on dataset write.

**Q: Legal status?**
A: Open government data, freely redistributable. You are the data controller for downstream use — follow your jurisdiction's data-use rules.

***

### How NexGenData Pricing Works

Every NexGenData actor uses **pay-per-event** pricing — you only pay for results that actually land in your dataset. No monthly minimum, no seat fees, no surprise overage bills.

- **Actor Start:** a single-event charge each time you spin the actor up (scaled to memory size)
- **Result / item:** charged per item written to the default dataset
- **No charge** for retries, internal proxy rotation, or failed sub-requests — those are absorbed by the platform

### Apify Platform Bonus

New to Apify? Sign up with the NexGenData [referral link](https://www.apify.com/?fpr=2ayu9b) — you get free platform credits on signup (enough for several thousand free results) and you help fund the maintenance of this actor fleet.

### Integration Surface

Every actor in the NexGenData catalog can be triggered from:

- **Apify console** — point-and-click run
- **Apify API** — REST + webhooks
- **Apify Python / JS SDKs** — programmatic batch
- **Zapier, Make.com, n8n** — official integrations
- **MCP** — many actors are exposed as MCP tools for Claude / ChatGPT / Cursor agents
- **Schedules** — built-in cron for daily / weekly / monthly runs
- **Webhooks** — POST results to any HTTPS endpoint on dataset write

### Support

NexGenData maintains 260+ Apify actors and ships updates regularly. Bug reports via the Apify console issues tab get a response within 24 hours. Roadmap requests are welcome — high-demand features ship in the next version.

Home: [thenextgennexus.com](https://thenextgennexus.com)
Full catalog: [apify.com/nexgendata](https://apify.com/nexgendata?fpr=2ayu9b)

# Actor input Schema

## `company_name_contains` (type: `string`):

Substring match on company name (case-insensitive).

## `roc` (type: `string`):

Registrar of Companies office (e.g. 'ROC Delhi', 'ROC Mumbai').

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

Substring match on registered address (state name).

## `max_results` (type: `integer`):

Maximum company records.

## `api_key` (type: `string`):

data.gov.in personal API key. Leave blank to use the shared sample key (rate-limited). Get your own at https://data.gov.in/user/login.

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

Apify proxy (optional).

## Actor input object example

```json
{
  "company_name_contains": "INFRAPROP",
  "max_results": 50,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "company_name_contains": "INFRAPROP",
    "roc": "",
    "state": "",
    "max_results": 50,
    "api_key": "",
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("nexgendata/ogd-india-companies-registry").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 = {
    "company_name_contains": "INFRAPROP",
    "roc": "",
    "state": "",
    "max_results": 50,
    "api_key": "",
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("nexgendata/ogd-india-companies-registry").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 '{
  "company_name_contains": "INFRAPROP",
  "roc": "",
  "state": "",
  "max_results": 50,
  "api_key": "",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call nexgendata/ogd-india-companies-registry --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "🇮🇳 OGD India Companies Master Data Lookup",
        "description": "Search the Indian Ministry of Corporate Affairs (MCA) company master data via Open Government Data (OGD) platform. Returns CIN, company name, ROC code, category, capital, registration date, registered office, listing status, NIC industrial classification. For B2B prospecting in India, KYC due dilige",
        "version": "0.0",
        "x-build-id": "jrhNcegg8lPZbCLn6"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/nexgendata~ogd-india-companies-registry/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-nexgendata-ogd-india-companies-registry",
                "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/nexgendata~ogd-india-companies-registry/runs": {
            "post": {
                "operationId": "runs-sync-nexgendata-ogd-india-companies-registry",
                "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/nexgendata~ogd-india-companies-registry/run-sync": {
            "post": {
                "operationId": "run-sync-nexgendata-ogd-india-companies-registry",
                "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": {
                    "company_name_contains": {
                        "title": "Company name filter",
                        "type": "string",
                        "description": "Substring match on company name (case-insensitive)."
                    },
                    "roc": {
                        "title": "ROC office filter",
                        "type": "string",
                        "description": "Registrar of Companies office (e.g. 'ROC Delhi', 'ROC Mumbai')."
                    },
                    "state": {
                        "title": "State filter",
                        "type": "string",
                        "description": "Substring match on registered address (state name)."
                    },
                    "max_results": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum company records.",
                        "default": 50
                    },
                    "api_key": {
                        "title": "OGD API key (optional)",
                        "type": "string",
                        "description": "data.gov.in personal API key. Leave blank to use the shared sample key (rate-limited). Get your own at https://data.gov.in/user/login."
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify proxy (optional).",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
