Service endpoint¶
https://api.targetsmart.com/person/data-enhance
Overview¶
This service can be used to append data fields for a specified id.
Quickly retrieve voter and consumer data enrichment fields from TargetSmart’s platform database for a previously identified individual.
The common use-case is to further enhance TargetSmart records you have already acquired. A request would include a known record identifier and the response would return a JSON object representing additional TargetSmart data enrichment fields as configured by TargetSmart Client Services for your key. The request is executed synchronously with low latency.
Request parameters¶
Key | Required | Optional | Default | Permitted Values |
---|---|---|---|---|
search_id |
✓ | A valid ID string | ||
search_id_type |
✓ | ‘voterbase’ | See valid values below | |
state |
if search_id_type in [‘smartvan’, ‘votebuilder’, ‘voter’] |
A two character state code, e.g. NY |
Additional Parameter Details¶
search_id_type
Specify one of these values to select the type of record lookup key:
voterbase
VoterBase IDexacttrack
ExactTrack Person IDphone
A 10 digit phone numberemail
A valid email addresssmartvan
SmartVan IDvotebuilder
VoteBuilder IDvoter
Source Voter File IDhousehold
VoterBase Household ID
JSON Response¶
Search responses are JSON objects with the following keys:
output
: A list of JSON objects mapping field names to data values for each search result, e.g., “vb.voterbase_age”. The fields that are returned are configured on a per-client basis. Consult our support staff for available fields, data dictionary, etc.output_size
: Number of objects in theoutput
list. It is possible for searches using some ids to return multiple matches, e.g., ExactTrackmatch_found
: Boolean indicating if a id match was foundstates_updated
: Voter file update date information represented as a JSON object where keys are two character U.S. state codes and values are dates the state voter file was last updated. The date format is YYYYMMDD.
An example response (Note: Your responses will have different data fields based on your configuration):
{
"output_size": 1,
"output": [
{
"vb.tsmart_last_name": "HERNANDEZ",
"tb.num_children": "",
"vb.voterbase_age": "36",
"tb.children_flg": "",
"vb.tsmart_first_name": "MARIA"
}
],
"match_found": true
...
}
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"]
response = requests.get(
"https://api.targetsmart.com/person/data-enhance",
params={"search_id_type": "voterbase", "search_id": "DE-000000000011"},
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({
search_id_type: "voterbase",
search_id: "DE-000000000011",
});
fetch(
"https://api.targetsmart.com/person/data-enhance?" + 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/data-enhance?search_id_type=voterbase&search_id=DE-000000000011")
echo $result