Indian Company Data — CIN, Directors & Financials avatar

Indian Company Data — CIN, Directors & Financials

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Indian Company Data — CIN, Directors & Financials

Indian Company Data — CIN, Directors & Financials

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.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Berkan Kaplan

Berkan Kaplan

Maintained by Community

Actor stats

1

Bookmarked

142

Total users

22

Monthly active users

11 hours ago

Last modified

Categories

Share

Indian Company Data — CIN, Directors & Financials 🇮🇳

foXLabs India series: Government tenders · NSE filings · Tech hiring signals · IndiaMART suppliers

🎉 Turn Indian company filings into clean, structured company records — look companies up by CIN or name, or discover them by industry and state, and get directors with DIN, capital, balance sheet, charges, subsidiaries and locations as one row per company. Built for due diligence, KYC / KYB, lead generation and investor research on Indian companies.

🔍 What is Indian Company Data — and when should you use it?

Give this Actor Indian CINs (the 21-character Corporate Identification Number), company names or Tofler URLs — or pick an industry and/or state to discover companies you don't know yet — and it returns one enriched record per company from the public company pages of Tofler, which are compiled from Ministry of Corporate Affairs (MCA) filings. Every run reads the pages live.

Use it when you need: a company profile for KYC or vendor onboarding (status, class, registered office, directors with DIN); a lead list of Indian companies by sector and state; director, subsidiary and secured-loan (charge) networks for due diligence.

Use something else when: you need exact profit or net-worth rupee figures (Tofler keeps those in its paid tier — this Actor returns the public tier: revenue band plus year-on-year EBITDA and net-worth change), or personal phone numbers.

🤖 Use with AI agents

Already on the Apify MCP server? Ask for this Actor by name: foxlabs/indian-company-data.

Your agent can pay for its own runs. This Actor is pay-per-event with agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — no Apify account or API token of its own. Billing is the same either way: per delivered company record — rows that only report a failed lookup are free from 25 September 2026.

Otherwise paste this into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want Indian company records from the Apify Actor `foxlabs/indian-company-data`.
Input: `cins` is a list of 21-character CINs (exact match); `companyNames` is a list of company names (resolved by search, best-effort); or set `industry` and/or `state` to discover companies. `maxResults` caps the rows; `includeDirectorNetwork: true` adds every board seat of each director.
Start with: {"cins":["L17110MH1973PLC019786","L85110KA1981PLC013115"],"maxResults":10}
Ask me what to look up, run the Actor, then summarise the rows as a table.

The machine-readable API, MCP config and OpenAPI definition live at apify.com/foxlabs/indian-company-data.md.

📋 Overview

Everything you need to turn Indian company filings into structured data — in one Actor, with no login, cookies or API key.

Why teams pick this Actor:

  • Look up or discover — exact CIN lookup, name lookup, or a lead list by industry × state (30 industries × 36 states and union territories).
  • 🧑‍💼 Directors with DIN — and, on request, every other company each director sits on.
  • 🏦 Capital, balance sheet and charges — paid-up and authorised capital, latest balance-sheet items, secured borrowings.
  • 🌐 Subsidiaries and locations — subsidiary list plus registered office, branches, factories and warehouses with coordinates.
  • 💰 Pay per record — $0.004 per company record, no subscription.
  • 🤖 Agent-ready — MCP + x402 agentic payments.

✨ Features

  • 🔍 Three ways incins (exact), companyNames (resolved by search), companyUrls (Tofler company URLs).
  • 🧭 Discoveryindustry and/or state walk Tofler's public company directory and enrich every company found.
  • 🧹 Filters — keep one status (Active, Strike Off, Dissolved, …) or one class (public, private, one person).
  • 🕸️ Director networkincludeDirectorNetwork fetches each director's board seats (maxDirectorsPerCompany, default 25).
  • 🧾 Clean values — capital as numeric ₹ Cr next to the readable text, placeholder dashes turned into null, ISO dates inside the director network.

