Footprints

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 IDInput RequiredDescription
tpl-email-footprintEmail addressReturns all email.* signals from the Footprint data dictionary
tpl-mobile-footprintMobile numberReturns all mobile.* signals from the Footprint data dictionary
tpl-score-footprintEmail address and mobile numberReturns all email.* and mobile.* signals, plus analysis.fraudScore
📘

Legacy Templates

tpl-ftp005001 (email) and tpl-ftp005002 (mobile) are deprecated predecessors of tpl-email-footprint and tpl-mobile-footprint respectively. They remain functional for backwards compatibility but new integrations should use the current template IDs.

How a Footprint Request Works

  1. Submit a Footprint request using POST /alpha/footprints. Provide templateId, consent, and the identifier(s) required by your chosen template.

  2. Receive the result synchronously. The API returns the full Footprint object in the response body. The items array contains each signal returned for your account configuration.

  3. Evaluate the signals. Each item in the items array has a name (the signal identifier), a value, and a valueType (STRING, NUMBER, or BOOLEAN). See the Footprint Data Dictionary for the full list of available signals and their descriptions.

📘

About footprintItemsTimeout

footprintItemsTimeout is 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 a null value. 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.

AttributeTypeRequiredDescription
templateIdstringYesThe footprint template to use. Determines which other fields are required. See Available Templates above.
consentobjectYesEvidence of the subject's consent. See Consent Templates for details.
emailAddressstringRequired for tpl-email-footprint and tpl-score-footprintA valid email address for the subject.
mobileNumberstringRequired for tpl-mobile-footprint and tpl-score-footprintThe subject's mobile number including country code, no leading zeros. Example: 639178912345
countryCodestringRequired for tpl-score-footprint; recommended for othersISO 3166 alpha-2 country code for the subject's market. Example: PH
footprintItemsTimeoutintegerNoResponse timeout in seconds (1–30). See note above.

Footprint Object

This is the object returned in the response.

AttributeTypeDescription
idstringUnique ID of this Footprint record. IDs use the prefix footprint-.
createdAtdate-timeDate and time when this Footprint record was created
statusstringCurrent processing status of the request. See Footprint Statuses below.
resultCodestringFinal result code of the check. See Result Codes below.
resultMessagestringHuman-readable description of the result
requestMetaobjectEcho of the original request parameters sent with the check
itemsarrayThe 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.

AttributeTypeDescription
namestringThe signal identifier, using dot notation to indicate category and signal name. Example: email.registered
valuestringThe signal value, always returned as a string regardless of the underlying type
valueTypestringThe data type of the value. One of: STRING, NUMBER, BOOLEAN

Footprint Statuses

StatusDescription
PROCESSINGThe footprint check is currently in progress
COMPLETEDThe check has completed and results are available
ERRORThe check encountered an error and could not be completed

Result Codes

Result CodeDescriptionBillable
SUCCESSThe check completed and signal data was returned in the items array.Yes
NO_DATASmile was unable to return signal data for the provided input.No
SYSTEM_ERRORAn internal error occurred. Contact Smile support if this persists.No
SERVICE_UNAVAILABLEA required data source is temporarily unavailable.No
📘

Billing Note

Footprint checks are billed only on SUCCESS. NO_DATA results are not charged. Only the POST /alpha/footprints endpoint 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 includes analysis.fraudScore, available only with tpl-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 IDTest InputExpected Response
tpl-email-footprintemailAddress: [email protected], countryCode: PHresultCode: SUCCESS
tpl-mobile-footprintmobileNumber: 639559991234, countryCode: PHresultCode: SUCCESS
tpl-score-footprintemailAddress: [email protected], mobileNumber: 639559991234, countryCode: PHresultCode: SUCCESS

Endpoints

Endpoint
Create Footprint checkPOST /alpha/footprints
List Footprint checksGET /alpha/footprints
Retrieve one Footprint checkGET /alpha/footprints/{id}