Vote Smart Application Programming Interface

General Information

The Vote Smart Application Programming Interface (API) will allow you to integrate our data into your applications. An application could be a Web site, standalone program, or pretty much anything in the computer world. The API will respond to simple requests for data, such as 'get bio information for candidate Y' and 'get Votes for candidate X.'


Technical Details

The Vote Smart API is developed on the REST principle. Our backend is simply a Web server interface that takes GET requests and returns the data in the format of your choice. The API provides data in either XML or JSON.

The data is output in a strict and expected format as outlined in our documentation. We have provided Java and PHP libraries, and third parties have developed other things that interact with our API. You may also interact with our backend directly.


Basic local information on cities and counties.

Political Courage Test

Basic local information on cities and counties.


Basic local information on cities and counties.


Basic local information on cities and counties.


Basic local information on cities and counties.


Returns basic info on states.


Votes provides information on state and federal key legislation and the candidate's respective votes.


This class will fetch address and contact information for various offices for incumbents and candidates.


CandidateBio provides all the various biographical data we collect on candidates and officials.


This class fetches a list of candidates according to the criteria of the method.


Provides information on committees and their members.


Returns lists of districts according to the criteria supplied.


This class provides basic election information and candidates in the election.


Information on officials that hold certain leadership positions.

3rd Party Libraries

Please note that the following software comes in varied licenses and is not under Vote Smart's control.

Libraries for interacting with our API:

Java - votesmart-client

This program is a RESTful Client API for the Website.

Provided by Karl Nicholas

Python - python-votesmart

Python client library for interacting with the Vote Smart API.

Ruby- ruby-votesmart

A wrapper for the Vote Smart API.


We also provide a widget that utilizes our API. No registration is required and they can be used anywhere HTML can be inserted.


Modules or addons for other pieces of software.

Drupal Module

This module provides integration with the Vote Smart API.

Provided by: Allie Micka

If you know of any other third party tools using our API, please let us know by mailing