Pepvote Support Center
Pepvote API

Results and votes

Read tallies and eligible individual vote records.

Endpoints

MethodPathScopeDescription
GET/voting-events/:code/resultsreadGet results for all positions.
GET/voting-events/:code/results/:positionIdreadGet results for one position.
GET/voting-events/:code/votesreadList individual vote records.

These endpoints do not accept request bodies.

Vote query parameters

NameTypeRequiredDescription
limitintegerNoPage size from 1 to 200. Default: 50.
cursorstringNoCursor from nextCursor.
confirmationCodestringNoFilter by confirmation code.
fromCountrystringNoFilter by country.

/votes requires a paid plan with canExportData and the view_votes_and_results role. Pepvote returns an authorization or plan error when either requirement is not met.

Example

curl "https://api.pepvote.com/voting-events/BOARD26/results/j57position01" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY"
{
  "data": {
    "id": "j57position01", "title": "Board chair", "desc": null, "groupId": null,
    "votingMethod": "plurality", "tallyRule": { "type": "plurality_total" },
    "totalCandidates": 2, "totalVotes": 184, "totalWeightedVotes": null,
    "rankedChoiceCount": null, "tallyComputedAt": 1777089700000,
    "tallyRecountPending": false, "tallyTrace": null, "referendum": null,
    "candidates": [{ "id": "j57candidate01", "name": "Amina Bello", "status": "approved", "groupId": null, "referendumRole": null, "avatarUrl": null, "votesWon": 112, "weightedVotesWon": null, "percentageWon": 60.87, "weightedPercentageWon": null }]
  }
}

The all-results response has votingEventId and positions.

Vote example

curl "https://api.pepvote.com/voting-events/BOARD26/votes?limit=50&confirmationCode=AB12CD" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY"
{ "data": [{ "id": "j57vote01", "votingEventId": "j57event01", "positionId": "j57position01", "positionTitle": "Board chair", "candidateId": "j57candidate01", "candidateName": "Amina Bello", "confirmationCode": "AB12CD", "confirmed": true, "confirmedAt": 1777086000000, "channel": "web", "confirmedVia": "email", "value": 1, "rank": null, "weight": null, "quadraticCreditCost": null, "votingCenterId": null, "fromCountry": "CA", "createdAt": 1777085900000 }], "nextCursor": null }
Was this helpful?

Last updated September 5, 2026

On this page