Voter ID Verification API
Confirm a voter ID card is genuine and see the name, relative, age and address on record, in one call.
The documentation opens in the VerifyAll dashboard after sign-in, for accounts with approved API access. New to the API? Start with the developer guide.
Overview
What the Voter ID Verification API does
The Voter ID Verification API takes an EPIC number, the number printed on a voter ID card, and answers with the entry on record for it: the elector’s name (and the name in the local script where it is printed), the relative named on the card and the relation, gender, age, date of birth where available, the address with district, state and PIN code, and the assembly and parliamentary constituency with the part and serial number.
Send the name your customer gave and the API compares it with the name on record. name_match returns exact, partial or mismatch with a score from 0 to 100, which is useful because names on voter cards are often written with initials or in a different order from other documents.
A voter ID is one of the most widely held identity documents in India, and for many customers in smaller towns and rural areas it is the one they carry. Verifying the EPIC number rather than a photo of the card stops edited images and borrowed cards from passing as genuine.
How it works
- 1
Your server sends POST /universal/voter-verification with the EPIC number, the consent object and, if you have it, the name to compare.
- 2
The request is checked first: an EPIC number outside 6 to 20 letters, digits, slashes or hyphens, or a missing consent object, is refused with every problem listed before anything runs or is charged.
- 3
The EPIC number is checked against live records and the answer comes back in the same call, usually within about 5 seconds.
- 4
The result is stored in your VerifyAll account with a checkResultId; read it again, find it by your client_ref or download the PDF report.
Request and response
Voter ID verification API endpoints and fields
The main fields; the full reference with every field, error code and a cURL sample is in the dashboard docs.
| Endpoint | What it does |
|---|---|
| POST/universal/voter-verification | Verify a voter ID (EPIC) number and compare a name |
Request fields
| Field | What it is |
|---|---|
| epic_numberRequired | The voter ID (EPIC) number as printed, 6 to 20 characters (for example ABC1234567). |
| consentRequired | obtained: true and a purpose of up to 200 characters, for the person the card belongs to. |
| nameOptional | The name your customer gave; sets name_match. |
| client_refOptional | Your own reference, stored with the result (up to 100 characters). |
What the answer returns
| Field | What it is |
|---|---|
| name / name_local | The elector’s name, and the name in the local script where it is printed. |
| name_match | exact, partial, mismatch or not_checked, with a score from 0 to 100. |
| relation | The relative named on the card: type (father, husband, mother, wife, guardian or other) and name. |
| gender / age / dob | Gender and age as on record, and the date of birth where it is held. |
| address | House number, district, state and PIN code. |
| constituency | Assembly and parliamentary constituency, part number and name, polling station, serial and section number. |
| last_updated | When the entry was last updated, when known. |
Base URL https://api.verifyall.ai. Authenticate with the X-API-Key header (a va_sandbox_ or va_live_ key). Every answer carries data, status_code, success, message and message_code; checks add outcome, checkResultId, charged and charged_amount.
Key features
Voter ID Verification API features and capabilities
Relative and address in the answer
The relative’s name, the district, state and PIN code come back with the elector’s name, so you can cross-check them against what the customer typed.
Names in two scripts
name_local carries the name in the local script where it is printed, which helps when your team reviews a regional-language document.
Built-in name matching
exact, partial or mismatch with a 0–100 score handles initials and word order, so you set a threshold instead of writing a matcher.
Same envelope as every check
outcome, checkResultId, charged and data arrive in the same JSON shape as the other VerifyAll APIs, so one parser handles them all.
Use cases
Where businesses use the Voter ID Verification API
Rural and small-ticket lending
Verify the voter ID that microfinance and small-loan borrowers most often carry, and match the name to the application.
Field-worker and gig onboarding
Confirm the identity and home district of delivery riders, drivers and field agents who join with a voter ID.
Tenant and staff checks
Check the voter ID a tenant, domestic worker or security guard provides before they move in or start work.
Insurance and account opening
Accept a voter ID as the identity document in a KYC flow, with the name match recorded in the stored result.
Industries
Coverage
Voter ID (EPIC) numbers issued in India. The API takes the EPIC number only; it does not read a photo of the card.
Limitations to plan for
- Fields the entry does not hold, such as a date of birth on many older cards, come back as null, never guessed.
- An EPIC number with no entry answers record_not_found. The lookup ran, so it is charged like any completed check.
- The address returned is the one on the voter entry, which may be older than the customer’s current address.
- Checks about a person need the consent object, and you keep the consent record.
Integration
How to integrate the Voter ID Verification API
From a business account to your first live call.
Step 1
Create a business account on VerifyAll and get it approved, as for running checks in the dashboard.
Step 2
Request Developer API access under Developers in the dashboard: the APIs you need, your expected monthly volume and your use case. The VerifyAll team reviews it and shares the API Services Agreement.
Step 3
Once the agreement is signed and access is approved, create your Sandbox key and build against sample data. Sandbox calls are never charged.
Step 4
Create your Production key, recharge your wallet and switch the key in your code: the endpoint and fields stay the same.
Get started
Request access to the Voter ID Verification API
Tell us what you want to verify. We reply within one business day with access steps, Sandbox details and your API pricing.
View API documentation
The full reference for Voter ID Verification API (endpoints, fields, errors, cURL) opens in the dashboard once your access is approved.
Open the docs (sign-in)Create a business account
API keys are issued to an approved business account. Sign up, then request access under Developers.
Create account
Pricing
Production calls are charged per check from your prepaid VerifyAll wallet, at your account’s API price; GST is added separately when you recharge. Sandbox calls are never charged. Your API prices are shown in the dashboard once access is approved. How pricing works
Already have a business account? Sign in to request access
Voter ID Verification API: frequently asked questions
Answers for teams planning an integration.
Still have questions? Our team is happy to help.
Contact SupportRelated APIs
PAN Verification API
LiveInstant answerConfirm a PAN exists, see who holds it and match the name and date of birth your customer typed, in one call.
View API detailsDriving Licence Verification API
LiveInstant answerCheck that a driving licence is real, current and covers the vehicles your driver will drive, in one call.
View API detailsPassport Verification API
LiveInstant answerConfirm an Indian passport application by its file number and the holder’s date of birth, and match the name, in one call.
View API detailsCourt Records Verification API
LiveFinishes laterFind the civil and criminal court cases of a person or a business, with each case’s court, status and next hearing, in one asynchronous API.
View API details
All identity verification APIsRun Voter ID verification in the dashboard, without codeBrowse the API Marketplace
Start with the Voter ID Verification API
Request access, build against the Sandbox, then go live with your Production key.