🎬 Quick Start

curl -X POST "https://api.apify.com/v2/acts/foxlabs~indian-company-data/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cins":["L17110MH1973PLC019786","L85110KA1981PLC013115"],"maxResults":10}'

🚀 Getting Started (3 steps)

  1. Choose your targets — CINs for exact matches, names for convenience, or an industry and state to discover companies.
  2. Set the capmaxResults limits how many companies come back (default 100; 0 = no limit).
  3. Run and export — download the dataset as JSON, CSV, Excel, HTML or XML.

📥 Input

{"cins":["L17110MH1973PLC019786","L85110KA1981PLC013115"],"maxResults":100}
FieldTypeDescription
cinsarray21-character CINs, one per line — exact match.
companyNamesarrayCompany names, resolved to a CIN by search (best-effort — check name in the output).
companyUrlsarrayFull Tofler company URLs, or a .txt / .csv upload.
industrystringDiscover companies in one of 30 sectors, e.g. computer-related-services, manufacturing-textiles.
statestringDiscover companies registered in one of 36 states / UTs (e.g. karnataka), or filter look-ups to it.
statusFilterstringKeep one status: Active, Strike Off, Dissolved, Under Liquidation, Dormant, Not Available for eFiling.
companyClassFilterstringKeep one class: public, private, one person.
maxResultsintegerCap on companies returned (default 100; 0 = unlimited). In discovery mode it is also how many companies are pulled from the directory.
includeDirectorNetworkbooleanFor every director, also fetch every company they sit on — one extra page per director. Default off.
maxDirectorsPerCompanyintegerDirector network only — how many directors per company get their board seats fetched (default 25, max 100).
maxConcurrencyintegerCompanies fetched in parallel (default 10).
proxyConfigurationobjectApify proxy settings (default: Apify proxy, automatic selection).

More recipes

  • Lead list: {"industry":"computer-related-services","state":"karnataka","maxResults":50} — 50 IT companies registered in Karnataka, each fully enriched (≈ $0.20).
  • Watch-list screen: {"companyNames":["Infosys","Reliance Industries"],"statusFilter":"Active","companyClassFilter":"public","maxResults":20} — resolves each name, keeps only active public companies.
  • Director network: {"cins":["L85110KA1981PLC013115"],"includeDirectorNetwork":true,"maxResults":1} — Infosys' directors, each with every company they sit on.

📤 Output

One row per company. A lookup that fails still writes a row with an error field (and matched: false when a name could not be resolved), so nothing disappears silently. From 25 September 2026 these rows are not charged.

FieldDescription
cin / panCorporate Identification Number and PAN
name / status / companyClassLegal name, status (Active / Strike Off …), public / private class
incorporationDate / incorporationYear / ageYearsIncorporation date, year and age in years
descriptionOne-line business description (null when the page has none)
registeredAddress / registeredState / registeredPincodeRegistered office
paidUpCapital / paidUpCapitalCr / authorisedCapital / authorisedCapitalCr / currencyCapital — readable text and numeric ₹ Cr
operatingRevenueRange / revenueFyEndPublic revenue band and financial-year end
ebitdaChangePct / networthChangePctYear-on-year change, %
agm / lastAgmDate / emailLast AGM and the registered email on the filings
directors[] / directorsCount / directorsTextBoard — name, designation, DIN, tenure, profileUrl; with Director network on also directorships[] (company, CIN, status, industry, incorporation date, appointment date, designation) and directorshipsCount
directorNetworkRequested / directorNetworkCountDirector network only — flag and number of distinct other companies reached through the board
balanceSheet / balanceSheetTextLatest-year balance-sheet items (₹ Cr)
charges[] / chargesCount / chargesTextSecured borrowings — holder, amount, date
subsidiaries[] / subsidiariesCount / subsidiariesTextSubsidiaries — name, incorporation year, location, paid-up capital, link (up to 200 per company; the count is always the full total)
locations[] / locationsCountRegistered office, branches, factories, warehouses with coordinates (up to 100 per company; the count is always the full total)
query / nameMatchScoreName look-ups only — the name you searched and the share of its words found in the resolved legal name (1 = all, 0 = none); null for CIN, URL and discovery rows
url / matched / source / scrapedAtSource page, match flag, source name, timestamp

