LeadIQ Public API Reference

This page will help you get up and running with LeadIQ GraphQL API. The API consists of these main queries and mutations:

  1. Contact Search: find a single person based on identifying information:
    • Person name and current (or past) companies.
    • LinkedIn profile.
    • Work email or personal email.
    • And more, see full list here.
  2. Company Search: find a single company based on name, domain, country.
  3. Advanced Search: find a list of people based on some broad search criterias e.g: job title, seniority, role, company size, location, etc. See ContactFilter and CompanyFilter.
  4. Usage: view API credit usage and limit.
  5. Submit Data Feedback: submit data correction patch.

Authentication

The LeadIQ API uses API keys to authenticate requests. Please contact us to generate an API key.

Authentication to the API is performed via HTTP Basic Auth. Provide your API key as the basic auth username value. You do not need to provide a password.

Authorization: Basic <authkey>

Common Error Status Codes

Error status codes are returned in the errors field of the response. Some of the common error codes that you should handle are:

  1. 400 - Bad request.
  2. 401 - API token is incorrect or absent.
  3. 402 - You have run out of credits. Please contact LeadIQ support team.
  4. 429 - This means you are making too many requests. You should throttle your requests.
Contact

dev@leadiq.com

API Endpoints
# GraphQL Endpoint:
https://api.leadiq.com/graphql

Queries

contactTrackingBalance

Response

Returns a BalanceResponse

Example

Query
query ContactTrackingBalance {
  contactTrackingBalance {
    alreadyUsed
    balance
    remaining
    maxCredits
  }
}
Response
{
  "data": {
    "contactTrackingBalance": {
      "alreadyUsed": 987,
      "balance": 123,
      "remaining": 123,
      "maxCredits": 987
    }
  }
}

flatAdvancedSearch

Description

Advanced search for flat response

Response

Returns a PersonSearchResponse!

Arguments
Name Description
input - FlatSearchInput!

Example

Query
query FlatAdvancedSearch($input: FlatSearchInput!) {
  flatAdvancedSearch(input: $input) {
    totalPeople
    people {
      id
      companyId
      name
      linkedinId
      linkedinUrl
      title
      role
      state
      country
      seniority
      workEmails
      verifiedWorkEmails
      verifiedLikelyWorkEmails
      workPhones
      personalEmails
      personalPhones
      score
      firstName
      middleName
      lastName
      updatedAt
      currentPositionStartDate
      company {
        id
        name
        industry
        description
        linkedinId
        domain
        employeeCount
        city
        country
        state
        score
        companyTechnologies
        companyTechnologyCategories
      }
      picture
    }
  }
}
Variables
{"input": FlatSearchInput}
Response
{
  "data": {
    "flatAdvancedSearch": {
      "totalPeople": 100,
      "people": [Person]
    }
  }
}

groupedAdvancedSearch

Description

Advanced search for grouped response

Response

Returns a CompanySearchResponse!

Arguments
Name Description
input - GroupedSearchInput!

Example

Query
query GroupedAdvancedSearch($input: GroupedSearchInput!) {
  groupedAdvancedSearch(input: $input) {
    totalCompanies
    companies {
      company {
        id
        name
        industry
        description
        linkedinId
        domain
        employeeCount
        city
        country
        state
        score
        companyTechnologies
        companyTechnologyCategories
      }
      people {
        id
        companyId
        name
        linkedinId
        linkedinUrl
        title
        role
        state
        country
        seniority
        workEmails
        verifiedWorkEmails
        verifiedLikelyWorkEmails
        workPhones
        personalEmails
        personalPhones
        score
        firstName
        middleName
        lastName
        updatedAt
        currentPositionStartDate
        company {
          id
          name
          industry
          description
          linkedinId
          domain
          employeeCount
          city
          country
          state
          score
          companyTechnologies
          companyTechnologyCategories
        }
        picture
      }
      totalContactsInCompany
    }
  }
}
Variables
{"input": GroupedSearchInput}
Response
{
  "data": {
    "groupedAdvancedSearch": {
      "totalCompanies": 100,
      "companies": [CompanyWithPeople]
    }
  }
}

searchCompany

Description

Search for companies based on identifying information: name, domain, country, etc

Response

Returns a CompanySearchResult!

Arguments
Name Description
input - SearchCompanyInput!

Example

Query
query SearchCompany($input: SearchCompanyInput!) {
  searchCompany(input: $input) {
    totalResults
    hasMore
    results {
      source
      name
      alternativeNames
      domain
      description
      emailDomains
      type
      phones
      country
      address
      locationInfo {
        formattedAddress
        street1
        street2
        city
        areaLevel1
        country
        postalCode
      }
      logoUrl
      linkedinId
      linkedinUrl
      numberOfEmployees
      industry
      specialities
      fundingInfo {
        fundingRounds
        fundingTotalUsd
        lastFundingOn
        lastFundingType
        lastFundingUsd
      }
      technologies {
        name
        category
        parentCategory
        attributes
        categories
      }
      revenue
      revenueRange {
        start
        end
        description
      }
      predictedRevenue {
        start
        end
        description
      }
      sicCode {
        code
        description
      }
      secondarySicCodes {
        code
        description
      }
      naicsCode {
        code
        description
      }
      employeeRange
      crunchbaseUrl
      facebookUrl
      twitterUrl
      foundedYear
      updatedDate
    }
  }
}
Variables
{"input": SearchCompanyInput}
Response
{
  "data": {
    "searchCompany": {
      "totalResults": 987,
      "hasMore": true,
      "results": [CompanyInfo]
    }
  }
}

