EPFO Employment & Payroll Verification API
Cut employee background verification delays from 3–4 business days down to 15–35 seconds with a strict 40-second timeout guarantee. Direct digital validation against official EPFO member contribution registries.
1. EPFO UAN Verification Architecture & Statutory Scope
In Indian enterprise background verification (BGV) and digital lending underwriting, authenticating genuine employment tenure and compensation regularity is mandatory. Under the Employees' Provident Funds and Miscellaneous Provisions Act, 1952, every commercial establishment with 20 or more employees must remit statutory Provident Fund contributions monthly under a 12-digit Universal Account Number (UAN).
ASP Associates' EPFO Employment Verification API queries central government member registries in real time (15–35 seconds), extracting complete historical service records without requiring manual document uploads, payslip PDFs, or slow human HR calls. For complete candidate risk screening, platforms combine UAN verification with our PAN Verification API and Bank Account Penny Drop API for salary account validation.
2. Dual Employment & Moonlighting Detection Matrix
With the growth of remote work, unauthorized dual employment ("moonlighting") creates substantial intellectual property and regulatory liability for IT, financial services, and consulting firms. ASP Associates parses member history chronologically to identify overlapping service date ranges:
| Employment Pattern | ECR Timeline State | Risk Flag | Recommended HR Action |
|---|---|---|---|
| Standard Clean Transition | Company A Exit Date: 2024-03-31Company B Joining Date: 2024-04-01 |
CLEAN (Zero Overlap) | Instant BGV Clearance |
| Active Concurrent Moonlighting | Company A: Joined 2022-01-15 (No Exit Date)Company B: Joined 2023-06-01 (No Exit Date) |
DUAL_EMPLOYMENT_FLAG | Immediate Escalation / Audit Notice |
| Notice Period Buyout Overlap | Company A Exit: 2024-02-28Company B Joined: 2024-02-01 (28 days overlap) |
TRANSITION_OVERLAP | Verify Relieving Letter & Buyout NOC |
| Extended Employment Gap | Company A Exit: 2023-05-15Company B Joined: 2024-01-10 (8 months no PF) |
SERVICE_BREAK_DETECTED | Request Gap Affidavit or Career Break Proof |
For a deep technical dive on PF contribution calendar months and notice period exceptions, consult our detailed EPFO Dual Employment & Moonlighting Verification Guide.
3. EPFO Member ID Anatomy & Establishment Decoding
Every establishment remittance logs a 22-character alphanumeric Member ID under the candidate's UAN. ASP Associates decodes this identifier into statutory establishment metadata:
| Segment | Char Length | Sample Value | Statutory Meaning |
|---|---|---|---|
| State / Region Code | 2 Alpha | MH | EPFO State Jurisdiction (e.g. Maharashtra) |
| Regional Office (RO) | 3 Alpha | BAN | EPFO Sub-Regional Office (e.g. Bandra, Mumbai) |
| Establishment Code | 7 Numeric | 0046135 | Unique 7-digit corporate establishment license |
| Establishment Extension | 3 Numeric | 000 | Branch / subsidiary extension code (usually 000) |
| Member Account Serial | 7 Numeric | 3050137 | Individual employee provident fund account number |
⚡ Interactive UAN & Member ID Quick-Checker
Verify 12-digit UAN syntax or decode 22-character EPFO Member ID parameters in your browser (Zero PII, Zero Network Call).
Outcome & Chargeability Reference
Predictable developer error responses with zero charges on downstream timeouts or validation rejections.
| HTTP Status | Outcome Code | Description | Billing Policy |
|---|---|---|---|
| 200 OK | SUCCESS | Profile and complete employment history retrieved successfully. | Chargeable |
| 404 Not Found | NOT_FOUND | Valid 12-digit UAN was queried against EPFO registry but no record exists. | Chargeable (Registry Queried) |
| 400 / 422 | INVALID_INPUT | Payload validation failed (e.g. UAN is not exactly 12 digits). | ₹0 (Free / No Charge) |
| 429 Too Many Req | RATE_LIMITED | Client burst rate limit exceeded; temporary throttle. | ₹0 (Free / No Charge) |
| 503 Unavailable | TIMEOUT | Upstream EPFO portal did not respond within strict 40s SLA threshold. | ₹0 (Free / No Charge) |
Multi-Language Integration Snippets
Standard JSON response schema returning complete establishment contribution dates and dual-employment indicators.
# Query EPFO UAN Service History & Dual-Employment Check curl -X POST https://api.aspassociates.in/v1/verify/uan-history \ -H "Authorization: Bearer sec_live_9a7f8b1c4e2d" \ -H "Content-Type: application/json" \ -d '{ "uan_number": "100439846216", "realtime_data": true, "consent": true }'
import requests payload = { "uan_number": "100439846216", "realtime_data": True, "consent": True } headers = { "Authorization": "Bearer sec_live_9a7f8b1c4e2d", "Content-Type": "application/json" } response = requests.post( "https://api.aspassociates.in/v1/verify/uan-history", json=payload, headers=headers, timeout=40.0 ) data = response.json() print(f"Outcome: {data['outcome']} | Establishments: {len(data.get('employment_history', []))}")
const res = await fetch('https://api.aspassociates.in/v1/verify/uan-history', { method: 'POST', headers: { 'Authorization': 'Bearer sec_live_9a7f8b1c4e2d', 'Content-Type': 'application/json' }, body: JSON.stringify({ uan_number: '100439846216', realtime_data: true, consent: true }), signal: AbortSignal.timeout(40000) }); const report = await res.json(); console.log('Candidate:', report.profile_details?.name, 'Dual Employment Flag:', report.dual_employment_detected);
// POST /v1/verify/uan-history — Request Payload POST https://api.aspassociates.in/v1/verify/uan-history Authorization: Bearer <YOUR_API_KEY> Content-Type: application/json { "uan_number": "100439846216", "realtime_data": true, "consent": true }
// 200 OK — Typical TAT: 22s { "outcome": "SUCCESS", "dual_employment_detected": false, "profile_details": { "name": "RAJESH KUMAR", "gender": "M", "uan_allotment_date": "15-JUN-2015", "registered_on_portal": "YES", "mobile_number": "******3210" }, "employment_history": [ { "member_id": "MHBAN00461350003050137", "establishment_name": "TECH SOLUTIONS PVT LTD", "joining_date": "2015-06-20", "exit_date": "2021-12-15", "service_status": "TERMINATED" }, { "member_id": "DLCPM00891230001094821", "establishment_name": "GLOBAL CLOUD INFRASTRUCTURES LTD", "joining_date": "2022-01-10", "exit_date": null, "service_status": "ACTIVE" } ] }
Connected Workforce & Payroll Verification Stacks
Digital hiring platforms and salary-advance lenders chain EPFO UAN queries into unified compliance pipelines:
Bank Account Penny Drop API →
Validate salary account authenticity and retrieve official legal names from bank CBS in <180ms via NPCI IMPS.
PAN Verification API →
Verify employee PAN identity, confirm Section 139AA Aadhaar linkage, and automate fuzzy legal name match scoring.
Dual Employment & Moonlighting Guide →
Deep architectural whitepaper detailing EPFO contribution date overlap algorithms and IT sector compliance.
Employment Verification Questions
How does this compare to manual background verification?
Legacy agencies manually email HR departments, taking 3 to 4 business days. ASP Associates queries official digital records in under 60 seconds, eliminating origination drop-offs for digital lenders and hiring teams.
How do you prevent moonlighting / dual employment fraud?
Our intelligent engine scans the start and exit dates across all registered establishment IDs under the candidate's UAN, immediately flagging active parallel payroll contributions.
Is candidate consent mandatory?
Yes. In strict alignment with the DPDP Act 2023, every API request requires a verified candidate consent parameter before accessing records.
Can we integrate this directly into our existing ATS / HRMS?
Yes. Our REST API integrates with any system in under 15 minutes. We provide standard Node.js, Python, and cURL snippets.