Voteref US Voter Records Scraper
Pricing
from $0.60 / 1,000 results
Voteref US Voter Records Scraper
Extract comprehensive voter registration data, person details, household residents, and voting history from Voteref.com public records. Perfect for political research, voter analysis, campaign targeting, and public records workflows.
Pricing
from $0.60 / 1,000 results
Rating
0.0
(0)
Developer
Dmitriy Gyrbu
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Extract source-specific voter registration records, person details, same-address residents, and voting participation history from public Voteref records.
This Actor is intended for legitimate public-records research, journalism,
election analysis, data-quality work, and permitted automation. It preserves
Voteref's own personId and voterId identifiers instead of attempting to
match identities across unrelated sources.
What you can retrieve
person— one voter registration record by VoterefpersonIdresidents— voter records associated with the same source addresshistory— recorded election participation for onepersonIdsearch— paginated state search with optional county, party, age, precinct, senate-district, and congressional-district filters
The first three operations are validated with the example personId in the
default input. Search is more sensitive to Voteref access controls and normally
requires US-located proxy access.
Quick start
The default input is a small, working person lookup:
{"operation": "person","state": "fl","personId": "2b803109-8ae9-4da3-9f6f-f7dcfa0d3614","includeRaw": false}
Same-address residents:
{"operation": "residents","state": "fl","personId": "2b803109-8ae9-4da3-9f6f-f7dcfa0d3614"}
Voting participation history:
{"operation": "history","state": "fl","personId": "2b803109-8ae9-4da3-9f6f-f7dcfa0d3614"}
Small state search:
{"operation": "search","state": "fl","start": 0,"length": 10}
Search filters
Search accepts comma-separated source filter values:
| Input | Purpose |
|---|---|
counties | County names |
parties | Party affiliations |
senateDistricts | State senate districts |
precinctCodes | Precinct codes |
ageRanges | Source-supported age ranges |
congressionalDistricts | Congressional districts |
start | Zero-based result offset |
length | Page size from 1 to 200 |
Start with length: 10. Validate the unfiltered state search before adding
filters, because labels and district formats are source-specific.
Output
Results are written to the default Dataset. A person lookup produces one flat voter record:
{"personId": "2b803109-8ae9-4da3-9f6f-f7dcfa0d3614","voterId": "100474482","county": "Alachua","voterStatus": "Active","party": "Republican","state": "FL","numberOfTimesVoted": 6}
residents and history may return a Dataset item whose result field contains
the source collection. The Dataset schema deliberately supports both shapes.
The default Key-Value Store contains OUTPUT, with:
successandstatus- requested
operation - result totals and published item count
- structured errors
- proxy diagnostics
- run and monetization metadata
Treat a platform run status of SUCCEEDED as transport completion. For
production automation, also require OUTPUT.success === true and an empty
OUTPUT.errors array.
Ready-to-run Saved Tasks
The Store package includes bounded examples for:
- voter person record
- same-address residents
- voting participation history
- small state search
- county, party, age, and district search variants
Lookup tasks use a validated Voteref personId. Search tasks are templates and
can still require suitable US proxy access; check OUTPUT before consuming
their Dataset.
Use with n8n or Make
A practical workflow is:
Apify Actor -> wait for run -> check OUTPUT.success -> Dataset -> Google Sheets, Telegram, or CRMStart a run through the Apify API:
curl -X POST \"https://api.apify.com/v2/acts/204O2vGygTXHATFRr/runs?token=YOUR_APIFY_TOKEN&waitForFinish=120" \-H "Content-Type: application/json" \-d '{"operation":"person","state":"fl","personId":"2b803109-8ae9-4da3-9f6f-f7dcfa0d3614"}'
Use the returned defaultKeyValueStoreId to read OUTPUT, then use
defaultDatasetId to fetch the Dataset:
curl "https://api.apify.com/v2/key-value-stores/STORE_ID/records/OUTPUT?token=YOUR_APIFY_TOKEN"curl "https://api.apify.com/v2/datasets/DATASET_ID/items?clean=true&format=json&token=YOUR_APIFY_TOKEN"
In n8n or Make, keep the Apify token in the platform's credential store. Do not put it directly in a public workflow template.
Reliability and troubleshooting
Voteref is geo-sensitive and may return Cloudflare protection responses,
especially for broad searches. The Actor is designed to use US proxy routing
when available and records the effective proxy mode in OUTPUT.proxy.
The default proxy configuration uses Apify's automatic selection, which is the
lowest-cost built-in route to try first. If it is blocked and your Apify plan
allows residential traffic, select the RESIDENTIAL group and country US in
the Actor input. Specialized SERP proxies are not appropriate for Voteref API
requests.
ProtectionBypassFailed: retry with suitable US proxy access.- Empty results: broaden the filters and verify the exact source labels.
- Invalid person ID: use a current Voteref
personIdfrom a successful search. SUCCEEDEDwithOUTPUT.success: false: treat the operation as failed.
Avoid large retries. A small probe is cheaper and gives a clearer access signal. Blocked requests use a bounded retry budget so an unavailable proxy route fails quickly instead of consuming several minutes of compute.
Responsible use
Voter records can contain personal information even when they are publicly available. Use the Actor only where permitted, minimize the data you collect, secure stored results, respect retention requirements, and do not use the data for harassment, discrimination, intimidation, or unlawful profiling.
This is an unofficial Actor and is not affiliated with or endorsed by Voteref.