Thisa API API Reference

We provide a GraphQL API to access the identity platform. If you are new to GraphQL we recommend taking a quick look at queries in the guide from GraphQL, and possibly looking for a GraphQL client in your language.

There is also a complete working example API call with your API Key using curl on your Developer Page.

You must authenticate requests to the API with an API Key. Set the Authorization header to ApiKey your-api-key-here. Manage your API keys at your Developer Page.

API Endpoints
Production:
https://api.thisa.com/graphql

Paths

Search Individual Records

Search hundreds of millions of individual records using the filters in the "Where" variable. Select the attributes you want returned, and you will receive an array of individual records that match the criteria. (This is also the example query used on the Developer Page).

(no description)

offset:
number

(no description)

limit:
number

(no description)

Example

Request Content-Types: application/json
Query
query searchV3($where: SearchWhereInput, $offset: Float, $limit: Float){
  searchV3(where: $where, offset: $offset, limit: $limit)
}
Variables
{
  "where": {
    "nameFirst": "string",
    "nameLast": "string",
    "addressCountry": "string",
    "addressState": "string",
    "addressCity": "string",
    "email": "string",
    "phone": "string",
    "employmentTitle": "string",
    "linkedin": "string",
    "organizationName": "string",
    "organizationDomain": "string",
    "organizationEmployeeRange": "string",
    "organizationRevenueRange": "string",
    "organizationTags": "string"
  },
  "offset": "number",
  "limit": "number"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "searchV3": [
      {
        "gender": "string",
        "emailAddresses": [
          "string"
        ]
      }
    ]
  }
}

Validate an Email Address

This is a free API (currenly limited to 10 queries per second) to analyze an email address by 3 metrics.

  1. If the email address present in our dataset. (If an email address is in our dataset, it is likely a primary email address associated with a real person, and unlikely to be used for spam/fraud/etc.)
  2. If the email address offered by a free provider. (gmail, yahoo, etc.)
  3. If the email address disposable. (from a throw-away provider such as throwawaymail.com)
emailAddress:
string

(no description)

Example

Request Content-Types: application/json
Query
query checkEmailAddressV2($emailAddress: String!){
  checkEmailAddressV2(emailAddress: $emailAddress){
    inData
    free
    disposable
  }
}
Variables
{
  "emailAddress": "string"
}
Try it now
Response Content-Types: application/json
Response Example (200 OK)
{
  "data": {
    "checkEmailAddressV2": {
      "inData": "boolean",
      "free": "boolean",
      "disposable": "boolean"
    }
  }
}

Schema Definitions

Access: object

id:
ID
organizationId:
subscriptions:
payment:
subscriptionBalance:
codeBalance:
canUISearchPaid:
canUISearchFree:
canUISearch:
canAPIPaid:
canAPIFree:
canAPI:
usableAPIBalance:
Example
{
  "id": "object",
  "organizationId": "string",
  "subscriptions": [
    {
      "id": "string",
      "priceIds": [
        "string"
      ],
      "productIds": [
        "string"
      ],
      "cancelAtPeriodEnd": "boolean",
      "status": "string"
    }
  ],
  "payment": {
    "stripeCustomerId": "string",
    "last4": "string",
    "codes": [
      "string"
    ]
  },
  "subscriptionBalance": "number",
  "codeBalance": "number",
  "canUISearchPaid": "boolean",
  "canUISearchFree": "boolean",
  "canUISearch": "boolean",
  "canAPIPaid": "boolean",
  "canAPIFree": "boolean",
  "canAPI": "boolean",
  "usableAPIBalance": "number"
}

AccessPayment: object

stripeCustomerId:
last4:
codes:
Example
{
  "stripeCustomerId": "string",
  "last4": "string",
  "codes": [
    "string"
  ]
}

AccessSubscription: object

id:
priceIds:
productIds:
cancelAtPeriodEnd:
status:
Example
{
  "id": "string",
  "priceIds": [
    "string"
  ],
  "productIds": [
    "string"
  ],
  "cancelAtPeriodEnd": "boolean",
  "status": "string"
}

Address: object

line1:
line2:
city:
postalCode:
state:
country:
Example
{
  "line1": "string",
  "line2": "string",
  "city": "string",
  "postalCode": "string",
  "state": "string",
  "country": "string"
}

ApiKey: object

id:
ID
organizationId:
name:
Example
{
  "id": "object",
  "organizationId": "string",
  "name": "string"
}

Boolean: boolean

The Boolean scalar type represents true or false.

Example
boolean

EmailAddressCheck: object

inData:
free:
disposable:
Example
{
  "inData": "boolean",
  "free": "boolean",
  "disposable": "boolean"
}

Float: number

The Float scalar type represents signed double-precision fractional values as specified by IEEE 754.

Example
number

ID: object

The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.

Example
object

IndividualEmployment: object

