Getting Started with Verify

The Verify API provides additional signals and data intelligence points to customer and prospect data. You can find more about the Verify API under Verify Overview on the left navigation bar, but now that we have our API Key, let's jump into a simple Verify call!

The Verify API uses a RPC-style interface. All requests sent to the API are done over HTTPS using the POST method, with content sent as JSON in the request body. All acceptable inputs and combinations are highlighted in the Multi Field Request section of the API documentation. For this simple example we will call the Identity Verification API with a single email identifier.


Step 1: If you already have an account, start by logging in. If you don’t have an account, start by creating one in the FullContact Platform. Once an account has been created please contact us to get started using the Verify API.

Doing so will allow you to access the FullContact Platform, which has some helpful tools to get started interacting with some of FullContact’s services, which you can read more about in the FullContact Platform Overview. Additionally, having an account will allow you to generate an API Key, which is required to interact with our APIs.

Navigate to the “API Keys” menu and click “GENERATE NEW API KEY”. Follow the prompt, giving your API key a name.

📘

Copy your API key and store it somewhere secure.

You will not be able to see the whole key again. No longer have access to the full key? Don’t worry! You can generate a new one using the same process.

Be sure to keep this key secure and only share through secure and appropriate channels when necessary. If someone gains access to your API key, they will be able to incur unwanted charges against your account. You can delete keys at any time should you accidentally expose them to the world.


Step 2: Now that you have generated your API key, let’s verify an individual via the API. In this step, we will be sending data to the FullContact in the form of a multi field identifier. Our current rate limit for each of the Verify API endpoints is 10 queries per second.

Obtain Individual Signals for Verify

Receive rich, data intelligence signals associated with an individual to further understand current, historical, active and/or non-related, and therefore suspicious, activities. Verify Signals provides high value information for identifiers in order to model risk. For each contact identifier being passed back in Verify Signals such as, emails, phones, Non IDs, Panorama IDs, MAIDs and IP Addresses you will receive a max of 5 additional identifiers for each.

curl -X POST \
  https://api.fullcontact.com/v3/verify.signals \
  -H 'Authorization: Bearer {Your API Key}' \
  -H "Content-Type: application/json" \
  -d '{
  "emails": [
    "[email protected]",
    "[email protected]"
  ],
  "phones": [
    "+17202227799",
    "+13035551234"
  ],
  "location": {
    "addressLine1": "123 Main Street",
    "addressLine2": "Unit 2",
    "city": "Denver",
    "region": "Colorado",
    "regionCode": "CO",
    "postalCode": "80203"
  },
  "name": {
    "full": "Bart Lorang",
    "given": "Bart",
    "family": "Lorang"
  },
  "profiles": [{
    "service": "twitter",
    "username": "bartlorang"
    }, {
    "service": "twitter",
    "userid": "5998422"
    }, {
    "service": "linkedin",
    "url": "https://www.linkedin.com/in/bartlorang"
    }, {
    "service": "github",
    "url": "https://www.github.com/lorangb"
    }],
  "maids": ["ape2ch30-pifn-cbvi-30yy-nia-zex7aw5u"],
  "li_nonid": "-CmQui5eT6tqBVqQ874WGCv4DNO_taXJOAxVlQ",
  "panoramaId": "294293d141c731300758a10feda14945c111e0abcd04c8208f09ff058781337b"
  }'
{
  "personIds": [
      "c0VAsuEb4DRPuXmEXLutGitk-Hq9xUMautmqzyfuHpZyl3EP"
    ],
  "emails": [
      {
        "md5": "4ae8f6dd533de3c08481d4cc9c10e80d",
        "sha1": "f9401124f3252a97244bd84bd960b167a20116f3",
        "sha256": "8b458dd2661e2cb2f40d6676eac54f8cabc83fde59229d1fe1425d0a83c21c1f",
                "firstSeenMs": 1350021600,
        "lastSeenMs": 1640415600,
        "observations": 201,
        "confidence": 0.97     
      }
    ....
    }
  ],
  "phones": [ 
      {
        "label": "work",
        "value": "+19702255555",
                "firstSeenMs": 1350021600,
        "lastSeenMs": 1640415600,
        "observations": 100,
        "confidence": 0.65       
      }
    ....
    }
  ],
  "maids": [ 
     {
        "id": "ape2ch30-pifn-cbvi-30yy-nia-zex7aw5u",
        "type": "aaid",
                "firstSeenMs": 1350021600,
        "lastSeenMs": 1640415600,
        "observations": 100,
        "confidence": 0.87      
      }
    ....
    }
  ],
  "name": [ 
    "current" : {
        "given" : "Ken",
        "familyName" : "Michie",
    }
  ],
  "nonIds": [ 
        {
        "id": "ape2ch30-pifn-cbvi-30yy-nia-zex7aw5u",
                "firstSeenMs": 1350021600,
        "lastSeenMs": 1640415600,
        "observations": 100,
        "confidence": 0.87       
      }
    ....
    }
  ],
  "panoIds": [ 
        {
        "id": "ape2ch30-pifn-cbvi-30yy-nia-zex7aw5u",
                "firstSeenMs": 1350021600,
        "lastSeenMs": 1640415600,
        "observations": 100,
        "confidence": 0.87       
      }
    ....
    }
  ],
  "ipAddresses": [ 
       {
        "id": "192.158.1.38",
                "firstSeenMs": 1350021600,
        "lastSeenMs": 1640415600,
        "confidence": 0.37       
      }
    ....
    }
  ],
  "socialProfiles": {
    "twitterUrl" : "https://twitter.com/bartlorang",
    "linkedInUrl" : "https://www.linkedin.com/in/hspangus"
  },
  "demographics" : {
    "age": 40,
    "ageRange" : "31-40",
    "gender" : "male",
    "locationFormatted" : "Denver, Colorado, United States"
    },
  "employement": {
    "current" : false,
    "company" : "FullContact, Inc.",
    "title" : "VP Product"
  }
}

