Voteref US Voter Records Scraper avatar

Voteref US Voter Records Scraper

Pricing

from $0.60 / 1,000 results

Go to Apify Store
Voteref US Voter Records Scraper

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

Dmitriy Gyrbu

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

7 days ago

Last modified

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 Voteref personId
  • residents — voter records associated with the same source address
  • history — recorded election participation for one personId
  • search — paginated state search with optional name, city, county, party, age, precinct, senate-district, and congressional-district filters

All four operations are validated against the live source. Voteref is protected and normally requires stable US-located proxy access; see Reliability below.

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
}

Name and city search:

{
"operation": "search",
"state": "fl",
"name": "Jane Smith",
"city": "Gainesville",
"length": 10
}

Search filters

Search accepts comma-separated source filter values:

InputPurpose
name / fullNameFull-name query (fullName is an integration alias)
cityCity filter
countiesCounty names
partiesParty affiliations
senateDistrictsState senate districts
precinctCodesPrecinct codes
ageRangesSource-supported age ranges
congressionalDistrictsCongressional districts
startZero-based result offset
lengthPage 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:

  • success and status
  • 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 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 CRM

Start 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. The Actor establishes clearance in a real browser, then reuses the same browser fingerprint, complete cookie set, and sticky US proxy session for the API requests. The browser is used only to establish or refresh the session; normal operations use the lighter request path. The effective proxy mode is recorded in OUTPUT.proxy without exposing proxy credentials.

The hosted Actor selects the RESIDENTIAL Apify Proxy group with country US by default. You can instead provide a custom sticky US proxy URL in the proxy editor. The Actor preserves one proxy identity throughout clearance and data retrieval. Specialized SERP proxies and rotating-per-request proxy URLs are not appropriate for these requests.

  • ProtectionBypassFailed: retry with suitable sticky US proxy access.
  • Empty results: broaden the filters and verify the exact source labels.
  • Invalid person ID: use a current Voteref personId from a successful search.
  • SUCCEEDED with OUTPUT.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.