MCA Company Master Data CIN API
GET COMPANY MASTER DATA LIVE AS REGISTERED WITH MCA
Description
The Ministry of Corporate Affairs' (MCA) Registrar of Companies (ROC) office is responsible for overseeing company registration and administration. For a given CIN/LLPIN/FLLPIN/FCRN, this API retrieves the live company information, directors list, filing history, index of charges and other details as registered in the MCA database.

API Details
Request
Type | URL | Current / LTS Version | Min Version | Max Version |
---|---|---|---|---|
POST | https://api.attestr.com/api/{version}/public/corpx/business/master | v2 | v1 | - |
Version v1 of MCA Company Data API is now deprecated as of Dec 1, 2023. All new integrations must use version v2. Existing v1 integrations will become end-of-life effective Mar 1, 2024.
Request Body Parameters
Type | Name | Description | Optional (default) | Min Version | Max Version |
---|---|---|---|---|---|
String | reg | Input CIN/LLPIN/FLLPIN/FCRN | Required | v1 | |
Boolean | charges | Flag indicating if index of charges should be fetched | Optional (false) | v1 | |
Boolean | efilings | Flag indicating if list of e-filings should be fetched | Optional (false) | v1 | |
Boolean | live | Flag indicating if live data should be fetched from MCA | Optional (false) | v2 | |
Boolean | fetchLiveOnCacheMiss | When live mode is off, this flag can be enabled to fetch live data if indexed document is not available. For live mode on, this flag has no relevance. | Optional (false) | v2 |
Request Header Parameters
Type | Name | Value / Description | Optional | Min Version | Max Version |
---|---|---|---|---|---|
String | Content-Type | application/json | Required | v1 | |
String | Authorization | Basic {authToken} | Required | v1 |
If you do not have the authentication token, please refer to Register App to generate one.
Sample Request
{
"reg": "U22120MH1913PLC000391",
"efilings": true,
"charges": true,
"live": false,
"fetchLiveOnCacheMiss": false
}
Response
HTTP status code 200
Please note that the valid key decides the availability of rest of the keys in the response. If provided registration number is invalid, all keys except valid and message are omitted. If true, remaining keys will have appropriate data.
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
valid | True | false depending on if the provided registration number number is valid. | Boolean | v1 | |
cin | CIN number of the company. Null for LLP and foreign registered entities. | String | v1 | Removed in v2 |
llpin | LLP registration number. Null for other entity types. | String | v1 | Removed in v2 |
fllpin | Registration number for LLP registered as foreign entity else null. | String | v1 | Removed in v2 |
fcrn | Registration number for companies registered as foreign entities else null. | String | v1 | Removed in v2 |
reg | Registration No of the company (CIN / LLPIN / FCRN / FLLPIN) | String | v2 | |
active | Boolean flag indicating if the company status is active | Boolean | v1 | |
businessName | Name of entity as registered in MCA database | String | v1 | |
rocCode | ROC office code where entity is registered | String | v1 | |
registrationNumber | Unique registration number assigned to the entity | String | v1 | |
category | Entity category such as entity listed by shares etc. | Array (String) | v1 | |
subCategory | Subcategory such as Non-govt company etc. | String | v1 | |
class | Public / private | String | v1 | |
authorizedCapital | Authorized max amount of shares | String | v1 | |
paidCapital | Paid up capital | String | v1 | |
incorporated | Date of registration / incorporation of the entity | String | v1 | Removed in v2 |
incorporatedDate | Date of registration / incorporation of the entity | String | v2 | |
registeredAddress | Complete registered address | String | v1 | Removed in v2 |
bookAddress | Usually the corporate address if different from registered address | String | v1 | Removed in v2 |
addresses | List of all associated addresses | Array (MCA Address Object) | v2 | |
Email address of the company | String | v2 | ||
listed | Boolean flag which indicates if the company is listed in share market. | Boolean | v1 | |
compliant | Compliance status of the company indicating if company has done necessary filings and also following necessary compliances. Could be null for new entities. | String | v1 | Removed in v2 |
lastAGM | Date of last annual general meeting DD-MM-YYYY | Date | v1 | Removed in v2 |
lastAGMDate | Date of last annual general meeting DD-MM-YYYY | Date | v2 | |
lastBS | Balance sheet last updated date DD-MM-YYYY | Date | v1 | Removed in v2 |
lastBSDate | Balance sheet last updated date DD-MM-YYYY | Date | v2 | |
partners | Number of partners registered in the company. Available only for limited liability partnership entities. | Number | v1 | |
designatedPartners | Number of designated partners | Number | v1 | |
previousName | Past name of the entity is available | String | v1 | |
obligation | Total Obligation of contribution for the entity | String | v1 | |
industryDivision | Industry type or category of business | String | v1 | |
industrySection | Section with in the industry division | String | v1 | |
details | Details / description of the industry division | String | v1 | Removed in v2 |
incorporatedCountry | Country name for the foreign registered entities | String | v1 | |
shareCapital | Foreign entity with share capital | Boolean | v1 | |
officeType | Office type for foreign entities | String | v1 | |
companyType | Company type | String | v2 | |
type | Registration type | String | v2 | |
status | Status of the company as registered with MCA | String | v1 | |
inc22AFiled | Form INC22A filed status | Boolean | v2 | |
soatDate | Strike off / Amalgamation / Transfer date | Date | v2 | |
regionalDirector | RD office where registered | String | v2 | |
region | Region name | String | v2 | |
suspendedAtStockExchange | Flag indicating if suspended at stock exchange | Boolean | v2 | |
insolvencyStatus | Insolvency Status if applicable | String | v2 | |
subscribedCapital | Subscribed capital | String | v2 | |
registeredAddressZipcode | Zip code of the registered address of the entity | String | v1 | Removed in v2 |
directorsAndSignatories | List of directors / signatories associated | Array (Director Object) | v1 | |
efilings | Array of filings made by the company | Array (Filing Object) | v1 | |
charges | Index of charges | Array (Charge Object) | v1 | |
indexId | Unique index id for indexed objects. Null for live mode | String | v2 | |
updated | Last updated date of the index. Null for live mode. Stored in unix timestamp mills. | Number | v2 | |
message | Message if the provided registration number is invalid (available only if valid is false) | String | v1 |
Director Object
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
din | Director identification number | String | v1 | |
name | Name of the director | String | v1 | Removed in v2 |
firstName | First name of the director | String | v2 | |
middleName | Middle name of the director | String | v2 | |
lastName | Last name of the director | String | v2 | |
startDate | Date since associated | Date | v1 | Removed in v2 |
endDate | Date of resigning / separation | Date | v1 | Removed in v2 |
pan | PAN number of director if available | String | v1 | Removed in v2 |
appointmentDate | Date of appointment in the company | String | v2 | |
disqualified | Disqualified status flag | Boolean | v2 | |
role | Current role in the company | String | v2 | |
roleEffectiveDate | Role effective since DD-MM-YYYY | Date | v2 | |
roleCessationDate | Date of cessation of the role if applicable DD-MM-YYYY | Date | v2 | |
designation | Designation in the company | String | v2 | |
designationEffectiveDate | Designation effective since DD-MM-YYYY | Date | v2 | |
isCurrentSignatory | Indicates if this director is currently registered as an authorised signatory for the company | Boolean | v2 | |
type | Type of user - Signatory, FO User etc | String | v2 |
MCA Address Object
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
type | Type of the address - Registered Address, Annual Return Address, Book Address etc. | String | v2 | |
line1 | Line 1 of the address | String | v2 | |
line2 | Line 2 of the address | String | v2 | |
line3 | Line 3 of the address | String | v2 | |
line4 | Line 4 of the address | String | v2 | |
locality | Locality name | String | v2 | |
district | District where located | String | v2 | |
city | City name | String | v2 | |
state | Name of the state | String | v2 | |
country | Country | String | v2 | |
zip | Pin code of the address | String | v2 | |
officeType | Type of office | String | v2 | |
active | Whether current address or past address | Boolean | v2 | |
establishmentDate | Date of establishment at this address if available | String | v2 | |
fullAddress | Complete address in one line | String | v2 |
Filing Object
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
srn | Unique SRN number allotted to the filing | String | v1 | |
eform | Name or type of form / filing | String | v1 | |
filed | Date of filing of this return DD-MM-YYYY | Date | v1 | |
description | Description of the filing if any | String | v2 |
Charges Object
Key | Description | Type | Min Version | Max Version |
---|---|---|---|---|
srn | Unique SRN number allotted to the charge | String | v1 | |
chargeId | Unique charge Id | String | v1 | |
chargeHolder | Charge holder's name | Date | v1 | |
chargeHolderAddress | Address of the charge holder | MCA Company Object | v1 | |
amount | Charge amount | String | v1 | |
created | Date of charge creation DD-MM-YYYY | Date | v1 | Removed in v2 |
modified | Date of modification if any DD-MM-YYYY | Date | v1 | Removed in v2 |
satisfied | Date of settlement if applicable DD-MM-YYYY | Date | v1 | Removed in v2 |
createdDate | Date of charge creation DD-MM-YYYY | Date | v2 | |
modifiedDate | Date of modification if any DD-MM-YYYY | Date | v2 | |
satisfiedDate | Date of settlement if applicable DD-MM-YYYY | Date | v2 | |
chargeStatus | Charge Status - Open, Closed etc. | String | v2 |
Sample Response
Sample response for valid registration number
{
"valid": true,
"reg": "U22120MH1913PLC000391",
"businessName": "BENNETT COLEMAN AND COMPANY LIMITED",
"rocCode": "ROC Mumbai",
"registrationNumber": "000391",
"category": "Company limited by shares",
"subCategory": "Non-government company",
"class": "Public",
"authorizedCapital": "7692500000",
"paidCapital": "2869600000",
"incorporatedDate": "29-11-1913",
"addresses": [ ],
"email": "corporate.secretarial@timesgroup.com",
"listed": false,
"lastAGMDate": "25-09-2023",
"lastBSDate": "31-03-2023",
"active": true,
"partners": null,
"designatedPartners": null,
"previousName": null,
"obligation": "0",
"industryDivision": "Publishing, printing and reproduction of recorded media",
"industrySection": "MANUFACTURING",
"incorporatedCountry": "Indian",
"shareCapital": true,
"officeType": null,
"companyType": null,
"type": "Public Limited Company",
"status": "Active",
"inc22AFiled": false,
"soatDate": null,
"regionalDirector": "RD Mumbai",
"region": "Western Region",
"suspendedAtStockExchange": null,
"insolvencyStatus": null,
"subscribedCapital": "2869554240",
"directorsAndSignatories": [ ],
"charges": [ ],
"efilings": [ ],
"indexId": "U22120MH1913PLC000391",
"updated": 1700196013585
}
Sample response for invalid registration number
{
"valid": false,
"message": "Provided company registration number does not exist"
}
Error Response
Parameter | Type | Description |
---|---|---|
code | Number | Unique error codes for different errors. Always available. |
message | String | Error message describing the error. Always Available. |
details | String | Detail error message. Available only for certain types of errors. |
Error Codes
HTTP Status | Error Code | Error Message |
---|---|---|
400 | 4001 | Malformed data or missing required parameter values |
400 | 4005 | Operation could not be performed due to low credits balance |
401 | 4016 | Invalid client authorization |
403 | 4031 | Unauthorized access |
403 | 4035 | Requested service is not provisioned for your account |
403 | 4039 | Client's IP address is not whitelisted |
403 | 4035 | Requested service is not provisioned for your account |
429 | 4291 | Maximum account rate limit exceeded |
429 | 4292 | Maximum API rate limit exceeded |
429 | 4293 | Maximum account daily limit exceeded |
429 | 4294 | Maximum API daily limit exceeded |
500 | 5001 | Request could not be processed |
Sample Error Response
{
"code": 4001,
"message": "Malformed data or missing required parameter values"
}