PAN To CIN/LLPIN And Company Strike Off Status
SEARCH MCA REGISTERED COMPANY OR LLP BY PROVIDED PAN NUMBER AND GET COMPANY STATUS
Description
Effortlessly search any MCA-registered company or LLP using a valid PAN number and instantly determine whether the entity is active or has been struck off. Our system retrieves real-time strike-off status along with essential registration details, enabling accurate verification of business legitimacy and compliance.

API Details
Request
| Type | URL | Current / LTS Version | Min Version | Max Version |
|---|---|---|---|---|
| POST | https://api.attestr.com/api/{version}/public/lookup/pan-to-cin | v2 | v2 | - |
Request Header Parameters
| Type | Name | Value / Description | Optional | Min Version | Max Version |
|---|---|---|---|---|---|
| String | Content-Type | application/json | Required | v2 | |
| String | Authorization | Basic {authToken} | Required | v2 |
If you do not have the authentication token, please refer to Register App
Request Body Parameters
| Type | Name | Description | Optional (default) | Min Version | Max Version |
|---|---|---|---|---|---|
| String | pan | PAN to be searched in the company database | Required | v2 | - |
Sample Request
{ "pan": "AAJCP3063A"}Response
HTTP status code 200
| Key | Description | Type | Min Version | Max Version |
|---|---|---|---|---|
| valid | Indicates whether the provided PAN exists and search ran successfully | String | v2 | |
| message | Message indicating the reason if valid is returned as false | String | v2 | |
| records | List of matching company records found. In most cases, the array will contain only one matching record as MCA names are unique. See Company Record object below for definition | String | v2 |
Company Record Object
| Key | Description | Type | Min Version | Max Version |
|---|---|---|---|---|
| reg | CIN / LLPIN | String | v2 | |
| businessName | Name of the entity as registered in MCA database | String | v2 | |
| previousBusinessName | If known as a different name previously then old name else null | String | v2 | |
| type | Type of company - Private limited, public limited etc | String | v2 | |
| status | Company status - Active, Strike Off etc. | String | v2 | |
| active | Boolean flag indicates if the company is currently active | Boolean | v2 | |
| incorporatedDate | Date of incorporation in DD-MM-YYYY format | String | v2 | |
| addresses | List of associated addresses. See Address Object definition below. | String | v2 |
Address Object
| Key | Description | Type | Min Version | Max Version |
|---|---|---|---|---|
| type | Type of address such as Present Address, Book Address, Registered Address etc. | String | v2 | |
| city | City name as registered | String | v2 | |
| state | State name as registered | String | v2 | |
| fullAddress | Complete address as in MCA records | String | v2 |
Sample Response
Sample response for matching results found
{ "valid": true, "message": null, "records": [ { "reg": "U74999TG2017PTC118280", "businessName": "PEGADROID IQ SOLUTIONS PRIVATE LIMITED", "previousBusinessName": null, "active": true, "incorporatedDate": "13-07-2017", "addresses": [ { "type": "Present Address", "city": "Hyderabad", "state": "Telangana", "fullAddress": "8-2-293/K/57/101 Flat 101 Plot 57 Saketh Residency Kamlapuri Colony Phase 3, NA, Hyderabad, Hyderabad, Telangana, India, 500073" }, { "type": "Registered Address", "city": "Hyderabad", "state": "Telangana", "fullAddress": "8-2-293/K/57/101 Flat 101 Plot 57 Saketh Residency Kamlapuri Colony Phase 3, NA, Hyderabad, Hyderabad, Telangana, India, 500073" } ], "status": "Active", "type": "Private Limited Company" } ]}Sample response when no matching records are found
{ "valid": true, "message": null, "records": []}Sample response if the provided PAN is invalid or does not exist
{ "valid": false, "message": "Provided PAN number does not exist", "records": []}Sample response if the provided PAN is fake, deleted or deactivated
{ "valid": false, "message": "Fake, deleted or deactivated", "records": []}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"}