Overview
InfutorData is a consumer data and insights company that specializes in helping marketers and the platforms they work with continuously maintain a real-time view of their consumers’ profiles and behaviors as they change over time. We power personalized interactions to engage consumers with the right message, at the right time.
InfutorData brings together proprietary identity graph data to provide marketers with comprehensive and actionable identity data for every consumer and household in the US, alongside the earliest indicators of their in-market shopping behavior.
Our solutions ensure marketers have the most complete picture of a consumer’s identity, attributes, permissions, and in-market behaviors—helping to remove the guesswork around who, what, and when to reach out.
Customers who engage with us experience:
- Lead generation program ROI improvement
- Better customer acquisition & retention outcomes
- Intelligence to inform cross-sell opportunities
- Improved reputation and financial risk management
Inputs
The Infutor API accepts the following inputs:
| Input Field | Description | Required |
|---|---|---|
| FullName | Full individual Name | Optional* |
| FName | First name, 15 characters max | Required* |
| LName | Last name, 20 characters max | Required* |
| Address1 | Address line 1, 64 characters max | Required* |
| Address2 | Address line 2, 64 characters max | Optional |
| City | City name, 28 characters max. Either City/State or Zip is required | Required* |
| State | 2 character state abbreviation. Either City/State or Zip is required | Required* |
| Zip | 5 digit numeric USPS zip code. Either City/State or Zip is required | Required* |
| Phone1 | 10 digit numeric phone number (without spaces, dashes, or parentheses) | Required* |
| Phone2 | 10 digit numeric 2nd phone number (without spaces, dashes, or parentheses) | Optional |
| Email address, 100 characters max | Required* |
At a minimum, one of the following input combinations is required for processing:
- Phone1
- Phone2
- FName + LName
- FullName
- Address1 + Zip
- Address1 + City + State
Outputs
Please be aware that the API response will only include fields where data is available. If an attribute does not have a match or relevant value for a given request, it will be omitted from the response.
Also, the number of attributes returned may vary depending on the strength of the match:
- When the data match is strong (matchLevel 1–2), you can expect a more complete set of fields in the response.
- When the match is weak or partial (matchLevel 3–6), only a limited number of fields may be returned.
Because of this, the structure of the response may differ from one call to another. We recommend building your integration to handle flexible and dynamic responses where not all fields are guaranteed to be present.
Consumer Data
| Output Field | Description | Return Values |
|---|---|---|
| matchLevel | Indicates level of identity match to the Infutor Graph: 1 – individual level match, 2 – household level match, 3 – lower level match, 4 – name + multiple markers match, but name mismatched, 5 – match without demographics available, 6 – no match, but gender inferred from name | 1–6 |
| persistentId | Synthetic PID, Unique individual. Encrypted value. | 32 characters max |
| householdId | Synthetic Household ID, Unique address + Last Name. Encrypted value. | 100 characters max |
Identity Scoring
The ID Score is an overall score, with values in the range of 0–100 that can be used for making pass/fail decisions about whether or not a given identity was verified.
| Output Field | Description | Return Values |
|---|---|---|
| ValidAddress | Indicates if the postal address is a valid USPS address and mail sent to the address would be deliverable. 100: Fully confirmed – primary and secondary (apt) are valid and deliverable. 70: Secondary number (apt) is missing. 10: Primary number and secondary both fail. 0: Incomplete address. | Number 0–100 |
| ValidPhone | Indicates if the phone is a valid 10-digit telephone number based on the North American Numbering Plan (NANP). Valid phones receive a score of 100; invalid phones receive 0. | Number 0–100 |
| ValidPhone2 | Indicates if the 2nd phone is a valid 10-digit telephone number (NANP). Valid phones receive 100; invalid phones receive 0. | Number 0–100 |
| ValidEmail | Indicates if the email is a valid email address format (presence of “@” and valid extension). Valid emails receive 100; invalid emails receive 0. | Number 0–100 |
| ValidName | The individual’s first and last names appear to be valid and do not contain vulgar words or expressions. | Number 0–100 |
| NameToPhone | The name links to the phone. 100: Strongest linkage. 80: Strong – individual level match, high confidence. 70: Partial – fuzzy household match. 60: Poor – fuzzy alias/household names, low confidence phones. 50: Very Poor – fuzzy first names, possible disconnected phones. 0: No linkage. | Number 0–100 |
| NameToEmail | The name links to the email. 100: Strongest. 90: Strong – email & last name exact, first name close. 70: Close – email & first name exact, last name close. 40: Partial – email exact, both names fuzzy. 30: Partial – last name & email at household level. 0: No linkage. | Number 0–100 |
| NameToAddress | The name links to the postal address. 100: Strongest. 90: Very Strong – last name, street, ZIP exact; first name fuzzy. 80: Strong – first name, street, ZIP exact; last name fuzzy. 70: Good – both names are fuzzy, street & ZIP exact. 60: Solid (Name Optional). 50–10: Various partial/weak linkages. 0: No linkage. | Number 0–100 |
| Deceased | Determines whether an identity is living or deceased. 100 = living; 0 = deceased; Blank = Unknown. | 0, 100, or Blank |
| Phone Type | Phone type for Phone1. L–Landline, V–VoIP, W–Wireless, O–Other. | L, V, W, O |
| PhoneConfidenceScore | Score 0–100 reflecting confidence that a phone is active, based on activity, velocity indicators, and signal recency/frequency. | Number 0–100 |
| Phone2ConfidenceScore | Score 0–100 reflecting confidence that Phone2 is active and hasn’t been reassigned. | Number 0–100 |
| AddressConfidenceScore | Score 0–100 reflecting confidence, accuracy, and deliverability for the input postal address. | Number 0–100 |
| AddressToPhone | The postal address links to the phone. 100: Strongest. 80–90: High – exact address match. 60–70: Medium – fuzzy/partially verified address. 50: Weak – fuzzy address. 0: No linkage. | Number 0–100 |
| AddressToEmail | The postal address links to the email. 100: Strongest. 80: High – exact address & email, partially verified. 60: Medium – fuzzy address & email. 0: No linkage. | Number 0–100 |
| PhoneToEmail | The phone links to the email. 100: Strongest linkage. 0: No linkage. | Number 0–100 |
| Phone2ToEmail | The 2nd phone links to the email. 100: Strongest linkage. 0: No linkage. | Number 0–100 |
| NameToPhone2 | The name links to the second phone. Same scoring ranges as NameToPhone. | Number 0–100 |
| AddressToPhone2 | The postal address links to the 2nd phone. Same scoring ranges as AddressToPhone. | Number 0–100 |
| ValidCount | Count of validations linked to the Infutor Identity graph (ValidAddress, ValidPhone, ValidEmail, ValidName, ValidZip). Returned as a decimal (e.g., 100 score = 1 count). | Number 0–5 |
| LinkageCount | Count summary of linkages for inputs provided (NameToPhone, NameToEmail, NameToAddress, AddressToPhone, PhoneToEmail, etc.). Returned as a decimal (e.g., 80 score = 0.8). | Number 0–9 |
| RiskFlagCount | Count summary of risk components evaluated (deceased and IP geolocation). 2 = both are risk flags; 0 = no risk flags. | Number 0–2 |
| ValidationSummary | Summary of all validation components. PASS = validation count ≥ 3. INCONCLUSIVE = count ≥ 2. FAIL = count < 2. | Pass, Fail, or Inconclusive |
| LinkageSummary | Summary of linked identifiers. PASS = ≥ 3 linked. INCONCLUSIVE = 2 linked. FAIL = < 2 linked. | Pass, Fail, or Inconclusive |
| RiskFlagSummary | Summary of risk components. PASS = 2. INCONCLUSIVE = 1. FAIL = 0. | Pass, Fail, or Inconclusive |
| IDVerifyScore | Overall score 0–100 reflecting quality of ID verification, based on validity, linkage, and risk flag components. | Number 0–100 |
| ValidZip | Indicates if the zip is a valid zip5 format and has been verified against the USPS zip code database. 0 = invalid; 100 = valid. | Number 0–100 |
| ZipToPhone | The zip5 links to the first phone. 100 = relation found; 0 = no relation. | Number 0–100 |
Testing
To ensure that all test data remains separate from Production data and is excluded from reporting and analysis, include the test parameter in every test API request.
Test Parameter
&test=1
Example Request
https://api.leadid.com/SingleQuery?lac={ACCOUNTCODE}&lak={AUDITKEY}&lpc={PROVIDERCODE}&data={DATA}&test=1
Example JSON Representation
{
"endpoint": "https://api.leadid.com/SingleQuery",
"parameters": {
"lac": "{ACCOUNTCODE}",
"lak": "{AUDITKEY}",
"lpc": "{PROVIDERCODE}",
"data": "{DATA}",
"test": 1
}
}
Important: The test parameter must be included exactly as &test=1. If it is omitted or formatted incorrectly, the submitted data will be written to Production tables.
Validation Process
- Execute your API tests using
&test=1. - Send the complete API request URL(s) used during testing to: customersupport@infutor.com
- Wait for confirmation from the Support Team that testing has been validated.
- Do not launch changes into Production until you have received confirmation.
Notes
- Test traffic is isolated from Production reporting and analytics.
- Production data contamination can occur if the test parameter is not included exactly as specified.
- Providing the full request string helps the Support Team verify that test records were correctly processed.
Appendix A: JSON API Example
Example Request
https://api.leadid.com/SingleQuery?lac={ACCOUNTCODE}&data=FullName=randomFullName&FName=FName&LName=LName&Address1=Address1&Address2=Address2&City=City&State=State&Zip=Zip&Phone=Phone&Phone2=Phone2&Email=Email
Example Response
{
"audit": {
"ConsumerData": {
"persistentId": "8B7BE3E01CF0541463E4A93C44A26F45",
"householdId": "1EC643B8EBAF9E04F1859358F94821E106EA2537E832E0C65818BF281A7CA17951F6708EF462A299BECFD2AC8FA7383C",
"matchLevel": 1,
"IDScores": {
"raw_response": {
"Detail": {
"IDScores": {
"ValidAddress": 100,
"ValidPhone": 100,
"ValidEmail": 100,
"ValidName": 100,
"Deceased": 100,
"NameToPhone": 100,
"NameToEmail": 10,
"NameToAddress": 100,
"AddressToPhone": 100,
"AddressToEmail": 10,
"PhoneToEmail": 10,
"PhoneConfidenceScore": 85,
"AddressConfidenceScore": 70,
"ValidCount": 5,
"LinkageCount": 4,
"RiskFlagCount": 0,
"ValidationSummary": "PASS",
"LinkageSummary": "PASS",
"RiskFlagSummary": "PASS",
"IDVerifyScore": 95,
"ValidZip": 100,
"ZipToPhone": 100
}
}
}
}
}
}
}
Appendix B: API Response Codes
The following is a table of potential output response codes and messages. Returned in the top-level error object when the request cannot be processed.
| Code | Description |
|---|---|
| 100 | Internal Error. Retry – InfutorData side error. Initiate retry logic. |
| 101 | Critical Error. An error occurred that may not resolve if retried. Report to administrator. |
| 401 | Unauthorized. The Authorization header is missing or the token provided is invalid. |
| 403 | Permission Denied. Account is disabled or inactive. |
| 7000 | Testing Not Enabled. The account is not configured for test queries. |
| 2000 | Account Code Not Set. An account code has not been provided. |
| 2001 | Malformed Account Code. The account code provided is malformed or blank. |
| 2002 | Invalid Account Code. The account code provided is invalid. |
| 4001 | Malformed Audit Key. The audit key provided is malformed or blank. |
| 6000 | Invalid Audit Key. The audit key provided is invalid. |
Identity-Specific Error Codes
Returned in the audit.market.ConsumerData section when an IDCompletion / Attributes / ID Scoring level error occurs.
| Code | Description |
|---|---|
| 100 | Internal Error. Retry – InfutorData side error. Initiate retry logic. |
| 101 | Critical Error. An error occurred that may not resolve if retried. Report to administrator. |
| 1010 | Missing or Invalid Data. The data provided was missing or could not be processed. |
| 1040 | No Data Available. No results were found for the provided input. |
Support
Please reach out to Customer Support for questions or assistance.
Comments
0 comments
Please sign in to leave a comment.