For developers & AI builders · Free access
Your next civic project starts here.
Real public records. Original sources. A free API key for your website, research tool or AI-powered app.
Three steps, no approval queue
Tell us what you’re building. Confirm. Create a key.
Your email is verified; project websites stay self-reported. We keep your contact details private and never join your API account to ballot research.
Machine-readable onboarding
Let your AI handle the form.
An authorized assistant can send this JSON. You confirm the email link yourself, then create a key in your account. The registration response never hands an unverified agent a secret.
OpenAPI signup & data schema ↗POST https://election.org/api/developers/register
Content-Type: application/json
{
"contact_name": "Alex at Civic Studio",
"email": "owner@example.com",
"project_name": "My civic dashboard",
"website": "https://your-site.com",
"use_case": "A public campaign-finance dashboard with original sources.",
"owner_authorized": true
}
Use "website": null if you haven’t launched. A successful 202 means “check email,” not that a key has been issued. Links expire in 30 minutes. If you see 429, respect Retry-After; if you see 503, try again later.
Then call a registered data endpoint
fetch("https://election.org/api/developers/data/committees?q=buckeye", {
headers: { Authorization: "Bearer " + process.env.ELECTION_API_KEY }
})
Keep the key in your backend’s environment, not a public app bundle, URL, repository or AI prompt. All keys are read-only. No payment method is required and no usage charge is enabled.
What’s included
Registered access currently includes these nine dataset readers, with the same filters, sources, coverage limits and citation fields as their public v1 counterparts:
/api/developers/data/candidates/api/developers/data/offices/api/developers/data/finance/api/developers/data/elections/api/developers/data/results/api/developers/data/governments/api/developers/data/committees/api/developers/data/political-ads/api/developers/data/countries
Cache data on your server, use narrow queries and keep the original source dates with your findings. Free access is capacity-limited, not an unlimited traffic guarantee. Key creation is limited to five per account per UTC day; key revocation propagates within 30 seconds. Keys expire after one year.
Full v1 endpoint documentation → · Developer privacy →
Existing anonymous v1 and MCP beta access remains available during migration. Those requests do not identify a registered client. Other v1 endpoints have not been silently enrolled in account-based access.