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
| Method | Path | Scope | Description |
|---|---|---|---|
GET | /voting-events/:idOrCode/exports/voters.csv | read | Export voters. |
GET | /voting-events/:idOrCode/exports/votes.csv | read | Export votes. |
GET | /voting-events/:idOrCode/exports/candidates.csv | read | Export candidates. |
GET | /voting-events/:idOrCode/exports/positions.csv | read | Export positions. |
GET | /voting-events/:idOrCode/exports/groups.csv | read | Export groups. |
GET | /voting-events/:idOrCode/exports/sponsors.csv | read | Export sponsors. |
GET | /voting-events/:idOrCode/exports/results.pdf | read | Download 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.pdfHTTP/1.1 302 Found Location: https://pepvote.com/api/voting-event/BOARD26/result.pdf?token=... X-Download-Expires-At: 1777089900000
Last updated September 6, 2026