A list of our available APIs:

Also see our admin tools.

Method Static Description
searchAll This api will search everything. Can be used for instant search.
Voter Basic Data
deviceIdGenerate Generate a device_id (store in cookie) that can be linked to a voter_id
deviceStoreFirebaseCloudMessagingToken Store the Firebase Cloud Messaging (FCW) token in the same record as the voter_device_id
donationWithStripe Process a stripe payment with a token (generated by stripe's checkout client library)
voterAddressRetrieve Retrieve an address for a voter that has previously been saved.
voterAddressSave Save or update address for an existing voter. Once the address is saved, the API server calls voterBallotItemsRetrieveFromGoogleCivic (If the address has actually changed.)
voterCount static Count the number of voters in the database.
voterCreate Create an empty voter entry attached to a voter_device_id
voterEmailAddressRetrieve Retrieve all of the voter's email addresses, including the status of each email.
voterEmailAddressSave Save or update email address for an existing voter.
voterEmailAddressSignIn Sign in based on an email_secret_key that gets emailed to voter.
voterEmailAddressVerify Verify an email address using an email_secret_key that gets emailed to voter.
voterPhotoSave - DEPRECATED, PLEASE USE voterUpdate Save photo (pulled from Facebook or Twitter) for an existing voter.
voterPlanListRetrieve Retrieve public voter plans, so we can show off examples from other voters.
voterPlanSave Save one voter's plan-to-vote (when, where, etc.), and return a list of all previously saved plans for that voter.
voterRetrieve Export key voter data to JSON format
voterUpdate Save profile-related fields for an existing voter.
voterNotificationSettingsUpdate Save notification settings changes for a voter. (Used for unsubscribe.)
voterSMSPhoneNumberRetrieve Retrieve all of the voter's sms phone numbers, including the status of each phone number.
voterSMSPhoneNumberSave Save or update sms phone number for an existing voter.
voterVerifySecretCode Voter submits this six-digit code to verify that they received an SMS message or email.
Twitter, Facebook, Google, Apple
voterFacebookSignInRetrieve Retrieve the Facebook Sign In status based on voter_device_id.
voterFacebookSignInSave Save the results of Facebook sign in authentication.
voterFacebookSaveToCurrentAccount Save Facebook information (name) to current voter account.
facebookFriendsAction Request information about a voter's facebook friends.
facebookDisconnect Disconnect Voter's facebook account from We Vote account.
appleSignInSave Save the Apple "user" code, returned by the Sign In With Apple api response for a given Apple ID -- the Apple ID is phone owner's email address and password used to sign into iCloud, the App Store, etc. WeVote never "sees" the Apple ID password, only the "user" code returned by the API and the user's email address (which unfortunately can be an Apple aliased email address).
twitterIdentityRetrieve Find the kind of owner and unique id of this twitter handle, whether it be a candidate, organization, or individual voter. We use this to take an incoming URI like https://wevote.guide/RepBarbaraLee and return the owner of 'RepBarbaraLee'.
twitterSignInStart Start the process of signing in with Twitter.
twitterSignInRequest (AccessToken) Step 2 in the process of signing in with Twitter.
twitterSignInRequest?voter_info_mode=1 Step 3 in the process of signing in with Twitter.
twitterSignInRetrieve Retrieve the Twitter user information following Twitter authentication.
twitterRetrieveIdsIFollow Retrieve the Twitter ids I follow.
voterTwitterSaveToCurrentAccount Save Twitter information to current voter account.
voterMergeTwoAccounts Combine two accounts into one. Leave existing voter_device_id in place, but link it to the remaining voter account.
voterSplitIntoTwoAccounts Split one account into two accounts. Used for un-linking a Twitter account from the current voter account.
voterSignOut Delete the voter sign in session. (Remove voter_device_id from database.)
voterContactListRetrieve Retrieve from We Vote database all contacts previously uploaded
voterContactListSave Send the voter's contacts for processing. (Voter has explicitly opted in.)
voterContactSave Make changes to specific voterContactEmail entries owned by this voter.
GeoLocation
voterLocationRetrieveFromIP Retrieve a printable string with the location of the voter, based on the browser's IP address. Ex/ "Oakland, CA 94602"
Ballot Contest Data
ballotItemHighlightsRetrieve static c3 Retrieve a complete list of candidates or measures in all elections this year (including prior). This information is not organized in a hierarchy, but is instead provided in a simple list to help us highlight candidates on web pages.
ballotItemOptionsRetrieve static c3 Retrieve a complete list of offices, candidates or measures in the specified election(s). This information is not organized in a hierarchy, but is instead provided in a simple list to help with auto-complete and browser-side quick search features.
allBallotItemsRetrieve c3 Retrieve a list of all ballot items in a current election. This API gives us all possible offices, candidates and measures for an election so that people can build a complete list of endorsements, from anywhere in the country. Since this data doesn't change minute-by-minute and contains a lot of data, try to always retrieve it from the CDN.
voterBallotItemsRetrieve c3 Retrieve a list of ballot items to display for the current voter from We Vote database. These entries would have been previously retrieved from Google Civic with voterBallotItemsRetrieveFromGoogleCivic.
voterBallotItemsRetrieveFromGoogleCivic c3 Tell We Vote server to reach out to the Google Civic API and retrieve a list of ballot items for the current voter (based on the address saved with voterAddressSave), and store them in We Vote database, so we can display them with voterBallotItemsRetrieve, and other API calls.
voterBallotListRetrieve c3 Retrieve a list of users ballots from different elections from We Vote database.
electionsRetrieve static c3 Return a list of all elections, and include ballot location options so a voter can jump to sample ballots.
electionsSyncOut static c3 Provide another We Vote Server a complete listing of all public elections information.
pollingLocationsSyncOut c3 Provide another We Vote Server a complete listing of all map points.
Campaigns for Supporting/Opposing Candidates
campaignListRetrieve Retrieve list of CampaignX entries. Includes campaigns started and supported by voter, as well as other campaigns of interest.
campaignSave or campaignStartSave Create or update CampaignX entry.
campaignRetrieve CDN Retrieve CampaignX entry.
campaignRetrieveAsOwner Retrieve CampaignX entry as an owner.
campaignSupporterSave Create or update CampaignXSupporter entry.
campaignSupporterRetrieve Retrieve CampaignXSupporter entry.
campaignNewsItemSave Create or update CampaignXNewsItem entry.
Democracy Challenges
challengeListRetrieve Retrieve list of Challenge entries. Includes challenges started and supported by voter, as well as other challenges of interest.
challengeSave or challengeStartSave Create or update Challenge entry.
challengeRetrieve CDN Retrieve Challenge entry.
challengeRetrieveAsOwner Retrieve Challenge entry as an owner.
challengeParticipantSave Create or update ChallengeParticipant entry.
challengeParticipantRetrieve Retrieve ChallengeParticipant entry (usually for one voter).
challengeParticipantListRetrieve Retrieve list of ChallengeParticipant entries.
challengeNewsItemSave Create or update ChallengeNewsItem entry.
challengeInviteeSave Create or update ChallengeInvitee entry.
challengeInviteeRetrieve Retrieve ChallengeInvitee entry (usually for one voter).
challengeInviteeListRetrieve Retrieve list of ChallengeInvitee entries.
Elected Officials, Offices Held by a Politician & Politicians
politicianRetrieve CDN Retrieve one politician.
representativesQuery static c3 Retrieve a list of representatives currently in office, for an entire year.
Offices (i.e. races), Candidates running & Measures
ballotItemRetrieve static c3 Retrieve details about one office, candidate or measure. This is a wrapper for officeRetrieve, candidateRetrieve and measureRetrieve.
ballotItemsSyncOut c3 Provide another We Vote Server a complete listing of all ballot items information.
ballotReturnedSyncOut c3 Provide another We Vote Server a complete listing of all ballot_returned items.
officeRetrieve static c3 Retrieve details about one office. Alternate to ballotItemRetrieve.
candidateRetrieve static c3 Retrieve details about one candidate. Alternate to ballotItemRetrieve.
candidatesQuery static c3 Retrieve a list of candidates for one election, or for an entire year.
candidatesRetrieve static c3 Retrieve a list of candidates (summary information) competing for an office.
candidateListForUpcomingElectionsRetrieve static c3 Retrieve a list of candidates for upcoming elections that we want to gather endorsements for.
measureRetrieve static c3 Retrieve details about one measure. Alternate to ballotItemRetrieve.
measureListForUpcomingElectionsRetrieve static c3 Retrieve a list of measures for upcoming elections that we want to gather endorsements for.
quickInfoRetrieve static c3 Information necessary to populate a bubble next to a ballot item.
politiciansSyncOut c3 Provide another We Vote Server a complete listing of all public politician information.
officesSyncOut c3 Provide another We Vote Server a complete listing of all public office information.
candidatesSyncOut c3 Provide another We Vote Server a complete listing of all public candidates information.
candidateToOfficeLinkSyncOut c3 Provide another We Vote Server a complete listing of all offices the candidate is running for in one election cycle.
measuresSyncOut c3 Provide another We Vote Server a complete listing of all public measures information.
Positions (Support, Oppose, Info Only), Bookmarks and Like's
positionListForBallotItem A list of all positions (support/oppose/info) for this Ballot Item (Office, Candidate or Measure) from organizations, friends, and public figures this voter follows.
positionListForBallotItemFromFriends A list of all public and friends-only positions (support/oppose/info) for this Ballot Item (Office, Candidate or Measure) from friends this voter is friends with.
positionListForOpinionMaker A list of all positions (support/oppose/info) for this Opinion Maker (Organization or Public Figure) relating to Candidates, Measures or Offices.
positionListForVoter A list of all positions (support/oppose/info) for this voter relating to Candidates, Measures or Offices.
positionSupportCountForBallotItem A single number showing the total supporters for this Ballot Item (Candidate or Measure) from organizations, friends, and public figures this voter follows.
positionOpposeCountForBallotItem A single number showing the total that oppose this Ballot Item (Candidate or Measure) from organizations, friends, and public figures this voter follows.
positionPublicSupportCountForBallotItem static/ public c3 A single number showing the total supporters for this Ballot Item (Candidate or Measure) from organizations and public figures. (NOT specific to one voter.)
positionPublicOpposeCountForBallotItem static/ public c3 A single number showing the total that oppose this Ballot Item (Candidate or Measure) from organizations and public figures. (NOT specific to one voter.)
positionRetrieve static/ public c3 Retrieve one position based on unique position identifier. (Public positions can be served by c3 network. Private positions served by other network.)
positionSave c3 Save a new position or update an existing position. Mostly for volunteer tools and voter guides. For the typical voter, we use voterPositionCommentSave, voterSupportingSave, voterOpposingSave, voterStopSupportingSave, and voterStopOpposingSave.
voterAllPositionsRetrieve Retrieve all support/oppose stances held by this voter in one list. For a list of positions with full data, use positionListForVoter.
voterAllBookmarksStatusRetrieve Retrieve all of the voter's bookmarks.
voterPositionRetrieve Retrieve the voter's position based on voter_device_id and ballot item id.
voterPositionCommentSave Save the voter's comment based on voter_device_id and ballot item id.
voterReactionLikeOnSave Mark that the voter wants to 'Like' this position.
voterReactionLikeOffSave Remove a Like that the voter set on a position.
reactionLikeStatusRetrieve Has this voter 'Liked' this position?
reactionLikeCount The total number of Likes that a position has received, either from the perspective of your network of friends, or the entire network.
voterSupportingSave Save or update one voter's support for one candidate or measure
voterStopSupportingSave Save or update one voter's lack of support for one candidate or measure
voterOpposingSave Save or update one voter's opposition for one candidate or measure
voterStopOpposingSave Save or update one voter's lack of opposition for one candidate or measure
voterBookmarkOnSave Save or create private 'bookmark on' state for the current voter for a measure, an office or candidate.
voterBookmarkOffSave Save or create private 'bookmark off' state for the current voter for a measure, an office or candidate.
voterBookmarkStatusRetrieve Has the voter bookmarked this measure, office or candidate?
positionsSyncOut c3 Provide another We Vote Server a complete listing of all public positions information.
Endorsers, People & Voter Guides
organizationCount static Count the number of organizations in the database.
organizationFollow Store that the voter wants to follow this organization.
organizationFollowIgnore Store that the voter wants to ignore this organization.
organizationStopFollowing Store that the voter wants to stop following this organization.
organizationStopIgnoring Store that the voter wants to stop ignoring this organization (stored as "Stop Following").
organizationsFoundOnUrl We use this API to figure out which organization might own a particular web page.
organizationSuggestionTasks Retrieve suggested organizations to follow generated from twitter ids i follow or organization of my friends follow.
organizationRetrieve static Retrieve one organization based on unique identifier.
organizationSave c3 Save a new organization or update an existing organization.
siteConfigurationRetrieve static Retrieve private label settings for an organization's site.
organizationIndex c4 Return the raw index.html for an organization's configured site.
organizationSearch c3 Search for organizations to find any organization that contains any of the search terms.
organizationsFollowedRetrieve Return a list of the organizations followed. See also voterGuidesFollowedRetrieve, which returns the most recent voter guide for each organization the voter follows.
voterGuidePossibilityHighlightsRetrieve Return a highlight dict which includes the candidates and measures to highlight on a web page.
voterGuidePossibilityRetrieve Has a volunteer marked this URL as a voter guide?
voterGuidePossibilityPositionsRetrieve Return one or all of the possible positions for one VoterGuidePossibility.
voterGuidePossibilitySave Update an existing VoterGuidePossibility entry.
voterGuidePossibilityPositionSave Update an existing VoterGuidePossibilityPosition entry.
voterGuideSave c4 Save new or existing voter guide.
voterGuidesRetrieve c4 Retrieve voter guides using a variety of search criteria.
voterGuidesSyncOut c3 Provide another We Vote Server a complete listing of all voter guides.
voterGuidesFollowedRetrieve Retrieve a list of the most recent voter guide from each organization the voter follows. See also organizationsFollowedRetrieve, which returns a list of organizations the voter follows.
voterGuideFollowersRetrieve Retrieve a list of followers of this voter guide.
voterFollowAllOrganizationsFollowedByOrganization Follow all organizations being followed by another organization.
voterGuidesFollowedByOrganizationRetrieve Retrieve a list of the most recent voter guide from each organization the organization follows. See also organizationsFollowedRetrieve, which returns a list of organizations the voter follows.
voterGuidesIgnoredRetrieve Retrieve a list of the most recent voter guide from each organization the voter ignores.
voterGuidesToFollowRetrieve Retrieve a list of voter guides that a voter might want to follow.
voterGuidesUpcomingRetrieve Retrieve all upcoming voter guides. (Implemented as cached/static json file.)
voterGuidesFromFriendsUpcomingRetrieve Retrieve upcoming voter guides from one voter's friends.
pledgeToVoteWithVoterGuide A voter pledges to vote as the Voter Guide recommends.
organizationsSyncOut c3 Provide another We Vote Server a complete listing of all public organization information.
issueDescriptionsRetrieve c3 Retrieve complete listing of the descriptions for all issues.
issueOrganizationsRetrieve c3 Retrieve complete listing of the organizations attached to all issues.
issueFollow Allow a voter to follow one issue.
issuesFollowedRetrieve Retrieve listing of the issues one voter is following.
issuesRetrieve c3 Retrieve complete listing of all issues. DEPRECATED - Broken into: issueDescriptionsRetrieve, issuesFollowedRetrieve, issuesUnderBallotItemsRetrieve
issuesUnderBallotItemsRetrieve c3 Retrieve listing of all ballot items for one election with the issues that connected to each Endorser.
issuesSyncOut c3 Provide another We Vote Server a complete listing of all issues.
retrieveIssuesToFollow Retrieve listing of all issues for the voter to follow.
organizationLinkToIssueSyncOut This is the summary of the way that public organizations are categorized by issues. For example, if I want to find all organizations that are related to climate change, this is the data that tells me this.
issuesLinkedToOrganization Retrieves list of issues that are linked to the Endorser
issuesToLinkToForOrganization Retrieves list of issues that the Endorser is not linked to already
organizationLinkToIssue Links or unlinks an Endorser to an Issue
Voter Friends
emailBallotData Send ballot to self or friends by email address.
friendInvitationByEmailSend Send invitations to friends by email address.
friendInvitationByEmailVerify Accept an invitation to be someone's friend based on a secret key.
friendInvitationByFacebookSend Send invitations to friends by facebook.
friendInvitationByFacebookVerify Accept an invitation from facebook to be someone's friend.
friendInvitationByWeVoteIdSend Invite a friend to be your friend from a 'suggested friends' list.
friendInvitationInformation Using a friend invitation secret key, retrieve information needed for the friend onboarding process.
friendInviteResponse Respond to a friend request.
friendList Request information about a voter's friends, including invitations to become a friend, a list of current friends, and friends you share in common with another voter.
friendListsAll Request six of the lists related to the voter's friends, in one API call.
messageToFriendSend Send a message to an existing We Vote friend.
Sharing Links to We Vote
sharedItemSave Create sharing codes for a We Vote url. Create a SharedItem entry.
sharedItemRetrieve Pass in a sharing code and get back the destination.
Activity
activityListRetrieve Recent activity in one voter's network to show on the news page.
activityNoticeListRetrieve Recent activity in one voter's network to show in notifications menu.
activityPostSave Save or edit an Activity Post.
activityCommentSave Save or edit an Activity Comment.
Analytics
voterAggregateAnalytics Analytics about voters (in aggregate -- no personally identifiable information) who have used We Vote. Publicly available query builder here: https://api.wevoteusa.org/a/query_builder/
voterListAnalytics A list of voter identifiers who have used We Vote. Only returns voter we_vote_id and lightweight summary information.
organizationAnalyticsByVoter A list of voter-specific analytics about either a) one of your member's, or b) all of your members based on the variables you send with the request. These analytics come from visits to organization's custom URL, and not the main WeVote.US site.
saveAnalyticsAction Save an entry in We Vote Analytics system, so we can publish daily, monthly, election and sitewide reports.
analyticsActionSyncOut Allow people with Analytics Admin authority to retrieve raw Analytics Action information for data analysis purposes. The definitions of the ACTION constants are here: ACTION constants on Github
organizationDailyMetricsSyncOut Allow people with Analytics Admin authority to retrieve information for data analysis purposes.
organizationElectionMetricsSyncOut Allow people with Analytics Admin authority to retrieve information for data analysis purposes.
sitewideDailyMetricsSyncOut Allow people with Analytics Admin authority to retrieve information for data analysis purposes.
sitewideElectionMetricsSyncOut Allow people with Analytics Admin authority to retrieve information for data analysis purposes.
sitewideVoterMetricsSyncOut Allow people with Analytics Admin authority to retrieve information for data analysis purposes.
Extension Utils
pdfToHtmlRetrieve Convert a pdf into a html page in S3, and return that URL.
For Developers
backupOneTableToS3 Backup a Master server postgres table, and save it to AWS s3
fastLoadStatusRetrieve Get the status of an ongoing fast load of certain tables to a developers Mac
retrieveSQLTablesRowCount Return the row count (the sum of the maximum id numbers) for the tables that will be returned by a "Fast Load Data From We Vote Master Servers" to a developers Mac.