searchPeople

Description

Search for people based on identifying information: name, company (past & present), social profiles, email, etc

Response

Returns a SearchResult!

Arguments
Name Description
input - SearchPeopleInput!

Example

Query
query SearchPeople($input: SearchPeopleInput!) {
  searchPeople(input: $input) {
    totalResults
    hasMore
    results {
      _id
      name {
        first
        fullName
        last
        middle
      }
      currentPositions {
        companyId
        title
        dateRange {
          start
          end
        }
        updatedAt
        emails {
          type
          status
          updatedAt
          value
        }
        phones {
          type
          status
          verificationStatus
          updatedAt
          value
        }
        companyInfo {
          source
          name
          alternativeNames
          domain
          description
          emailDomains
          type
          phones
          country
          address
          locationInfo {
            ...LocationInfoFragment
          }
          logoUrl
          linkedinId
          linkedinUrl
          numberOfEmployees
          industry
          specialities
          fundingInfo {
            ...FundingInfoFragment
          }
          technologies {
            ...TechnologyInfoFragment
          }
          revenue
          revenueRange {
            ...RevenueRangeFragment
          }
          predictedRevenue {
            ...RevenueRangeFragment
          }
          sicCode {
            ...SICCodeFragment
          }
          secondarySicCodes {
            ...SICCodeFragment
          }
          naicsCode {
            ...NAICSCodeFragment
          }
          employeeRange
          crunchbaseUrl
          facebookUrl
          twitterUrl
          foundedYear
          updatedDate
        }
        seniority
        function
      }
      pastPositions {
        companyId
        title
        dateRange {
          start
          end
        }
        updatedAt
        emails {
          type
          status
          updatedAt
          value
        }
        phones {
          type
          status
          verificationStatus
          updatedAt
          value
        }
        companyInfo {
          source
          name
          alternativeNames
          domain
          description
          emailDomains
          type
          phones
          country
          address
          locationInfo {
            ...LocationInfoFragment
          }
          logoUrl
          linkedinId
          linkedinUrl
          numberOfEmployees
          industry
          specialities
          fundingInfo {
            ...FundingInfoFragment
          }
          technologies {
            ...TechnologyInfoFragment
          }
          revenue
          revenueRange {
            ...RevenueRangeFragment
          }
          predictedRevenue {
            ...RevenueRangeFragment
          }
          sicCode {
            ...SICCodeFragment
          }
          secondarySicCodes {
            ...SICCodeFragment
          }
          naicsCode {
            ...NAICSCodeFragment
          }
          employeeRange
          crunchbaseUrl
          facebookUrl
          twitterUrl
          foundedYear
          updatedDate
        }
        seniority
        function
      }
      linkedin {
        linkedinId
        linkedinUrl
        salesUrls
        type
        status
        updatedAt
        guid
      }
      profiles {
        network
        id
        username
        url
        status
        updatedAt
      }
      location {
        fullAddress
        areaLevel1
        city
        country
        type
        status
        updatedAt
      }
      education {
        name
        type
        linkedinUrl
        facebookUrl
        twitterUrl
        linkedinId
        website
        domain
        degrees
        majors
      }
      updatedAt
      personalEmails {
        type
        status
        updatedAt
        value
      }
      personalPhones {
        type
        status
        verificationStatus
        updatedAt
        value
      }
    }
  }
}
Variables
{"input": SearchPeopleInput}
Response
{
  "data": {
    "searchPeople": {
      "totalResults": 987,
      "hasMore": false,
      "results": [PersonRecord]
    }
  }
}

trackedContacts

Response

Returns a TrackedContactsConnection!

Arguments
Name Description
importId - String
limit - Int!
cursor - Cursor
detectedAfter - LocalDate
uniqueOnly - Boolean

Example

Query
query TrackedContacts(
  $importId: String,
  $limit: Int!,
  $cursor: Cursor,
  $detectedAfter: LocalDate,
  $uniqueOnly: Boolean
) {
  trackedContacts(
    importId: $importId,
    limit: $limit,
    cursor: $cursor,
    detectedAfter: $detectedAfter,
    uniqueOnly: $uniqueOnly
  ) {
    edges {
      cursor
      node {
        id
        contactCountry
        firstName
        lastName
        lastKnownCompany
        lastKnownCompanyDomain
        lastKnownTitle
        linkedIn
        company
        companyDomain
        companyCountry
        companyState
        title
        jobChangeDetected
        jobStartDate
        email
        emailStatus
        phones
        workPhones
        companySize
        companyIndustry
        companyLinkedIn
        titleLevel
        titleDomain
        referenceId
        externalRecordId
        jobChangeType
        duplicateRecordIds
        duplicateAccountIds
      }
    }
    pageInfo {
      total
      startCursor
      endCursor
      hasPreviousPage
      hasNextPage
    }
    isProcessing
    totalSubscriptionContactsUsed
    totalSubscriptionContactsRemaining
  }
}
Variables
{
  "importId": "xyz789",
  "limit": 123,
  "cursor": Cursor,
  "detectedAfter": "2020-07-19",
  "uniqueOnly": false
}
Response
{
  "data": {
    "trackedContacts": {
      "edges": [TrackedContactEdge],
      "pageInfo": PageInfo,
      "isProcessing": true,
      "totalSubscriptionContactsUsed": 987,
      "totalSubscriptionContactsRemaining": 123
    }
  }
}

usage

Description

View API credit usage and limit