Sample — Reliance Industries, captured 2026-09-10 with Director network on (lists trimmed to one entry):

{
"url": "https://www.tofler.in/company/L17110MH1973PLC019786",
"cin": "L17110MH1973PLC019786",
"name": "RELIANCE INDUSTRIES LIMITED",
"status": "Active",
"companyClass": "public limited company",
"pan": null,
"incorporationDate": "08 May, 1973",
"incorporationYear": 1973,
"ageYears": 53.3,
"description": "The company is engaged in Exploration & Production, Petroleum Refining & Marketing, Retail Investor Relations, Petrochemicals, Textiles, Retail and mobile network operations",
"registeredAddress": "3 RD FLOORMAKER CHAMBER IV 222 NARIMAN POINT",
"registeredState": "Maharashtra",
"registeredPincode": "400021",
"paidUpCapital": "₹ 13,532.5 Cr",
"paidUpCapitalCr": 13532.5,
"authorisedCapital": "₹ 50,000.0 Cr",
"operatingRevenueRange": "Over INR 500 cr",
"revenueFyEnd": "31 March, 2025",
"ebitdaChangePct": -21.81,
"networthChangePct": 5.43,
"lastAgmDate": "19 June, 2026",
"directorsCount": 14,
"directors": [
{
"designation": "Whole-time Director",
"name": "Hital Rasiklal Meswani",
"din": "00001623",
"tenure": "16 years",
"profileUrl": "https://www.tofler.in/hital-rasiklal-meswani/director/00001623",
"directorships": [
{
"companyName": "THE INDIAN FILM COMBINE PVT LTD",
"cin": "U92100MH1942PTC003702",
"companyUrl": "https://www.tofler.in/the-indian-film-combine-pvt-ltd/company/U92100MH1942PTC003702",
"incorporationDate": "1942-10-19",
"industry": "Recreational, cultural and sporting activities",
"status": "Active",
"appointedOn": "2018-07-23",
"asOn": "2025-07-16",
"designation": "Director"
}
],
"directorshipsCount": 5
}
],
"directorNetworkRequested": true,
"directorNetworkCount": 48,
"balanceSheet": {
"period": "Mar 2025",
"currency": "INR (₹ Cr)",
"items": {
"Equity Capital": 13532,
"Reserves": 996094,
"Borrowings +": 347530,
"Long term borrowings": 236899
}
},
"chargesCount": 0,
"charges": [],
"subsidiariesCount": 291,
"subsidiaries": [
{
"name": "Reliance Digital Health USA Inc.",
"incorporation": null,
"location": "Usa",
"paidUpCapital": null,
"url": null
}
],
"locationsCount": 312,
"locations": [
{
"address": "3 RD FLOORMAKER CHAMBER IV 222 NARIMAN POINT",
"type": "Registered Office",
"state": "Maharashtra",
"pincode": "400021",
"lat": 19.0759837,
"lng": 72.8776559
}
],
"matched": true,
"source": "tofler.in",
"scrapedAt": "2026-09-10T11:29:40.686Z"
}

💼 Use cases

1. KYC and vendor onboarding — verify an Indian company before you sign. Input: its CIN. Output: status, class, registered office, directors with DIN, charges. Use: confirm the entity exists, is Active and who runs it.

2. B2B lead lists by sector and state — no names needed. Input: an industry and a state. Output: enriched companies with capital and revenue bands. Use: a ready prospect list.

