Service endpoint

https://api.targetsmart.com/person/record

Overview

This service can be used to search TargetSmart’s voting age population Voterbase database.

Request parameters

Key Required Optional Default Permitted Values
first_name One or more alpha characters.
last_name One or more alpha characters.
street_number One or more alphanumeric characters.
street_name One or more alphanumeric characters.
street_address Full street address if parts are not included
city One or more alpha characters.
state 2 character U.S. state code (e.g. NY)
zip_code 5 digit U.S. zip code
phone 10 digit U.S. phone number
email A valid email address

Optional Parameters

All requests must contain one or more optional parameters. For best match probability, the recommendation is to include a phone or email, or at least a last name along with some combination of at least 2 address fields.

Address

For address requests include either an unparsed street_address (without city, state, zip) or street_number and street_name.

JSON response

Search responses are JSON objects with the following key:

  • result: A JSON object with a set of preconfigured fields if a match was found, otherwise an empty object. The fields that are returned are configured on a per-client basis. Consult our support staff for available fields, data dictionary, etc.
  • confidence: The match confidence score.

Code Examples

🔐 Remember to secure your API key

Never expose your API key in plain text or source control accessible by a third party.

#! /usr/bin/env python3

import os
import requests

api_key = os.environ["TS_API_KEY"]

# `point` query
response = requests.get(
    "https://api.targetsmart.com/person/record",
    params={
        "first_name": "BOB",
        "last_name": "EXAMPLE",
        "state": "OH",
        "phone": "1112223333",
    },
    headers={"x-api-key": api_key},
)
response.raise_for_status()
print(response.json())
#! /usr/bin/env node

const fetch = require("node-fetch");

const targetSmartApiKey = process.env.TS_API_KEY;

const queryParams = new URLSearchParams({
  first_name: "BOB",
  last_name: "EXAMPLE",
  state: "OH",
  phone: "1112223333",
});

fetch("https://api.targetsmart.com/person/record?" + queryParams.toString(), {
  method: "GET",
  headers: {
    "x-api-key": targetSmartApiKey,
  },
})
  .then((res) => res.json())
  .then((json) => console.log(json));
#! /usr/bin/env bash

result=$(curl -XGET \
    -H "x-api-key: $TS_API_KEY" \
    "https://api.targetsmart.com/person/record?first_name=BOB&last_name=EXAMPLE&state=OH&phone=1112223333")
echo $result