Response

Returns a UsageMetaType!

Example

Query
query Usage {
  usage {
    planUsage {
      name
      usageType
      creditType
      units
      cap
      billingType
    }
    trialUsage {
      name
      usageType
      creditType
      units
      cap
      billingType
    }
    subscription {
      status
    }
  }
}
Response
{
  "data": {
    "usage": {
      "planUsage": [PlanUsage],
      "trialUsage": [TrialUsage],
      "subscription": SubscriptionInfo
    }
  }
}

Mutations

submitPersonFeedback

Description

Submit feedback about a person contact

Response

Returns an ID!

Arguments
Name Description
input - ApiPersonFeedback!

Example

Query
mutation SubmitPersonFeedback($input: ApiPersonFeedback!) {
  submitPersonFeedback(input: $input)
}
Variables
{"input": ApiPersonFeedback}
Response
{"data": {"submitPersonFeedback": "4"}}

trackContacts

Response

Returns a TrackContactsResponse!

Arguments
Name Description
input - TrackContactsInput!

Example

Query
mutation TrackContacts($input: TrackContactsInput!) {
  trackContacts(input: $input) {
    importId
    totalCount
    batchCount
    errors
    warnings
    contactsExceedingSubscriptionLimit
    totalSubscriptionContactsUsed
    totalSubscriptionContactsRemaining
  }
}
Variables
{"input": TrackContactsInput}
Response
{
  "data": {
    "trackContacts": {
      "importId": "4",
      "totalCount": 100,
      "batchCount": 100,
      "errors": ["xyz789"],
      "warnings": ["abc123"],
      "contactsExceedingSubscriptionLimit": [
        "xyz789"
      ],
      "totalSubscriptionContactsUsed": 100,
      "totalSubscriptionContactsRemaining": 100
    }
  }
}

Types

AdvancedSearchEmailVerificationStatusType

Values
Enum Value Description

Verified

VerifiedLikely

Example
"Verified"

ApiCreditType

Values
Enum Value Description

Page

ExactMatch

PremiumMobile

Example
"Page"

ApiName

Values
Enum Value Description

Contact

Company

API

PremiumMobilePhone

AdvancedSearch

Example
"Contact"

ApiPersonFeedback

Fields
Input Field Description
personId - String
linkedinUrl - String
linkedinId - String
name - String
companyId - String
companyName - String
companyDomain - String
title - String
value - String!
status - ContactInfoStatus
invalidReason - InvalidReason
type - ContactInfoType
lastSeen - ZonedDateTime
Example
{
  "personId": "xyz789",
  "linkedinUrl": "xyz789",
  "linkedinId": "xyz789",
  "name": "xyz789",
  "companyId": "xyz789",
  "companyName": "abc123",
  "companyDomain": "abc123",
  "title": "xyz789",
  "value": "xyz789",
  "status": "Correct",
  "invalidReason": "EmailBounceCode513",
  "type": "PersonalMobile",
  "lastSeen": "2021-10-02T00:00:00.000Z"
}

ApiUsageType

Values
Enum Value Description

Premium

Standard

Example
"Premium"

BalanceResponse

Fields
Field Name Description
alreadyUsed - Int! use balance
balance - Int!
remaining - Int!
maxCredits - Int!
Example
{"alreadyUsed": 987, "balance": 123, "remaining": 123, "maxCredits": 987}

BillingType

Values
Enum Value Description

FreeCredits

Postpaid

Prepaid

Example
"FreeCredits"

Boolean

Description

The Boolean scalar type represents true or false.

Company

Fields
Field Name Description
id - String!
name - String
industry - String
description - String
linkedinId - String
domain - String
employeeCount - Int
city - String
country - String
state - String
score - Float
companyTechnologies - [String!]
companyTechnologyCategories - [String!]
Example
{
  "id": "xyz789",
  "name": "abc123",
  "industry": "abc123",
  "description": "abc123",
  "linkedinId": "abc123",
  "domain": "abc123",
  "employeeCount": 987,
  "city": "xyz789",
  "country": "xyz789",
  "state": "xyz789",
  "score": 987.65,
  "companyTechnologies": ["abc123"],
  "companyTechnologyCategories": ["abc123"]
}

CompanyDetails

Fields
Input Field Description
companyId - String
name - String
domain - String
emailDomain - String
linkedinId - String
country - String
searchInPastCompanies - Boolean

If set to true, match company against both current and past positions. Defaults to false.

strict - Boolean

If set to true, all input company details must match some existing companies. If the company doesn't exists, maybe due to bad data, the search result will be empty. Defaults to false.

Example
{
  "companyId": "abc123",
  "name": "xyz789",
  "domain": "abc123",
  "emailDomain": "abc123",
  "linkedinId": "abc123",
  "country": "abc123",
  "searchInPastCompanies": true,
  "strict": true
}

CompanyFilter

Fields
Input Field Description
ids - [String!]
names - [String!]
domains - [String!]
linkedinIds - [String!]
industries - [String!]
sizes - [CompanySizeFilter!]
cities - [String!]
states - [String!]
countries - [String!]
descriptions - [String!]
technologies - [String!]
technologyCategories - [String!]
Example
{
  "ids": ["xyz789"],
  "names": ["xyz789"],
  "domains": ["xyz789"],
  "linkedinIds": ["xyz789"],
  "industries": ["abc123"],
  "sizes": [CompanySizeFilter],
  "cities": ["xyz789"],
  "states": ["abc123"],
  "countries": ["xyz789"],
  "descriptions": ["abc123"],
  "technologies": ["xyz789"],
  "technologyCategories": ["xyz789"]
}

