Scrape MCA India Company Data for Due Diligence (2026 Guide)
Look up Indian company CINs with Thirdwatch, distinguish Tofler records from CIN-only fallback, and export a source-aware research table.

The Thirdwatch MCA India Scraper accepts Indian company CINs and returns a research record. Its current retrieval source is Tofler, which republishes company information. It is not a direct Ministry of Corporate Affairs API or an official company verification.
That distinction matters when assembling a due diligence table: a parsed source record and a value inferred from the CIN are different kinds of evidence. Check data_source before interpreting company status, directors or capital.
Start with a known CIN
The input supports queries, maxResults and includeDirectors. Use a known 21-character CIN and a small result cap first. Company-name lookup is best effort; the current input schema warns that it is unreliable.
{
"queries": ["L17110MH1973PLC019786"],
"maxResults": 1,
"includeDirectors": true
}Open the MCA India Actor page, then follow its Apify Store link to run that input. Direct Actor execution uses an Apify account and the current Actor pricing. This CIN lookup is not an advertised Thirdwatch MCP tool.
Retrieve the dataset with Python
Keep your Apify token in an environment variable rather than in source code. This example retrieves a dataset; it does not assert that a successful run contains a complete company record.
import os
from apify_client import ApifyClient
import pandas as pd
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("thirdwatch/mca-india-scraper").call(
run_input={
"queries": ["L17110MH1973PLC019786"],
"maxResults": 1,
"includeDirectors": True,
}
)
items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
df = pd.DataFrame(items)
print(f"Returned {len(df)} records; inspect their data_source values.")Separate fetched data from the fallback
The scraper can derive listing status, state code, incorporation year, industry code and registration number from the CIN format. Those derived values can appear even when it cannot fetch a company page.
When source data is available, data_source is tofler. Parsed company fields depend on the page: company name, status, capital, address and directors may be missing. The scraper does not guarantee a PAN field or a fixed field count.
When source data is unavailable, data_source is cin_format and company_name is null. Treat this as unverified lookup output, rather than an active-company confirmation. A valid-looking identifier is not evidence that the entity exists or has a particular status.
Illustrative fallback shape, not a live verification:
{
"cin": "L17110MH1973PLC019786",
"query": "L17110MH1973PLC019786",
"listing_status": "Listed",
"state_code": "MH",
"incorporation_year": "1973",
"registration_number": "019786",
"company_name": null,
"data_source": "cin_format"
}Export a table that retains evidence gaps
Use reindex so missing fields remain empty instead of making an export fail. Add the collection time to your own pipeline and retain the dataset or source-page reference alongside the table.
columns = [
"cin", "company_name", "status", "authorized_capital",
"paid_up_capital", "registered_address", "directors", "data_source",
]
report = df.reindex(columns=columns).copy()
report["needs_source_review"] = (
report["data_source"].ne("tofler") | report["company_name"].isna()
)
report.to_csv("company-research.csv", index=False)Review source identity, missing fields and filing dates before using a record for a consequential decision. Confirm official status through the MCA portal and the relevant official documents. The scraper output is a research input, not a compliance determination.
Recurring checks and related workflows
For recurring collection, Apify schedules can repeat an Actor input. Store separate snapshots with timestamps; the scraper does not supply historical changes retroactively. Validate a small run before scheduling a larger batch and review incomplete snapshots before interpreting differences.
For a separate GST verification workflow, inspect the GST Verification Actor. The Thirdwatch company research workflow explains the selected MCP tools; it does not turn this Actor's CIN lookup into an MCP capability.
Frequently asked questions
Does this actor query the MCA registry directly?
The current scraper reads publicly available Tofler company pages. It does not provide a direct MCA registry integration or an official government verification.
What does data_source mean?
A tofler record contains fields parsed from a fetched page. A cin_format record contains values derived from the CIN and may have company_name set to null; it does not confirm company status or existence.
Are directors and company status always available?
No. Directors and company fields depend on the source page and extraction. Keep missing values empty and verify consequential conclusions against authoritative records.