Pepvote Support Center

Exports

Download event data as CSV or JSON, or request a result PDF.

Exports require a read key and the same event permissions as the dashboard. Follow redirects when you download a PDF.

Endpoints

MethodPathScopeDescription
GET/voting-events/:idOrCode/exports/voters.csvreadExport voters.
GET/voting-events/:idOrCode/exports/votes.csvreadExport votes.
GET/voting-events/:idOrCode/exports/candidates.csvreadExport candidates.
GET/voting-events/:idOrCode/exports/positions.csvreadExport positions.
GET/voting-events/:idOrCode/exports/groups.csvreadExport groups.
GET/voting-events/:idOrCode/exports/sponsors.csvreadExport sponsors.
GET/voting-events/:idOrCode/exports/results.pdfreadDownload a result PDF.

Data exports

By default, the endpoint returns text/csv with a Content-Disposition: attachment header. Add ?format=json to get JSON rows instead. Voter rows also include groupName, candidate rows include groupName and positionTitles, and position rows include numOfCandidates.

curl -L "https://api.pepvote.com/voting-events/BOARD26/exports/voters.csv?format=json" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0"
{
  "data": [
    {
      "id": "j57voter01",
      "voterId": "M-1042",
      "name": "Amina Bello",
      "email": "amina@example.com",
      "groupName": "North region"
    }
  ],
  "nextCursor": null
}

When a voter or vote dataset is above the inline limit, the endpoint returns 202 instead. Pepvote emails a zip file to the API key owner's account address.

{
  "data": {
    "status": "emailed",
    "emailedTo": "owner@example.com",
    "message": "This voters export is larger than the inline limit. A zip file is being emailed to the account address."
  }
}

Result PDF

The PDF endpoint returns 302 to a signed URL on pepvote.com. The link is valid for 5 minutes. Add optional from and to query parameters as Unix milliseconds to filter the period.

curl -L "https://api.pepvote.com/voting-events/BOARD26/exports/results.pdf?from=1777003200000&to=1777089600000" \
  -H "Authorization: Bearer $PEPVOTE_API_KEY" -H "User-Agent: my-app/1.0" \
  -o results.pdf
HTTP/1.1 302 Found
Location: https://pepvote.com/api/voting-event/BOARD26/result.pdf?token=...
X-Download-Expires-At: 1777089900000
Was this helpful?

Last updated September 6, 2026

On this page