Democracy Works Election Authorities API

The Election Authorities API from Democracy Works — 2 operation(s) for election authorities.

Operations 2

GET /election-authorities/state-urls/{stateAbbreviation} State authority URLs #
GET /election-authorities/states All state authorities (contact information) #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/democracy-works-election-authorities-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

democracy-works-election-authorities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Democracy Works Election Authorities API
  version: 1.0.0
  description: '# Overview

    Democracy Works collects data about elections that happen in the US.'
servers:
- description: Democracy Works API
  url: https://api.democracy.works
tags:
- name: Election Authorities
paths:
  /election-authorities/state-urls/{stateAbbreviation}:
    get:
      summary: State authority URLs
      description: '```bash

        curl -H "Accept: application/json" \

        -H "Authorization: apikey $YOUR_API_KEY" \

        "https://api.democracy.works/election-authorities/state-urls/ny"

        ```


        URLs are not required, and their availability depends on the state. The

        Authority lookup URLs may be the same, depending on the state.'
      parameters:
      - in: path
        name: stateAbbreviation
        required: true
        schema:
          type: string
          example: ny
          description: 'The lowercase abbreviation of the state you want to retrieve information for.

            '
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StateAuthorityUrlResponse'
      tags:
      - Election Authorities
      operationId: getElectionAuthoritiesStateUrlsByStateAbbreviation
      x-operation-id-source: derived
  /election-authorities/states:
    get:
      summary: All state authorities (contact information)
      description: '```bash

        curl -H "Accept: application/json" \

        -H "Authorization: apikey $YOUR_API_KEY" \

        "https://api.democracy.works/election-authorities/states"

        ```


        The response will be an object with a list of Authorities. Each

        Authority will have a `district-division`, but we recommend that you

        disregard and get that information from the Election. As a reminder, the

        Election will have `voter-registration-methods` and the `voting-methods`

        copied from the State and Local Authorities for the methods offered in

        that particular Election, along with dates and deadlines. The only thing

        the `district-division` has that the Election does not is the

        `voter-registration-status-url`, which would be simpler to obtain from

        the “State URLs” resource.'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/StateAuthorityResponse'
      tags:
      - Election Authorities
      operationId: getElectionAuthoritiesStates
      x-operation-id-source: derived
components:
  schemas:
    StateAuthorityAddress:
      type: object
      properties:
        street:
          type: string
          description: 'Street address for state election office

            '
        city:
          type: string
          description: 'City for state election office

            '
        state:
          type: string
          description: 'State abbreviation

            '
        zip:
          type: string
          description: 'Zip code for state election office

            '
    StateAuthorityResponse:
      type: object
      required:
      - id
      properties:
        id:
          type: string
          description: 'Unique ID, for internal use only.

            '
        types:
          type: array
          items:
            type: string
            enum:
            - election
            - registration
            - none
          description: "Describes whether the state handles voter registration form and/or\nballot request application processing.\n\n* `election`: state election authority processes ballot request\n  applications\n* `registration`: state election authority processes voter registration\n  applications\n* `none`: voter registration and ballot request applications are not\n  done at the state level\n"
        physical-address:
          $ref: '#/components/schemas/StateAuthorityAddress'
          description: 'Lists each element of the state election office''s physical address.

            '
        email:
          type: string
          format: email
          description: 'Email address for the state election office.

            '
        phone:
          type: string
          description: 'Phone number for the state election office.

            '
        mailing-address:
          $ref: '#/components/schemas/StateAuthorityAddress'
          description: ''
        official-title:
          type: string
          description: "State election office name. \n"
        instructions:
          type: object
          description: ''
          properties:
            party:
              type: string
        local-election-authority-lookup-url:
          type: string
          format: uri
          description: ''
        polling-place-url:
          type: string
          format: uri
          description: 'Provides a link to the state''s polling place lookup page.

            '
        polling-place-url-shortened:
          type: string
          format: uri
          example: https://tvote.org/asdf123
          description: 'Shortened version of `polling-place-url`.

            '
        office-name:
          type: string
          description: 'Full state name

            '
        homepage-url:
          type: string
          format: uri
          description: "Link to the state election website. \n"
    StateAuthorityUrlResponse:
      type: object
      properties:
        voter-registration-status-url:
          type: string
          format: uri
          description: 'URL for voter to check their status

            '
        voter-registration-status-url-shortened:
          type: string
          format: uri
          description: 'Shortened URL for a voter to check their status

            '
        local-election-authority-lookup-url:
          type: string
          format: uri
          example: https://tvote.org/abcd123
          description: 'URL for voter to contact their local Election Authority

            '
        local-reg-authority-lookup-url:
          type: string
          format: uri
          description: 'URL for voter to contact their local Registration Authority

            '