Search and explore the Saint Vincent & the Grenadines electoral voters list. 103,459 registered voters across 15 constituencies.
Interactive Search
Fill in one or more fields — all filters are optional and combinable.
http://localhost:5001/api/voters
Reference
surname, given_name, gender,
address, occupation, constituency, polling_division.
Results are paginated with page and per_page.
054670).
page and per_page.
CKA, NGF). Paginated.
Query Parameters
All parameters for GET /api/voters
surnamepompeygiven_namekelvingenderMALE or FEMALEaddresskingstownoccupationteacherconstituencyEK, SGpolling_divisionCKA, NGFpage1per_page50, max: 200Examples
Use surname and given_name together for the most precise match:
# curl curl "http://localhost:5001/api/voters?surname=pompey&given_name=kelvin" # Python import requests resp = requests.get("http://localhost:5001/api/voters", params={ "surname": "pompey", "given_name": "kelvin", }) data = resp.json() print(data["total"], "result(s)") for voter in data["data"]: print(voter["given_name"], voter["surname"], voter["voter_no"])
Retrieve the first page of voters registered in East Kingstown:
curl "http://localhost:5001/api/constituencies/EK/voters?page=1&per_page=50"
Combine occupation and constituency filters:
curl "http://localhost:5001/api/voters?occupation=nurse&constituency=EG"
If you know the exact voter registration number:
curl "http://localhost:5001/api/voters/054670"
Every list endpoint returns this structure:
{
"total": 12, // total matching records
"page": 1,
"per_page": 50,
"pages": 1, // total number of pages
"data": [
{
"id": 42,
"surname": "POMPEY",
"given_name": "KELVIN",
"gender": "MALE",
"address": "KINGSTOWN",
"occupation": "DEVELOPER",
"voter_no": "054670",
"polling_division": "CKA",
"constituency": "CK"
}
]
}