CompanyInfo

Fields
Field Name Description
source - String! Company Id
name - String!
alternativeNames - [String!]
domain - String
description - String
emailDomains - [String!]
type - String
phones - [String!]
country - String
address - String
locationInfo - LocationInfo
logoUrl - String
linkedinId - String
linkedinUrl - String
numberOfEmployees - Int
industry - String
specialities - [String!]
fundingInfo - FundingInfo
technologies - [TechnologyInfo!]
revenue - Long
revenueRange - RevenueRange
predictedRevenue - RevenueRange
sicCode - SICCode
secondarySicCodes - [SICCode!]
naicsCode - NAICSCode
employeeRange - String
crunchbaseUrl - String
facebookUrl - String
twitterUrl - String
foundedYear - Int
updatedDate - ZonedDateTime
Example
{
  "source": "abc123",
  "name": "abc123",
  "alternativeNames": ["xyz789"],
  "domain": "abc123",
  "description": "xyz789",
  "emailDomains": ["xyz789"],
  "type": "abc123",
  "phones": ["xyz789"],
  "country": "xyz789",
  "address": "abc123",
  "locationInfo": LocationInfo,
  "logoUrl": "abc123",
  "linkedinId": "abc123",
  "linkedinUrl": "abc123",
  "numberOfEmployees": 987,
  "industry": "abc123",
  "specialities": ["xyz789"],
  "fundingInfo": FundingInfo,
  "technologies": [TechnologyInfo],
  "revenue": 100,
  "revenueRange": RevenueRange,
  "predictedRevenue": RevenueRange,
  "sicCode": SICCode,
  "secondarySicCodes": [SICCode],
  "naicsCode": NAICSCode,
  "employeeRange": "abc123",
  "crunchbaseUrl": "abc123",
  "facebookUrl": "abc123",
  "twitterUrl": "abc123",
  "foundedYear": 987,
  "updatedDate": "2021-10-02T00:00:00.000Z"
}

CompanySearchResponse

Fields
Field Name Description
totalCompanies - Long!
companies - [CompanyWithPeople!]!
Example
{"totalCompanies": 100, "companies": [CompanyWithPeople]}

CompanySearchResult

Fields
Field Name Description
totalResults - Int!
hasMore - Boolean!
results - [CompanyInfo!]!
Example
{
  "totalResults": 123,
  "hasMore": true,
  "results": [CompanyInfo]
}

CompanySizeFilter

Fields
Input Field Description
min - Int
max - Int
Example
{"min": 123, "max": 123}

CompanySortingOption

Values
Enum Value Description

IdDesc

IdAsc

SizeDesc

NameAsc

SizeAsc

IndustryAsc

NameDesc

IndustryDesc

Example
"IdDesc"

CompanyWithPeople

Fields
Field Name Description
company - Company!
people - [Person!]!
totalContactsInCompany - Long!
Example
{
  "company": Company,
  "people": [Person],
  "totalContactsInCompany": 100
}

ContactFilter

Fields
Input Field Description
ids - [String!]
names - [String!]
titles - [String!]
linkedinIds - [String!]
linkedinUrls - [String!]
seniorities - [Seniority!]
roles - [String!]
states - [String!]
countries - [String!]
containsWorkEmails - [AdvancedSearchEmailVerificationStatusType!]
updatedAt - DateRangeFilter
newHireFrom - Long
newPromotionFrom - Long
Example
{
  "ids": ["xyz789"],
  "names": ["xyz789"],
  "titles": ["abc123"],
  "linkedinIds": ["abc123"],
  "linkedinUrls": ["abc123"],
  "seniorities": ["VP"],
  "roles": ["abc123"],
  "states": ["xyz789"],
  "countries": ["xyz789"],
  "containsWorkEmails": ["Verified"],
  "updatedAt": DateRangeFilter,
  "newHireFrom": 100,
  "newPromotionFrom": 100
}

ContactInfoStatus

Values
Enum Value Description

Correct

Invalid

Example
"Correct"

ContactInfoType

Values
Enum Value Description

PersonalMobile

PersonalLandline

WorkHQ

WorkPhone

WorkEmail

PersonalPhone

WorkBranch

PersonalEmail

WorkMobile

Fax

Example
"PersonalMobile"

ContactSortingOption

Values
Enum Value Description

RoleAsc

NameDesc

SeniorityAsc

IdAsc

NameAsc

TitleAsc

SeniorityDesc

RoleDesc

TitleDesc

IdDesc

Example
"RoleAsc"

Cursor

Description

A pagination cursor

Example
Cursor

DateRange

Fields
Field Name Description
start - ZonedDateTime
end - ZonedDateTime
Example
{
  "start": "2021-10-02T00:00:00.000Z",
  "end": "2021-10-02T00:00:00.000Z"
}

DateRangeFilter

Fields
Input Field Description
start - Long
end - Long
Example
{"start": 100, "end": 100}

EducationRecord

Fields
Field Name Description
name - String!
type - String
linkedinUrl - String
facebookUrl - String
twitterUrl - String
linkedinId - String
website - String
domain - String
degrees - [String!]!
majors - [String!]!
Example
{
  "name": "abc123",
  "type": "xyz789",
  "linkedinUrl": "abc123",
  "facebookUrl": "xyz789",
  "twitterUrl": "xyz789",
  "linkedinId": "xyz789",
  "website": "abc123",
  "domain": "abc123",
  "degrees": ["abc123"],
  "majors": ["xyz789"]
}

