Udyam / MSME Verification
Business & KYBConfirm MSME registration, emver type and major activity.
Verify a Udyam registration number and receive the emver name, classification (micro, small or medium), major activity and registration date. Required for MSME payment compliance, priority-sector lending and supplier diversity programmes.
Endpoint
Request parameters
| Field | Type | Description |
|---|---|---|
udyam_registration_number
required
|
string | Udyam registration number |
Example request
curl -X POST https://app.emver.io/api/sandbox/v1/udyam-verification \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"udyam_registration_number": "string"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v1/udyam-verification",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"udyam_registration_number": "string"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v1/udyam-verification", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"udyam_registration_number": "string"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v1/udyam-verification', {
"udyam_registration_number": "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": {
"enterprise_name": STRING,
"enterprise_type": STRING,
"major_activity": STRING,
"registration_date": STRING
}
}
Example · 200
{
"status": 200,
"message": "string",
"data": {
"enterprise_name": "string",
"enterprise_type": "string",
"major_activity": "string",
"registration_date": "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
MSME status changes obligations: payment timelines, interest on delays and reporting requirements all hinge on whether a supplier is a registered micro, small or medium emver. The Udyam Verification API confirms the registration and its classification so finance and procurement apply the right rules automatically.
It also confirms the emver exists as an operating emver, which is valuable for proprietorships and partnerships that are not in the corporate registry.
Typical uses
- Supplier onboarding. Tag verified MSMEs in vendor master data for correct payment terms.
- MSME lending. Validate registration and classification before disbursal.
- Marketplace seller programmes. Confirm eligibility for MSME seller benefits.
- Government tenders and diversity reporting. Evidence of MSME status for procurement quotas.
Questions
- Are older Udyog Aadhaar numbers supported?
- Udyam is the current registration. Enterprises that migrated from Udyog Aadhaar can be verified with their Udyam number.
- Does it return turnover or investment figures?
- It returns the classification derived from those thresholds, not the underlying financial figures.