New company registrations in India (MCA) API
India New Company Registrations is a pay-per-record Apify Actor by Daemon Data that returns newly incorporated Indian companies from the MCA register: CIN, type, RoC, state, NIC activity, capital, registered office as JSON, CSV or Excel. It costs $0.003 per company with the default options ($3.00 per 1,000); no login to the source site and no proxy or browser to set up on your side, and the same input runs from the Apify console, one REST call, Python, Node.js, n8n or an AI assistant through MCP.
Daemon Data India New Company Registrations on Apify Listing as plain text
Why teams use it
- Daily feed shape. The register lists incorporations by date. Read the newest date (
recentDates: 1) or the last three with only-new mode, and nothing is charged twice. - Filter before paying. Company type, state (both from the CIN) and name keywords are checked before any company page is opened; activity keywords and RoC names are checked on the page. Rows outside your filters are never charged.
- Business facts only. The row is the company: CIN, type, RoC, state, activity, capital, registered office. No personal data of directors.
- Cheaper than the alternatives. Store actors for MCA data charge $3-10 per 1,000 and most focus on director lookups; this feed is $3 per 1,000 at the FREE tier and less on paid plans.
Output fields
The most useful top-level fields with values from a real record; the full list is cin, name, url, registrationDate, registrationNumber, status, companyType, companyTypeCode, listed, roc, state, cinStateCode, category, subCategory, companyClass, activity, activityUrl, nicCode, listingStatus, authorizedCapitalInr, paidUpCapitalInr, registeredAddress, pincode, directorsCount, lastAgmDate, lastFinancialsDate, detailsIncluded, source, scrapedAt, isCached, dataStatus, collectedAt, servedAt. Per-field notes and the OpenAPI definition are on the Apify API page.
| Field | Type | Example |
|---|---|---|
cin | string | "U47990HR2026PTC152212" |
name | string | "9BARS COFFEE PRIVATE LIMITED" |
url | string | "https://companies.dubleu.co/company/9bars-coffee-private-limited-U... |
registrationDate | string | "2026-10-28" |
registrationNumber | string | "152212" |
status | string | "active" |
companyType | string | "Private Limited" |
companyTypeCode | string | "PTC" |
listed | boolean | false |
roc | string | "RoC-Haryana" |
state | string | "Haryana" |
cinStateCode | string | "HR" |
category | string | "Company limited by Shares" |
subCategory | string | "Non-govt company" |
companyClass | string | "Private" |
Input and how to call it
Example input. Fields and pricing were checked against the public listing on 2026-11-09; this build does not run paid example searches.
{
"recentDates": 3,
"companyTypes": [
"opc",
"private"
],
"states": [
"Karnataka"
],
"includeDetails": true,
"maxResults": 50
}
One HTTP call starts a run, waits for it and returns the records (token from console.apify.com):
curl -X POST "https://api.apify.com/v2/acts/data_daemon~india-new-company-registrations/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"recentDates": 3, "companyTypes": ["opc", "private"], "states": ["Karnataka"], "includeDetails": true, "maxResults": 50}'
Python: ApifyClient(token).actor("data_daemon/india-new-company-registrations").call(run_input=...). Python example · Node.js example · n8n workflow.
AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/india-new-company-registrations with header Authorization: Bearer YOUR_APIFY_TOKEN in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.
All input fields
| Field | Type | Meaning |
|---|---|---|
recentDates | integer | Take the N newest incorporation dates the register lists (1 = the latest day, usually 300-1,000 companies). Ignored when dates or fromDate/toDate are set. For a daily schedule use 2 or 3 with only-new mode, so late additions to earlier days are picked up once. During a source outage this selects the newest available real data; cached rows are explicitly dated and marked. |
dates | array | Specific incorporation dates as YYYY-MM-DD, e.g. 2026-10-28. Each date is read in full (all pages). |
fromDate | string | Start of a date range (YYYY-MM-DD, inclusive). Every listed incorporation date from here to toDate (or the newest) is read. |
toDate | string | End of the date range (YYYY-MM-DD, inclusive). |
companyTypes | array | Only these types (read from the CIN before any page is opened; filtered-out companies are not charged). Empty = all. |
states | array | Only companies whose state or RoC contains one of these words, e.g. Maharashtra, Karnataka, Delhi, KA, RoC-Bangalore. State names and codes are matched against the state code in the CIN before any company page is opened (fast); RoC names and LLPs are checked on the company page. Rows outside the filter are never charged. |
activityKeywords | array | Only companies whose NIC activity description or 5-digit NIC code contains one of these, e.g. software, real estate, 62011, retail trade. Checked on the company page. |
nameKeywords | array | Only companies whose name contains one of these words, e.g. foundation, technologies, hospitality. Checked before any page is opened. |
includeDetails | boolean | Read the company page for status, RoC, state, category, class, activity, capital, registered office and the number of directors. Off = listing fields only (name, CIN and what the CIN encodes: type, NIC code, state code, year), which is faster. Same price either way. Fallback sources may supply fewer details; absent fields stay null and detailsIncluded indicates whether a public detail profile was read. |
maxResults | integer | Stop after this many saved companies (default 25, about $0.076 including run start). 0 = no cap (the run maximum cost still applies). |
onlyNewSinceLastRun | boolean | For schedules: remember delivered CINs (in a named key-value store in your account) and save only companies that earlier runs with the same filters did not deliver. Skipped companies are not charged. |
stateName | string | Name of the only-new memory. Empty = derived from the filters (dates do not change it). Give two schedules the same name to share one memory. |
skipIds | array | CINs (or LLPINs) you already have. They are neither saved nor charged. |
Price
$0.003 per company ($3.00 per 1,000); $0.001 per run. List prices for Apify Free and Starter plans; Scale and Business plans pay 15% to 30% less.
| Event | Price | Per 1,000 | Charged when |
|---|---|---|---|
| Company | $0.003 | $3.00 | One newly incorporated company saved to the dataset: name, CIN, incorporation date, type, RoC, state, category and class, NIC activity, authorised and paid-up capital, registered office with PIN code, number of directors. Companies skipped by only-new mode, skipIds or the filters are never charged. |
| Actor Start | $0.001 | Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). |
Cost example: 50 companys with default options cost $0.151, including any start fee. This is an illustrative record count; set explicit row and total-charge caps for your run. Apify's free plan includes $5 of usage a month, about 1,666 companys before start fees; the Actor's own compute is included in the per-record price, and records skipped by filters, de-duplication or only-new mode are not charged.
Ready-made example pages
Saved inputs you can run with one click on Apify (Examples tab); each has its own page:
- New companies registered in India on the latest day (MCA feed): Every company incorporated on the newest day the MCA register lists (500-1,000 a day): name, CIN, type (Pvt Ltd, OPC, Section 8, foreign subsidiary), RoC, state, NIC activity, authorised and paid-up capital, registered o
{"recentDates": 1, "includeDetails": true, "maxResults": 200} - New Section 8 (non-profit) companies in India (newest 100): The newest 100 Section 8 non-profit companies incorporated in India, read from the five most recent register days (about 7% of incorporations are Section 8, so two days usually fill the cap): name, CIN, state, RoC, activ
{"recentDates": 5, "companyTypes": ["section8"], "includeDetails": true, "maxResults": 100}
Alternatives, honestly
| Option | What it gives you | Where it falls short for this job |
|---|---|---|
| MCA portal (mca.gov.in) master data | Official lookup of one company by CIN or name | One company at a time behind a captcha; no daily list or export |
| Paid company-data platforms (Tofler, Probe42 and similar) | Financials, directors and filings | Subscriptions priced per seat or per report; overkill for a daily new-incorporations list |
| Other MCA Actors on Apify Store | New-company lists from the same register | Compare price per 1,000, CIN decoding, filters before charging and only-new mode |