EmailType

Description

Type of email

Values
Enum Value Description

WorkEmail

PersonalEmail

Example
"WorkEmail"

EmailVerificationStatusType

Description

Status of an email

Values
Enum Value Description

Verified

VerifiedLikely

Unverified

Invalid

Example
"Verified"

EmailVerificationStatusTypeInput

Values
Enum Value Description

Verified

Unverified

VerifiedLikely

Invalid

Example
"Verified"

FlatSearchInput

Fields
Input Field Description
companyFilter - CompanyFilter
contactFilter - ContactFilter
skip - Int
limit - Int
sortContactsBy - [ContactSortingOption!]
Example
{
  "companyFilter": CompanyFilter,
  "contactFilter": ContactFilter,
  "skip": 123,
  "limit": 123,
  "sortContactsBy": ["RoleAsc"]
}

Float

Description

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

Example
123.45

FundingInfo

Fields
Field Name Description
fundingRounds - String
fundingTotalUsd - Long
lastFundingOn - ZonedDateTime
lastFundingType - String
lastFundingUsd - Long
Example
{
  "fundingRounds": "2",
  "fundingTotalUsd": 40000000,
  "lastFundingOn": "2021-10-02T00:00:00.000Z",
  "lastFundingType": "Series B",
  "lastFundingUsd": 30000000
}

GenericFieldStatus

Description

A generic field status

Values
Enum Value Description

Valid

Invalid

Example
"Valid"

GenericFieldType

Description

A generic field type

Values
Enum Value Description

NotApplicable

Example
"NotApplicable"

GroupedSearchInput

Description

Input for Advanced Search for grouped response

Fields
Input Field Description
companyFilter - CompanyFilter
contactFilter - ContactFilter
skip - Int
limit - Int
limitPerCompany - Int
sortCompaniesBy - [CompanySortingOption!]
sortContactsBy - [ContactSortingOption!]
Example
{
  "companyFilter": CompanyFilter,
  "contactFilter": ContactFilter,
  "skip": 987,
  "limit": 987,
  "limitPerCompany": 123,
  "sortCompaniesBy": ["IdDesc"],
  "sortContactsBy": ["RoleAsc"]
}

ID

Description

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
4

Int

Description

The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.

Example
123

InvalidReason

Values
Enum Value Description

EmailBounceCode513

5.1.3 Bad destination mailbox address syntax

EmailBounceCode554

5.5.4 Invalid command arguments

EmailBounceCode500

5.0.0 Other undefined Status

EmailBounceCode547

5.4.7 Delivery time expired

EmailBounceCode532

5.3.2 System not accepting network messages

EmailBounceCode564

5.6.4 Conversion with loss performed

EmailBounceCode524

5.2.4 Mailing list expansion problem

EmailBounceCode563

5.6.3 Conversion required but not supported

EmailBounceCode522

5.2.2 Mailbox full

EmailBounceCode555

5.5.5 Wrong protocol version

EmailBounceCode552

5.5.2 Syntax error

EmailBounceCode570

5.7.0 Other or undefined security status

EmailBounceCode515

5.1.5 Destination mailbox address valid

WrongPerson

Email or Phone belongs to someone else

EmailBounceCode565

5.6.5 Conversion failed

EmailBounceCode544

5.4.4 Unable to route

EmailBounceCode512

5.1.2 Bad destination system address

EmailBounceCode516

5.1.6 Mailbox has moved

EmailBounceCode575

5.7.5 Cryptographic failure

Other

EmailBounceCode561

5.6.1 Media not supported

EmailBounceCode573

5.7.3 Security conversion required but not possible

EmailBounceCode510

5.1.0 Another address status

EmailBounceCode577

5.7.7 Message integrity failure

EmailBounceCode551

5.5.1 Invalid command

EmailBounceCode543

5.4.3 Routing server failure

EmailBounceCode530

5.3.0 Other or undefined mail system status

EmailBounceCode523

5.2.3 Message length exceeds administrative limit

EmailBounceCode541

5.4.1 No answer from host

EmailBounceCode533

5.3.3 System not capable of selected features

EmailBounceCode545

5.4.5 Network congestion

EmailBounceCode562

5.6.2 Conversion required and prohibited

EmailBounceCode571

5.7.1 Delivery not authorized, message refused

EmailBounceCode514

5.1.4 Destination mailbox address ambiguous

EmailBounceCode572

5.7.2 Mailing list expansion prohibited

EmailBounceCode542

5.4.2 Bad connection

EmailBounceCode517

5.1.7 Bad sender’s mailbox address syntax

EmailBounceCode574

5.7.4 Security features not supported

EmailBounceCode521

5.2.1 Mailbox disabled, not accepting messages

EmailBounceCode534

5.3.4 Message too big for system

EmailBounceCode531

5.3.1 Mail system full

EmailBounceCode553

5.5.3 Too many recipients

EmailBounceCode518

5.1.8 Bad sender’s system address

EmailBounceCode520

5.2.0 Other or undefined mailbox status

EmailBounceCode511

5.1.1 Bad destination mailbox address

EmailBounceCode576

5.7.6 Cryptographic algorithm not supported

EmailBounceCode550

5.5.0 Other or undefined protocol status

EmailBounceCode540

5.4.0 Other or undefined network or routing status

EmailBounceCode546

5.4.6 Routing loop detected

EmailBounceCode560

5.6.0 Other or undefined media error
Example
"EmailBounceCode513"

