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.'

REGISTER

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.

Local

Basic local information on cities and counties.

Political Courage Test

Basic local information on cities and counties.

Office

Basic local information on cities and counties.

Officials

Basic local information on cities and counties.

Rating

Basic local information on cities and counties.

State

Returns basic info on states.

Votes

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

Address

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

CandidateBio

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

Candidates

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

Committee

Provides information on committees and their members.

District

Returns lists of districts according to the criteria supplied.

Election

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

Leadership

Information on officials that hold certain leadership positions.

Libraries

All libraries are released on the BSD License.

Java - VoteSmart.jar(20090421)

PHP - php-votesmart

PHP Library requires the SimpleXML PHP extension which is installed by default.

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 VoteSmart.org 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.

Widgets

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

Modules/Add-Ons

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 webmaster@votesmart.org.

arrow_upward