The Footprints API gives you a detailed view of a subject's digital presence by analyzing their email address, mobile number, or both. Using these identifiers, Smile queries a wide range of third-party platforms — including social media, e-commerce, messaging apps, professional networks, and financial services — to reveal the breadth of the subject's online activity and produce a consolidated digital footprint.
This helps you assess digital identity maturity, detect thin-file or synthetic identities, and surface risk signals that are not captured by traditional credit data. An analysis.fraudScore is also available when both email and mobile number are submitted together.
Footprint checks are synchronous: results are returned immediately in the API response.
Smile Footprints is currently in Alpha.
Available Templates
The template you select determines which input identifiers are required and which data signals are returned.
| Template ID | Input Required | Description |
|---|---|---|
tpl-email-footprint | Email address | Returns all email.* signals from the Footprint data dictionary |
tpl-mobile-footprint | Mobile number | Returns all mobile.* signals from the Footprint data dictionary |
tpl-score-footprint | Email address and mobile number | Returns all email.* and mobile.* signals, plus analysis.fraudScore |
Legacy Templates
tpl-ftp005001(email) andtpl-ftp005002(mobile) are deprecated predecessors oftpl-email-footprintandtpl-mobile-footprintrespectively. They remain functional for backwards compatibility but new integrations should use the current template IDs.
How a Footprint Request Works
-
Submit a Footprint request using
POST /alpha/footprints. ProvidetemplateId,consent, and the identifier(s) required by your chosen template. -
Receive the result synchronously. The API returns the full Footprint object in the response body. The
itemsarray contains each signal returned for your account configuration. -
Evaluate the signals. Each item in the
itemsarray has aname(the signal identifier), avalue, and avalueType(STRING,NUMBER, orBOOLEAN). See the Footprint Data Dictionary for the full list of available signals and their descriptions.
AboutfootprintItemsTimeout
footprintItemsTimeoutis an optional integer between 1 and 30 (seconds). It sets a maximum wait time for all data sources to respond. If the timeout is reached before all sources have returned data, Smile responds immediately with whichever items have completed — the remaining items will have anullvalue. This is useful when latency is more important than completeness.If omitted, Smile waits for all data sources to respond before returning.
The Footprint Objects
Request Object
The required fields depend on the template you select. consent and templateId are always required.
| Attribute | Type | Required | Description |
|---|---|---|---|
| templateId | string | Yes | The footprint template to use. Determines which other fields are required. See Available Templates above. |
| consent | object | Yes | Evidence of the subject's consent. See Consent Templates for details. |
| emailAddress | string | Required for tpl-email-footprint and tpl-score-footprint | A valid email address for the subject. |
| mobileNumber | string | Required for tpl-mobile-footprint and tpl-score-footprint | The subject's mobile number including country code, no leading zeros. Example: 639178912345 |
| countryCode | string | Required for tpl-score-footprint; recommended for others | ISO 3166 alpha-2 country code for the subject's market. Example: PH |
| footprintItemsTimeout | integer | No | Response timeout in seconds (1–30). See note above. |
Footprint Object
This is the object returned in the response.
| Attribute | Type | Description |
|---|---|---|
| id | string | Unique ID of this Footprint record. IDs use the prefix footprint-. |
| createdAt | date-time | Date and time when this Footprint record was created |
| status | string | Current processing status of the request. See Footprint Statuses below. |
| resultCode | string | Final result code of the check. See Result Codes below. |
| resultMessage | string | Human-readable description of the result |
| requestMeta | object | Echo of the original request parameters sent with the check |
| items | array | The footprint signals returned for this request. See Item Object below. |
Item Object
Each entry in the items array represents a single data signal from the Footprint check.
| Attribute | Type | Description |
|---|---|---|
| name | string | The signal identifier, using dot notation to indicate category and signal name. Example: email.registered |
| value | string | The signal value, always returned as a string regardless of the underlying type |
| valueType | string | The data type of the value. One of: STRING, NUMBER, BOOLEAN |
Footprint Statuses
| Status | Description |
|---|---|
PROCESSING | The footprint check is currently in progress |
COMPLETED | The check has completed and results are available |
ERROR | The check encountered an error and could not be completed |
Result Codes
| Result Code | Description | Billable |
|---|---|---|
SUCCESS | The check completed and signal data was returned in the items array. | Yes |
NO_DATA | Smile was unable to return signal data for the provided input. | No |
SYSTEM_ERROR | An internal error occurred. Contact Smile support if this persists. | No |
SERVICE_UNAVAILABLE | A required data source is temporarily unavailable. | No |
Billing NoteFootprint checks are billed only on
SUCCESS.NO_DATAresults are not charged. Only thePOST /alpha/footprintsendpoint is counted for billing — List and Get requests are not charged.
About the Items Array
The signals returned in the items array depend on the template used and your account configuration. Signals are grouped into three categories:
mobile.*— signals derived from the subject's mobile number, including carrier details, tenure, portability history, and registrations across messaging, social media, e-commerce, and professional platforms.email.*— signals derived from the subject's email address, including domain validity, deliverability, breach history, tenure, and registrations across a wide range of platform categories.analysis.*— computed signals combining both inputs. Currently includesanalysis.fraudScore, available only withtpl-score-footprint.
For the complete list of all available signal names, their value types, and descriptions, see the Footprint Data Dictionary.
Sample Footprint data
{
"id": "footprint-e35d521ef8f147c4aa01b7c1af85aaf7",
"createdAt": "2021-04-14T09:30:24Z",
"status": "COMPLETED",
"resultCode": "SUCCESS",
"resultMessage": "Success",
"requestMeta": {
"templateId": "tpl-score-footprint",
"emailAddress": "[email protected]",
"mobileNumber": "639559991234",
"countryCode": "PH",
"footprintItemsTimeout": 5,
"consent": {
"type": "Terms And Conditions",
"version": "1.0.0",
"consentedWith": "I agree to the terms and conditions.",
"consentedAt": "2021-04-14T09:30:24Z",
"consentTemplateId": null
}
},
"items": [
{
"name": "email.registered",
"value": "true",
"valueType": "BOOLEAN"
},
{
"name": "email.deliverable",
"value": "true",
"valueType": "BOOLEAN"
},
{
"name": "email.tenure",
"value": "36",
"valueType": "NUMBER"
},
{
"name": "mobile.valid",
"value": "true",
"valueType": "BOOLEAN"
},
{
"name": "mobile.carrier",
"value": "Globe Telecom",
"valueType": "STRING"
},
{
"name": "mobile.tenure",
"value": "48",
"valueType": "NUMBER"
},
{
"name": "analysis.fraudScore",
"value": "12",
"valueType": "NUMBER"
}
]
}Sandbox Testing
Use the following values to trigger a successful response in the Sandbox environment. Any other valid input combination will return resultCode: NO_DATA with an empty items array.
| Template ID | Test Input | Expected Response |
|---|---|---|
tpl-email-footprint | emailAddress: [email protected], countryCode: PH | resultCode: SUCCESS |
tpl-mobile-footprint | mobileNumber: 639559991234, countryCode: PH | resultCode: SUCCESS |
tpl-score-footprint | emailAddress: [email protected], mobileNumber: 639559991234, countryCode: PH | resultCode: SUCCESS |
Endpoints
| Endpoint | |
|---|---|
| Create Footprint check | POST /alpha/footprints |
| List Footprint checks | GET /alpha/footprints |
| Retrieve one Footprint check | GET /alpha/footprints/{id} |