JobChangeType

Values
Enum Value Description

Departure

JobChange

Promotion

Example
"Departure"

LinkedinRecord

Fields
Field Name Description
linkedinId - String
linkedinUrl - String
salesUrls - [String!]
type - GenericFieldType!
status - GenericFieldStatus!
updatedAt - ZonedDateTime!
guid - String
Example
{
  "linkedinId": "abc123",
  "linkedinUrl": "abc123",
  "salesUrls": ["xyz789"],
  "type": "NotApplicable",
  "status": "Valid",
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "guid": "abc123"
}

LocalDate

Description

A date without a time-zone in the ISO-8601 calendar system using the format 1970-01-01

Example
"2020-07-19"

LocationInfo

Fields
Field Name Description
formattedAddress - String
street1 - String
street2 - String
city - String
areaLevel1 - String
country - String
postalCode - String
Example
{
  "formattedAddress": "abc123",
  "street1": "xyz789",
  "street2": "abc123",
  "city": "abc123",
  "areaLevel1": "abc123",
  "country": "xyz789",
  "postalCode": "abc123"
}

LocationRecord

Fields
Field Name Description
fullAddress - String
areaLevel1 - String
city - String
country - String
type - GenericFieldType!
status - GenericFieldStatus!
updatedAt - ZonedDateTime!
Example
{
  "fullAddress": "xyz789",
  "areaLevel1": "abc123",
  "city": "abc123",
  "country": "xyz789",
  "type": "NotApplicable",
  "status": "Valid",
  "updatedAt": "2021-10-02T00:00:00.000Z"
}

Long

Description

The Long scalar type represents non-fractional signed whole numeric values. Long can represent values between -(2^63) and 2^63 - 1.

Example
100

NAICSCode

Fields
Field Name Description
code - String!
description - String!
Example
{
  "code": "xyz789",
  "description": "xyz789"
}

NameInfo

Fields
Field Name Description
first - String!
fullName - String!
last - String
middle - String
Example
{
  "first": "xyz789",
  "fullName": "abc123",
  "last": "abc123",
  "middle": "abc123"
}

PageInfo

Fields
Field Name Description
total - Int! Total count matching the query for this connection
startCursor - Cursor The cursor of the first item in the connection
endCursor - Cursor The cursor of the last item in the connection
hasPreviousPage - Boolean! Whether there are more items in the connection before the current page
hasNextPage - Boolean! Whether there are more items in the connection after the current page
Example
{
  "total": 123,
  "startCursor": Cursor,
  "endCursor": Cursor,
  "hasPreviousPage": true,
  "hasNextPage": false
}

Person

Fields
Field Name Description
id - String!
companyId - String!
name - String
linkedinId - String
linkedinUrl - String
title - String
role - String
state - String
country - String
seniority - String
workEmails - [String!]
verifiedWorkEmails - [String!]
verifiedLikelyWorkEmails - [String!]
workPhones - [String!]
personalEmails - [String!]
personalPhones - [String!]
score - Float
firstName - String
middleName - String
lastName - String
updatedAt - ZonedDateTime
currentPositionStartDate - ZonedDateTime
company - Company
picture - String
Example
{
  "id": "xyz789",
  "companyId": "abc123",
  "name": "abc123",
  "linkedinId": "abc123",
  "linkedinUrl": "xyz789",
  "title": "abc123",
  "role": "xyz789",
  "state": "xyz789",
  "country": "abc123",
  "seniority": "xyz789",
  "workEmails": ["abc123"],
  "verifiedWorkEmails": ["abc123"],
  "verifiedLikelyWorkEmails": ["xyz789"],
  "workPhones": ["xyz789"],
  "personalEmails": ["abc123"],
  "personalPhones": ["xyz789"],
  "score": 123.45,
  "firstName": "abc123",
  "middleName": "xyz789",
  "lastName": "abc123",
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "currentPositionStartDate": "2021-10-02T00:00:00.000Z",
  "company": Company,
  "picture": "xyz789"
}

PersonRecord

Fields
Field Name Description
_id - String!
name - NameInfo!
currentPositions - [PositionRecord!]!
pastPositions - [PositionRecord!]!
linkedin - LinkedinRecord
profiles - [SocialProfile!]!
location - LocationRecord
education - [EducationRecord!]!
updatedAt - ZonedDateTime
personalEmails - [PersonalEmailRecordType!]!
personalPhones - [PersonalPhoneRecordType!]!
Example
{
  "_id": "abc123",
  "name": NameInfo,
  "currentPositions": [PositionRecord],
  "pastPositions": [PositionRecord],
  "linkedin": LinkedinRecord,
  "profiles": [SocialProfile],
  "location": LocationRecord,
  "education": [EducationRecord],
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "personalEmails": [PersonalEmailRecordType],
  "personalPhones": [PersonalPhoneRecordType]
}

PersonSearchResponse

Fields
Field Name Description
totalPeople - Long!
people - [Person!]!
Example
{"totalPeople": 100, "people": [Person]}

PersonalEmailRecordType

Fields
Field Name Description
type - EmailType!
status - EmailVerificationStatusType!
updatedAt - ZonedDateTime!
value - String!
Example
{
  "type": "WorkEmail",
  "status": "Verified",
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "value": "abc123"
}

PersonalPhoneRecordType

Fields
Field Name Description
type - PhoneType!
status - PhoneVerificationStatusType! Use verificationStatus instead
verificationStatus - VerificationStatusType!
updatedAt - ZonedDateTime!
value - String!
Example
{
  "type": "WorkPhone",
  "status": "Verified",
  "verificationStatus": "LikelyAccurate",
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "value": "abc123"
}

