Service endpoint¶
https://api.targetsmart.com/person/email-search
Overview¶
This service can be used to enrich a list of emails with TargetSmart data. The service provides high performance for single record lookups and batch requests. A common use-case is to match an address book for enrichment with TargetSmart data. The corresponding JSON response includes the TargetSmart data field values from our platform database. TargetSmart Client Services configures the returned field identifiers for your key. The request is executed synchronously with low latency.
Request Parameters¶
| Key | Required | Optional | Default | Permitted Values |
|---|---|---|---|---|
emails |
✓ | A comma separated list of up to 200 valid emails | ||
match_type |
✓ | H or I indicating if the email is matched at the individual person level or at the household level |
||
profile_id |
✓ | Profile identifier for accessing different configuration profiles |
Additional Parameter Details¶
This service returns fields based on configured person/data-enhance fields.
emails
A comma separated list (no spaces) of valid email addresses.
match_type
Must be a string of H or I
profile_id
profile_id is an optional profile identifier that enables access to different configuration profiles using the same API key. Users can log in to the website and find the profile ID and the associated configuration for each profile in the User API Keys section. If no profile_id is passed in the request, the default profile will be used to process the API request.
JSON Response¶
Responses are JSON objects with the following keys:
states_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.result: A list of JSON objects mapping field names to data values for each input email
An example response (Note: Your responses will have different data fields based on your configuration):
'result': [
{'vb.voterbase_id': 'CA-123456',
'vb.vf_source_state': 'CA',
'vb.tsmart_first_name': 'Jane',
'vb.tsmart_last_name': 'Doe'},
...
]
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/email-search",
params={"emails": "bob@example.com,joe@example.com"},
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({
emails: "bob@example.com,joe@example.com",
});
fetch(
"https://api.targetsmart.com/person/email-search?" + 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/email-search?emails=bob%40example.com%2Cjoe%40example.com")
echo $result