3. Due diligence and conflict-of-interest checks — see who else the board controls. Input: a CIN with includeDirectorNetwork: true. Output: every board seat of every director. Use: spot related parties and shared directors.

4. Credit and risk screening — secured borrowings and financial direction. Input: a list of CINs. Output: charges, balance sheet, year-on-year EBITDA and net-worth change. Use: flag leveraged or shrinking counterparties.

🔗 Integration

JavaScript / Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('foxlabs/indian-company-data').call({"cins":["L17110MH1973PLC019786"],"maxResults":10});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('foxlabs/indian-company-data').call(run_input={"cins": ["L17110MH1973PLC019786"], "maxResults": 10})
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

Automation (n8n / Zapier / Make): schedule or webhook → HTTP request to the Actor API with your cins → handle the JSON dataset → push to a sheet, CRM or dashboard.

📊 Pricing

Pay-per-event: $0.004 per delivered company record (≈ $4 per 1,000 companies), plus Apify's run-start event ($0.00005 per GB of run memory). Director network fetches more pages but costs the same per company. From 25 September 2026, rows that only report a failed lookup (error) are free. Until then Apify still counts them as dataset items. Current pricing.

❓ FAQ

Where does the data come from? From Tofler's public company pages, which compile Ministry of Corporate Affairs (MCA) filings. The Actor reads the public tier only — no login and no paid account.

CIN or name? A CIN is exact. A name is resolved by web search and can land on a similarly named company — check name and nameMatchScore in the output, or use the CIN. A score of 0 usually means a different company — or a brand whose registered legal name is different. A score of 1 can still be a group company that carries the brand in its name — in our test, searching Byju's returned BYJU'S K3 EDUCATION PRIVATE LIMITED — so use the CIN when the exact entity matters.

How does discovery work? Pick an industry and/or state; the Actor walks Tofler's public company directory page by page up to maxResults and enriches every company it finds.

What does Director network add? For each director (up to maxDirectorsPerCompany), every company they sit on — company, CIN, status, industry, incorporation date, appointment date and designation. Measured on Infosys + Reliance: 22 directors → 127 board seats (run gBJT7xLtc5EctFXnI).

Why are exact profit figures missing? Tofler keeps exact profit and net-worth numbers in its paid tier. You get the public revenue band and the year-on-year EBITDA and net-worth change.

Can I export to CSV / Excel / JSON? Yes — directly from the Apify dataset.

🐛 Troubleshooting

  • A name returns the wrong company — look at nameMatchScore (low = likely mismatch) and use the CIN instead; names are resolved by search.
  • Rows with matched: false or error — the name could not be resolved or the page returned an error; check the spelling or use the CIN.
  • The run takes long — Director network adds one page per director; lower maxDirectorsPerCompany or switch it off.
  • Discovery returns fewer rows than maxResults — that industry × state combination has fewer companies in the directory.

The Actor reads publicly accessible company pages; the underlying information is statutory MCA filing data. Director names and DINs are personal data under India's Digital Personal Data Protection Act, 2023 — process them only for a lawful purpose such as KYC or due diligence, and check that your use fits the source website's terms. Tofler is a trademark of its owner; this Actor is not affiliated with Tofler or the MCA.

🤝 Support & contact

Changelog

0.3.2 — 2026-09-10 — failed lookups become free (per-record billing)

  • You will pay only for delivered company records. The Actor now charges a new company-record event for each delivered company, and rows that only report a failed lookup (error, matched: false) are pushed without a charge.
  • Timing: Apify applies pricing changes after a 14-day notice. From 25 September 2026 the pricing switches from the per-dataset-item event to company-record at the same price ($0.004). Until then billing is exactly as before; the code detects the switch by itself.
  • No output field changed.

