Shop & Establishment Verification
Business & KYBConfirm a state shop and establishment registration and the emver behind it.
Verify a shop and establishment licence number with the issuing state authority and get the registered emver name, owner, address and validity. The practical KYB check for small merchants, retailers and service outlets that hold no other registration.
Endpoint
Request parameters
| Field | Type | Description |
|---|---|---|
registration_number
required
|
string | Registration number |
state
required
|
string | State |
Example request
curl -X POST https://app.emver.io/api/sandbox/v1/shop-establishment-verification \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"registration_number": "string",
"state": "string"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v1/shop-establishment-verification",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"registration_number": "string",
"state": "string"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v1/shop-establishment-verification", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"registration_number": "string",
"state": "string"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v1/shop-establishment-verification', {
"registration_number": "string",
"state": "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": {
"business_name": STRING,
"owner_or_employer_name": STRING,
"registered_address": STRING,
"licence_status_and_validity": STRING,
"nature_of_business": STRING
}
}
Example · 200
{
"status": 200,
"message": "string",
"data": {
"business_name": "string",
"owner_or_employer_name": "string",
"registered_address": "string",
"licence_status_and_validity": "string",
"nature_of_business": "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
Millions of small businesses have no GST or corporate registration but do hold a shop and establishment licence from their state labour department. This API confirms that licence and its details, giving marketplaces, lenders and payment providers a verifiable record for the long tail of merchants.
Coverage spans the major state portals, with the response normalised so your integration does not care which state issued the licence.
Typical uses
- Merchant onboarding. Payment acceptance and marketplace listing.
- Small-business lending. Existence and tenure evidence for micro-loans.
- Hyperlocal delivery partners. Verify stores joining a delivery network.
- Distributor and retailer KYB. Validate downstream partners.
Questions
- Which states are covered?
- Major states with online registries are supported, and coverage expands as more states digitise. The console lists current coverage.
- What if a merchant has GST too?
- Run GSTIN Verification as well; both results appear side by side in the response.