Company (MCA) Lookup
Business & KYBIncorporation status, company type, registered office and filing compliance from the corporate registry.
Verify a company or LLP by its CIN or registration number and receive incorporation status, entity type, date of incorporation, registered address and annual-filing compliance straight from the Ministry of Corporate Affairs registry.
Endpoint
Request parameters
| Field | Type | Description |
|---|---|---|
c_i_n_registration_number
required
|
string | CIN / registration number |
company_name
optional
|
string | Company name |
Example request
curl -X POST https://app.emver.io/api/sandbox/v1/mca-company-lookup \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"c_i_n_registration_number": "string",
"company_name": "string"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v1/mca-company-lookup",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"c_i_n_registration_number": "string",
"company_name": "string"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v1/mca-company-lookup", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"c_i_n_registration_number": "string",
"company_name": "string"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v1/mca-company-lookup', {
"c_i_n_registration_number": "string",
"company_name": "string"
});
$data = $response->json();
Replace YOUR_API_KEY and the placeholder values. Use the switch above to see production URLs.
Response
Structure · 200
{
"status": INTEGER,
"message": STRING,
"data": {
"incorporation_status": STRING,
"company_type": STRING,
"date_of_incorporation": STRING,
"registered_office_address": STRING,
"annual_filing_compliance": STRING
}
}
Example · 200
{
"status": 200,
"message": "string",
"data": {
"incorporation_status": "string",
"company_type": "string",
"date_of_incorporation": "string",
"registered_office_address": "string",
"annual_filing_compliance": "string"
}
}
Error · 4xx / 5xx
{
"status": INTEGER,
"message": STRING
}
See Errors & status codes for what each status means and which calls are billed.
About this API
Whether you are onboarding a vendor, a client, a channel partner or a borrower, the corporate registry is the authoritative record of whether the company exists, is active and is keeping up with statutory filings. The Company Lookup API brings that record into your workflow without anyone opening a government portal.
Provide an expected company name and the API checks it against the registered name, so a shell entity trading under a familiar-sounding name does not slip through.
Typical uses
- Vendor and partner due diligence. Verify incorporation before signing an MSA or issuing a PO.
- Business lending and trade finance. Confirm borrower entity status and filing history.
- Client onboarding for B2B SaaS and services. Know your customer's legal identity before invoicing.
- Employment verification. Confirm a candidate's previous employer is a real, active company.
Questions
- Which entity types are covered?
- Companies and LLPs registered with the Ministry of Corporate Affairs. For partnerships and proprietorships, use GSTIN and Udyam verification instead.
- Can I look up directors too?
- Yes. The Directorship Lookup API resolves DIN status and the companies a person is a director of.
- Do I need the CIN, or will a name do?
- The CIN or registration number is required for an exact match. The optional name is compared against the registered name for an additional check.