0.3.1 — 2026-09-10 — name-match check, README + dataset schema

  • New fields for name look-ups: query and nameMatchScore. Names are resolved through web search, and a vague or unknown name could come back as an unrelated company with nothing in the row to show it. Rows from companyNames now carry the searched name and the share of its words found in the resolved legal name (1 = all, 0 = none; legal suffixes ignored). Both are null for CIN, URL and discovery rows. Additive — no existing field changed, no row is dropped.
  • README rebuilt to the current Fox Labs standard (AI agents / MCP / x402, use cases, integration, FAQ, troubleshooting, legal, support) with this Actor's real inputs: cins, companyNames, companyUrls, industry, state, the status / class filters and Director network. The 2026-09-07 README showed a placeholder input (queries) that this Actor does not read.
  • Typed dataset schema restored (the 0.3 build shipped without it) and extended with the Director network fields and the two new fields.

0.3 — 2026-09-10 — Director network

  • New input includeDirectorNetwork (default off) + maxDirectorsPerCompany (default 25). For every director the Actor fetches their Tofler director page (/<slug>/director/<DIN>) and attaches directorships[] — company name, CIN, company URL, status, industry, incorporation date, appointment date, "as on" date, designation — plus directorshipsCount. The company row gets directorNetworkRequested and directorNetworkCount (distinct other CINs across the board).
  • directors[].profileUrl is now always emitted (link to the director page).
  • Measured locally 2026-09-10 (Infosys + Reliance, 24 requests, 0 failed): 22 directors → 127 board seats; fill: companyName/cin/companyUrl/incorporationDate/status/appointedOn/asOn/designation 127/127, industry 124/127; uniqueness DIN+CIN 127/127; 96/127 seats have an "as on" date in 2025–2026.
  • Additive change: no existing field renamed or removed. Dates in directorships[] are ISO (YYYY-MM-DD).
  • A failed director page never drops the company: the director gets directorships: null + directorNetworkError and the company row still ships.

0.2.1 — 2026-07-28

  • age split into typed fields. Tofler renders one string, "1981, 45.1 years", and the Actor shipped it verbatim as age — while incorporationYear (1981) already carried the year half. age is replaced by numeric ageYears (45.1); incorporationYear is unchanged. Measured on 30 live company pages: age filled 30/30 before → ageYears filled 30/30 after, incorporationYear 30/30 in both.
  • Masked empties are null, not placeholder text. Tofler writes "-" where it has no figure and "NA" / "0" where it has no address detail, and those placeholders were reaching the dataset as values. A single unmask() helper now maps them to null. Measured over the same 30 pages: balanceSheet.items 26 of 374 cells were the string "-" (12 of 30 companies affected) → 0, now null; pan 7 of 30 was "-" → 0; locations[] 3 cells (address:"NA", pincode:"NA", type:"0") → 0. Whole-record scan for masked empties: 35 → 0. Numeric balance-sheet values, balanceSheetText and every other field are unchanged.
  • description is the company's business description, not Tofler's ad copy. The field was meta[name="description"], i.e. Tofler's SEO line — "Are you looking for Infosys Limited financials? Visit Tofler for its net worth, ratios…" — identical boilerplate on 30 of 30 companies and of no value to a buyer. It now carries the one-line business description Tofler prints above the company paragraph ("The company manufactures and refines sugar in India and internationally"). Measured: 17 of 30 companies have one and now return it, 0 boilerplate leaked, 0 clipped; the other 13 pages carry no description at all and return null rather than filler.
  • Unchanged and re-verified on the same run: CIN, PAN (where present), status, company class, email, directors[] with DIN, balance-sheet figures, charges, subsidiaries, locations and geo-coordinates.

0.2 — 2026-07-17

  • Discovery mode: browse companies by industry + state (30 industries × 36 states) and enrich every match.
  • Prefilled example CINs (Reliance, Infosys) so the first run returns full profiles with no setup.

0.1

  • Initial release. CIN / company-name / Tofler-URL lookup: identity, status, capital, directors with DIN, latest balance sheet, charges, subsidiaries and locations.