UAN Lookup
Workforce & AssetsFind a person's Universal Account Number from their mobile or PAN.
Resolve the EPFO Universal Account Number linked to a mobile number or PAN, so emver-history checks can start even when the candidate does not know their UAN.
Endpoint
POST
https://app.emver.io/api/sandbox/v1/uan-lookup
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json
Request parameters
| Field | Type | Description |
|---|---|---|
mobile
optional
|
phone | Mobile number |
pan_number
optional
|
string | PAN |
Example request
cURL
curl -X POST https://app.emver.io/api/sandbox/v1/uan-lookup \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"mobile": "9999999999",
"pan_number": "string"
}'
import requests
response = requests.post(
"https://app.emver.io/api/sandbox/v1/uan-lookup",
headers={
"Authorization": "Bearer YOUR_API_KEY",
"Accept": "application/json",
},
json={
"mobile": "9999999999",
"pan_number": "string"
},
timeout=60,
)
response.raise_for_status()
data = response.json()
const response = await fetch("https://app.emver.io/api/sandbox/v1/uan-lookup", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
"Accept": "application/json",
},
body: JSON.stringify({
"mobile": "9999999999",
"pan_number": "string"
}),
});
const data = await response.json();
$response = Http::withToken('YOUR_API_KEY')
->acceptJson()
->post('https://app.emver.io/api/sandbox/v1/uan-lookup', {
"mobile": "9999999999",
"pan_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": {
"uans": ARRAY,
"name": STRING
}
}
Example · 200
{
"status": 200,
"message": "string",
"data": {
"uans": "string",
"name": "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
Send a mobile number or PAN. The API returns the linked UAN(s) and the name on record, ready to pass into emver History (EPFO).
Consent. The candidate must consent to the emver check; emver records the consent with the request.
Typical uses
- Pre-employment screening. First step of the emver package.
- Dual employment detection. More than one active UAN is a red flag.
Questions
- Which input works better?
- PAN resolves more reliably; mobile depends on the number being registered with EPFO.