title:
seniority:
Example
{
  "title": "string",
  "seniority": "string"
}

IndividualName: object

first:
last:
full:
Example
{
  "first": "string",
  "last": "string",
  "full": "string"
}

IndividualRecord: object

name:
gender:
address:
phoneAccounts:
emailAddresses:
employment:
profiles:
organization:
Example
{
  "name": {
    "first": "string",
    "last": "string",
    "full": "string"
  },
  "gender": "string",
  "address": {
    "line1": "string",
    "line2": "string",
    "city": "string",
    "postalCode": "string",
    "state": "string",
    "country": "string"
  },
  "phoneAccounts": [
    {
      "uri": "string",
      "name": "string",
      "carrier": "string",
      "type": "string"
    }
  ],
  "emailAddresses": [
    "string"
  ],
  "employment": {
    "title": "string",
    "seniority": "string"
  },
  "profiles": [
    {
      "network": "string",
      "url": "string"
    }
  ],
  "organization": {
    "name": "string",
    "domain": "string",
    "domainSet": [
      "string"
    ],
    "description": "string",
    "foundedYear": "number",
    "address": {
      "line1": "string",
      "line2": "string",
      "city": "string",
      "postalCode": "string",
      "state": "string",
      "country": "string"
    },
    "phoneAccounts": [
      {
        "uri": "string",
        "name": "string",
        "carrier": "string",
        "type": "string"
      }
    ],
    "emailAddresses": [
      "string"
    ],
    "metrics": {
      "employeeRange": "string",
      "revenueRange": "string"
    }
  }
}

Organization: object

id:
ID
name:
Example
{
  "id": "object",
  "name": "string"
}

OrganizationCategory: object

sic:
naics:
Example
{
  "sic": "string",
  "naics": "string"
}

OrganizationMetrics: object

employeeRange:
revenueRange:
funding:
Example
{
  "employeeRange": "string",
  "revenueRange": "string",
  "funding": "number"
}

OrganizationUser: object

id:
ID
organizationId:
userId:
role:
Example
{
  "id": "object",
  "organizationId": "string",
  "userId": "string",
  "role": "string"
}

PhoneAccount: object

uri:
name:
carrier:
type:
Example
{
  "uri": "string",
  "name": "string",
  "carrier": "string",
  "type": "string"
}

PhoneAccountV2: object

cnam:
carrier:
type:
location:
Example
{
  "cnam": "string",
  "carrier": "string",
  "type": "string",
  "location": {
    "city": "string",
    "zipCode": "string",
    "state": "string",
    "country": "string",
    "county": "string",
    "latitude": "string",
    "longitude": "string"
  }
}

PhoneLocation: object

city:
zipCode:
state:
country:
county:
latitude:
longitude:
Example
{
  "city": "string",
  "zipCode": "string",
  "state": "string",
  "country": "string",
  "county": "string",
  "latitude": "string",
  "longitude": "string"
}

RecordOrganization: object

name:
domain:
domainSet:
description:
foundedYear:
address:
phoneAccounts:
emailAddresses:
metrics:
category:
profiles:
tags:
techStack:
Example
{
  "name": "string",
  "domain": "string",
  "domainSet": [
    "string"
  ],
  "description": "string",
  "foundedYear": "number",
  "address": {
    "line1": "string",
    "line2": "string",
    "city": "string",
    "postalCode": "string",
    "state": "string",
    "country": "string"
  },
  "phoneAccounts": [
    {
      "uri": "string",
      "name": "string",
      "carrier": "string",
      "type": "string"
    }
  ],
  "emailAddresses": [
    "string"
  ],
  "metrics": {
    "employeeRange": "string",
    "revenueRange": "string",
    "funding": "number"
  },
  "category": {
    "sic": "string",
    "naics": "string"
  },
  "profiles": [
    {
      "network": "string",
      "url": "string"
    }
  ],
  "tags": [
    "string"
  ],
  "techStack": [
    "string"
  ]
}

SearchWhereInput: object

nameFirst:
nameLast:
addressCountry:
addressState:
addressCity:
email:
phone:
employmentTitle:
linkedin:
organizationName:
organizationDomain:
organizationEmployeeRange:
organizationRevenueRange:
organizationTags:
Example
{
  "nameFirst": "string",
  "nameLast": "string",
  "addressCountry": "string",
  "addressState": "string",
  "addressCity": "string",
  "email": "string",
  "phone": "string",
  "employmentTitle": "string",
  "linkedin": "string",
  "organizationName": "string",
  "organizationDomain": "string",
  "organizationEmployeeRange": "string",
  "organizationRevenueRange": "string",
  "organizationTags": "string"
}

SocialProfile: object

network:
url:
Example
{
  "network": "string",
  "url": "string"
}

String: string

The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.

User: object

id:
ID
email:
Example
{
  "id": "object",
  "email": "string"
}