LeadIQ Public API Guide
browse
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 |
|---|---|
| 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) |
| 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