PhoneType

Description

Type of phone

Values
Enum Value Description

WorkPhone

WorkMobile

WorkHQ

WorkBranch

PersonalPhone

PersonalLandline

PersonalMobile

Fax

Example
"WorkPhone"

PhoneVerificationStatusType

Description

Status of a phone number

Values
Enum Value Description

Verified

Unverified

Invalid

Suppressed

Example
"Verified"

PlanUsage

Fields
Field Name Description
name - ApiName!
usageType - ApiUsageType!
creditType - ApiCreditType!
units - Int!
cap - Int
billingType - BillingType!
Example
{
  "name": "Contact",
  "usageType": "Premium",
  "creditType": "Page",
  "units": 123,
  "cap": 123,
  "billingType": "FreeCredits"
}

PositionRecord

Fields
Field Name Description
companyId - String!
title - String
dateRange - DateRange
updatedAt - ZonedDateTime!
emails - [WorkEmailRecordType!]!
phones - [WorkPhoneRecordType!]!
companyInfo - CompanyInfo
seniority - String
function - String
Example
{
  "companyId": "xyz789",
  "title": "abc123",
  "dateRange": DateRange,
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "emails": [WorkEmailRecordType],
  "phones": [WorkPhoneRecordType],
  "companyInfo": CompanyInfo,
  "seniority": "abc123",
  "function": "xyz789"
}

ProfileFilterType

Values
Enum Value Description

HasVerifiedWorkPhone

HasPersonalPhone

HasWorkPhone

HasPersonalEmail

HasVerifiedWorkEmail

HasWorkEmail

Example
"HasVerifiedWorkPhone"

RevenueRange

Fields
Field Name Description
start - Long
end - Long
description - String
Example
{
  "start": 100,
  "end": 100,
  "description": "abc123"
}

SICCode

Fields
Field Name Description
code - String!
description - String!
Example
{
  "code": "xyz789",
  "description": "xyz789"
}

SearchCompanyInput

Description

Input for searching company

Fields
Input Field Description
source - String
name - String
domain - String
linkedinId - String
strict - Boolean

If set to true, all input company details must match some existing companies. Defaults to false.

Example
{
  "source": "xyz789",
  "name": "abc123",
  "domain": "xyz789",
  "linkedinId": "abc123",
  "strict": true
}

SearchPeopleInput

Description

Input for searching people

Fields
Input Field Description
skip - Int
limit - Int
id - String
firstName - String
lastName - String
middleName - String
fullName - String
company - CompanyDetails
linkedinId - String
linkedinUrl - String
email - String
hashedEmail - String

Search by SHA256 hashed email

phone - String
workEmailStatusIn - [EmailVerificationStatusTypeInput!]

If set, only return result with email statuses from this list. Default to all statuses.

containsWorkContactInfo - Boolean

If set to true, only return results with work contacts. Default to false.

profileFilter - [ProfileFilterType!]

If set, only return results that satisfy these filters. Default to empty.

includeInvalid - Boolean

If set to true, include Invalid emails in result. Default to false.

Example
{
  "skip": 123,
  "limit": 987,
  "id": "abc123",
  "firstName": "abc123",
  "lastName": "abc123",
  "middleName": "xyz789",
  "fullName": "abc123",
  "company": CompanyDetails,
  "linkedinId": "xyz789",
  "linkedinUrl": "abc123",
  "email": "xyz789",
  "hashedEmail": "abc123",
  "phone": "xyz789",
  "workEmailStatusIn": ["Verified"],
  "containsWorkContactInfo": true,
  "profileFilter": ["HasVerifiedWorkPhone"],
  "includeInvalid": true
}

SearchResult

Fields
Field Name Description
totalResults - Int!
hasMore - Boolean!
results - [PersonRecord!]!
Example
{
  "totalResults": 987,
  "hasMore": false,
  "results": [PersonRecord]
}

Seniority

Values
Enum Value Description

VP

Manager

Director

Executive

Other

Example
"VP"

SocialNetworkType

Description

Network name of the social profile.

Values
Enum Value Description

Twitter

Foursquare

Gravatar

Pinterest

Angellist

Facebook

Klout

Example
"Twitter"

SocialProfile

Fields
Field Name Description
network - SocialNetworkType!
id - String
username - String
url - String
status - GenericFieldStatus!
updatedAt - ZonedDateTime!
Example
{
  "network": "Twitter",
  "id": "xyz789",
  "username": "abc123",
  "url": "xyz789",
  "status": "Valid",
  "updatedAt": "2021-10-02T00:00:00.000Z"
}

String

Description

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.

Example
"abc123"

SubscriptionInfo

Fields
Field Name Description
status - String
Example
{"status": "abc123"}

TechnologyInfo

Fields
Field Name Description
name - String!
category - String
parentCategory - String
attributes - [String!]!
categories - [String!]!
Example
{
  "name": "Amazon Web Services (AWS)",
  "category": "Infrastructure as a Service (IaaS)",
  "parentCategory": "Cloud Services",
  "attributes": ["Software as a Service (SaaS)"],
  "categories": ["xyz789"]
}

TrackContactInput

Fields
Input Field Description
companyName - String!
companyDomain - String
firstName - String!
lastName - String!
title - String
email - String
personalLinkedInUrl - String
externalRecordId - String
referenceId - String

An optional reference ID that can be used to link this contact to an external record.

