LeadIQ Public API Guide

Frame 2147207997 (3).png

Overview

The LeadIQ API is a GraphQL API that lets you search for people and companies, enrich contact data, and manage prospect lists programmatically.

Base URL: https://api.leadiq.com/graphql

All requests are POST with Content-Type: application/json. The Prospector REST API (list management) is at a separate base URL: https://prospector.leadiq.com.

Ready-to-run code samples in Bash, Python, and TypeScript are available at github.com/leadiq/api-samples.


Authentication

Retrieve your API key from Settings → API in the LeadIQ app. Your key is Base64-encoded and must be sent in the Authorization header on every request:

Authorization: Basic <your-base64-api-key>

For the Prospector REST API, pass the decoded key in the X-API-Key header instead.

Note: Never share or commit your API key. Rotate it from the Settings page if it is compromised.

Example — verify your key with the account endpoint:

curl -s -X POST https://api.leadiq.com/graphql \
  -H "Content-Type: application/json" \
  -H "Authorization: Basic $LEADIQ_API_KEY" \
  -d '{
    "query": "query Account { account { plans { name product status nextBillingPeriod } dataHubPlan { name product status nextBillingPeriod available used } universalPlan { name product status nextBillingPeriod available used } } }"
  }'

For a Python example, see python/graphql/01_check_usage.py at github.com/leadiq/api-samples.


Credits (UC Credits)

Most API operations consume UC credits (Universal Credits) from your plan's billing period. Credits reset at the start of each billing period. For a full explanation of how UC credits work, see the Understanding Universal Credits article at https://leadiqhelp.zendesk.com/hc/en-us/articles/32700544948507-Understanding-Universal-Credits.

Data point Credit cost
Email 1 UC
Phone (work or personal) 10 UC
Company information 3 UC
Profile information 0.1 UC

A query only charges for the data points you actually select.

Check your current balance and period cap at any time with the account query (see Check usage below).


Queries

Check usage

Returns your UC credit consumption and cap for the current billing period. Does not consume any credits.

query Account {
  account {
    plans {
      name
      product
      status
      nextBillingPeriod
    }
    dataHubPlan {
      name
      product
      status
      nextBillingPeriod
      available
      used
    }
    universalPlan {
      name
      product
      status
      nextBillingPeriod
      available
      used
    }
  }
}

Sample: bash/graphql/01_check_usage.sh at github.com/leadiq/api-samples


Search for people (enrich)

Finds a person by identifying information and returns their contact data. Charges apply only for the contact fields you request.

query SearchPerson($input: SearchPeopleInput!) {
  searchPeople(input: $input) {
    totalResults
    hasMore
    results {
      id
      name { fullName first last }
      currentPositions {
        title
        seniority
        function
        companyInfo { id name domain }
        emails { value status type }
        phones { value type verificationStatus }
      }
      linkedin { linkedinUrl }
    }
  }
}

Common input fields:

Field Description
linkedinUrl LinkedIn profile URL (most precise identifier)
email Known email address
firstName + lastName + company.domain and/or company.name Name + company combination
id LeadIQ person ID
limit / skip Pagination

Sample: bash/graphql/03_enrich_profiles.sh at github.com/leadiq/api-samples


Advanced search — flat results

Searches for people matching company and contact filters. Returns a flat list of people.

query FlatAdvancedSearch($input: FlatSearchInput!) {
  flatAdvancedSearch(input: $input) {
    totalPeople
    people { id }
  }
}

Sample: bash/graphql/02_advanced_search.sh at github.com/leadiq/api-samples


Advanced search — grouped results

Same filters as flat search, but results are grouped by company.

query GroupedSearch($input: GroupedSearchInput!) {
  groupedAdvancedSearch(input: $input) {
    totalCompanies
    companies {
      totalContactsInCompany
      company { id name domain industry employeeCount }
      people {
        id name title seniority linkedinUrl
      }
    }
  }
}

Search for companies

Looks up company data by domain, name, LinkedIn ID, or LeadIQ company ID.

query SearchCompany($input: SearchCompanyInput!) {
  searchCompany(input: $input) {
    totalResults
    results {
      id
      name
      domain
      industry
      numberOfEmployees
      locationInfo { city areaLevel1 country }
      fundingInfo { fundingTotalUsd lastFundingType }
      technologies { name category }
    }
  }
}

Prospector REST API

The Prospector API manages saved prospect lists. It uses REST rather than GraphQL and authenticates with your decoded API key in the X-API-Key header.

Base URL: https://prospector.leadiq.com

Operation Method Endpoint
Create a list POST /lists
Add prospects to a list POST /lists/{listId}/prospects
Export list to CSV GET /lists/{listId}/export

Samples at github.com/leadiq/api-samples:

  • bash/rest/04_create_prospector_list.sh
  • bash/rest/05_add_prospects_to_list.sh
  • bash/rest/06_export_list_to_csv.sh

Error handling

HTTP status Meaning
200 Success (check for errors in the GraphQL response body)
401 Invalid or missing API key
402 Insufficient credits
429 Rate limit exceeded — back off and retry
500 Server error — contact support if persistent

GraphQL errors are returned in the errors array in the response body even when the HTTP status is 200. Always check for this field.


Full pipeline sample

The full_pipeline script in api-samples chains all six steps — check usage → advanced search → enrich profiles → create list → add prospects → export CSV — into a single end-to-end run.


 

If you have any questions about API, you can reach out to the LeadIQ Support Team by clicking Submit a Request at the top right of this page or email api@leadiq.com 

Previous
Next
29375289152795

Was this article helpful?

0 out of 0 found this helpful