by Profiden

Voter ID

Identity & KYC

Verifies a Voter ID (EPIC) number against Election Commission records and returns voter, constituency and polling station details.

Endpoint

POST https://app.emver.io/api/sandbox/v1/voter-id
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
Accept: application/json

Request parameters

FieldTypeDescription
voter_id_epic_number required string EPIC Number Voter ID (EPIC) number as printed on the card

Example request

cURL
curl -X POST https://app.emver.io/api/sandbox/v1/voter-id \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d '{
    "voter_id_epic_number": "string"
}'

Replace YOUR_API_KEY and the placeholder values. Use the switch above to see production URLs.

Response

Structure · 200

{
  "status": INTEGER,
  "message": STRING
}

Example · 200

{
  "status": 200,
  "message": "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

Voter ID

Verifies a Voter ID (EPIC) number against Election Commission records and returns voter, constituency and polling station details.

Endpoint

POST /api/v1/voter-id
Content-Type: application/json

Request parameters

FieldRequiredDescription
voter_id_epic_numberYesEPIC Number - Voter ID (EPIC) number as printed on the card. Example: ABC1234567

Sample request

{
  "voter_id_epic_number": "ABC1234567"
}

Sample success response

{
  "status": 200,
  "message": "Verification successful",
  "data": {
    "epic_number": "...",
    "name": "...",
    "name_regional": "...",
    "first_name": "...",
    "last_name": "...",
    "gender": "...",
    "age": "...",
    "relative_name": "...",
    "relative_name_regional": "...",
    "relation_type": "...",
    "state": "...",
    "state_code": "...",
    "district": "...",
    "assembly_constituency": "...",
    "assembly_constituency_no": "...",
    "parliamentary_constituency": "...",
    "parliamentary_constituency_no": "...",
    "part_no": "...",
    "part_name": "...",
    "section_no": "...",
    "serial_no": "...",
    "polling_station": "...",
    "polling_station_no": "...",
    "polling_station_building": "...",
    "polling_station_lat_long": "...",
    "last_updated": "...",
    "is_active": "...",
    "multiple_records": "...",
    "multiple_record_list": "..."
  }
}

Sample error response

{
  "status": 404,
  "message": "No record found for the given input"
}

Response status codes

The status field in the response body indicates the verification outcome.

statusMeaning
200Verification successful
400Invalid input / verification failed
404No record found
422Invalid or missing input parameters
500Source unavailable - retry later