Example
{
  "companyName": "abc123",
  "companyDomain": "xyz789",
  "firstName": "abc123",
  "lastName": "abc123",
  "title": "xyz789",
  "email": "abc123",
  "personalLinkedInUrl": "xyz789",
  "externalRecordId": "xyz789",
  "referenceId": "xyz789"
}

TrackContactsInput

Fields
Input Field Description
importId - ID!
contacts - [TrackContactInput!]!
Example
{"importId": 4, "contacts": [TrackContactInput]}

TrackContactsResponse

Fields
Field Name Description
importId - ID!
totalCount - Long!
batchCount - Long!
errors - [String!]!
warnings - [String!]!
contactsExceedingSubscriptionLimit - [String!]! unused
totalSubscriptionContactsUsed - Long! moved to query trackedContacts
totalSubscriptionContactsRemaining - Long! moved to query trackedContacts
Example
{
  "importId": "4",
  "totalCount": 100,
  "batchCount": 100,
  "errors": ["xyz789"],
  "warnings": ["xyz789"],
  "contactsExceedingSubscriptionLimit": [
    "abc123"
  ],
  "totalSubscriptionContactsUsed": 100,
  "totalSubscriptionContactsRemaining": 100
}

TrackedContact

Fields
Field Name Description
id - ID!
contactCountry - String
firstName - String!
lastName - String!
lastKnownCompany - String
lastKnownCompanyDomain - String
lastKnownTitle - String
linkedIn - String
company - String
companyDomain - String
companyCountry - String
companyState - String
title - String
jobChangeDetected - LocalDate!
jobStartDate - LocalDate
email - String
emailStatus - String
phones - [String!]!
workPhones - [String!]!
companySize - String
companyIndustry - String
companyLinkedIn - String
titleLevel - String
titleDomain - String
referenceId - String
externalRecordId - String
jobChangeType - JobChangeType!
duplicateRecordIds - [String!]!
duplicateAccountIds - [String!]!
Example
{
  "id": 4,
  "contactCountry": "abc123",
  "firstName": "abc123",
  "lastName": "xyz789",
  "lastKnownCompany": "abc123",
  "lastKnownCompanyDomain": "abc123",
  "lastKnownTitle": "xyz789",
  "linkedIn": "abc123",
  "company": "abc123",
  "companyDomain": "xyz789",
  "companyCountry": "abc123",
  "companyState": "xyz789",
  "title": "abc123",
  "jobChangeDetected": "2020-07-19",
  "jobStartDate": "2020-07-19",
  "email": "abc123",
  "emailStatus": "abc123",
  "phones": ["xyz789"],
  "workPhones": ["abc123"],
  "companySize": "xyz789",
  "companyIndustry": "abc123",
  "companyLinkedIn": "xyz789",
  "titleLevel": "xyz789",
  "titleDomain": "abc123",
  "referenceId": "xyz789",
  "externalRecordId": "xyz789",
  "jobChangeType": "Departure",
  "duplicateRecordIds": ["xyz789"],
  "duplicateAccountIds": ["xyz789"]
}

TrackedContactEdge

Fields
Field Name Description
cursor - Cursor!
node - TrackedContact!
Example
{
  "cursor": Cursor,
  "node": TrackedContact
}

TrackedContactsConnection

Fields
Field Name Description
edges - [TrackedContactEdge!]!
pageInfo - PageInfo!
isProcessing - Boolean!
totalSubscriptionContactsUsed - Int
totalSubscriptionContactsRemaining - Int
Example
{
  "edges": [TrackedContactEdge],
  "pageInfo": PageInfo,
  "isProcessing": true,
  "totalSubscriptionContactsUsed": 987,
  "totalSubscriptionContactsRemaining": 123
}

TrialUsage

Fields
Field Name Description
name - ApiName!
usageType - ApiUsageType!
creditType - ApiCreditType!
units - Int!
cap - Int
billingType - BillingType!
Example
{
  "name": "Contact",
  "usageType": "Premium",
  "creditType": "Page",
  "units": 987,
  "cap": 123,
  "billingType": "FreeCredits"
}

UsageMetaType

Fields
Field Name Description
planUsage - [PlanUsage!]! Returns the active(non-trial) api usage in the current billing period. The from input argument is deprecated and will be ignored.
Arguments
from - ZonedDateTime
trialUsage - [TrialUsage!]!
subscription - SubscriptionInfo!
Example
{
  "planUsage": [PlanUsage],
  "trialUsage": [TrialUsage],
  "subscription": SubscriptionInfo
}

VerificationStatusType

Description

Verification status

Values
Enum Value Description

LikelyAccurate

None

Example
"LikelyAccurate"

WorkEmailRecordType

Fields
Field Name Description
type - EmailType!
status - EmailVerificationStatusType!
updatedAt - ZonedDateTime!
value - String!
Example
{
  "type": "WorkEmail",
  "status": "Verified",
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "value": "xyz789"
}

WorkPhoneRecordType

Fields
Field Name Description
type - PhoneType!
status - PhoneVerificationStatusType! Use verificationStatus instead
verificationStatus - VerificationStatusType!
updatedAt - ZonedDateTime!
value - String!
Example
{
  "type": "WorkPhone",
  "status": "Verified",
  "verificationStatus": "LikelyAccurate",
  "updatedAt": "2021-10-02T00:00:00.000Z",
  "value": "xyz789"
}

ZonedDateTime

Description

Zoned date time type

Example
"2021-10-02T00:00:00.000Z"