Understand Matching Elements to an Individual

Based upon the provided information, understand whether or not the information you have on an individual matches the FullContact Identity Graph and points to the same individual. This can help you identify risk on a form field or application.

curl -X POST \
  https://api.fullcontact.com/v3/verify.match \
  -H 'Authorization: Bearer {Your API Key}' \
  -H "Content-Type: application/json" \
  -d '{
  "email": "[email protected]",
  "phone": "+17202227799",
  "location": {
    "addressLine1": "123 Main Street",
    "addressLine2": "Unit 2",
    "city": "Denver",
    "region": "Colorado",
    "regionCode": "CO",
    "postalCode": "80203"
  },
  "name": {
    "full": "Bart Lorang",
    "given": "Bart",
    "family": "Lorang"
  }
  }'
{  
    "city" : "household",
    "region" : "household",
    "country" : "household",
    "postalCode" : "household",
    "givenName" : "unknown",
    "familyName": "household",
    "phone" : "tangled",
    "email" : "self",
    "risk" : 0.21
}

Verify Activity

Verify Activity provides a numerical score of the level of activity we see on a given identifier for an individual. Email Activity is available right now with incremental activity scores coming soon.

curl -X POST \
  https://api.fullcontact.com/v3/verify.activity \
  -H 'Authorization: Bearer {Your API Key}' \
  -H "Content-Type: application/json" \
  -d '{
  "email": "[email protected]",
  "phone": "+17202227799",
  "location": {
    "addressLine1": "123 Main Street",
    "addressLine2": "Unit 2",
    "city": "Denver",
    "region": "Colorado",
    "regionCode": "CO",
    "postalCode": "80203"
  },
  "name": {
    "full": "Bart Lorang",
    "given": "Bart",
    "family": "Lorang"
  }
  }'
{
    "email" : .82,
    "online" : .91,
    "social" : .32,
    "employment" : .78
}

Step 3: Next Steps with Verification

Jump into the section to see examples on how to call Verify, or check out one of our libraries below.


Client Libraries

Client Libraries have been written for FullContact’s Enrich, Resolve & Verify APIs in GO, Java 8, Java 11+ and Python.

Customers can streamline the use of our Enrich, Resolve & Verify APIs by utilizing basic parts of our code, reducing the amount of code needed to write and enable within your products and solutions in order to effectively and efficiently utilize each API.

Our libraries are available in the following languages: