LeadIQ Data API

Public GraphQL Data API exposing LeadIQ's verified B2B contact and company intelligence. Supports people search by name + company / domain / LinkedIn URL / email, company search by name or domain, grouped and flat advanced search with ContactFilter and CompanyFilter inputs (industries, titles, seniorities, technologies, geography), prospect list management (createList, addProspectToList), account / usage / plan inspection, the workatoToken query for low-code integration, and submitPersonFeedback / markAsInvalid mutations for closed-loop data correction. Premium data fields (mobile phone) and ProfileFilter inputs (HasWorkEmail, HasVerifiedWorkEmail, HasWorkPhone, HasVerifiedWorkPhone, HasPersonalEmail) gate higher-cost lookups. Authentication is HTTP Basic with the API key as the username and an empty password.

LeadIQ Data API is one of 2 APIs that LeadIQ publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Sales Intelligence, Contact Data, GraphQL, and Prospecting. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, authentication docs, rate-limit docs, pricing, and a support channel.

OpenAPI Specification

leadiq-data-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: LeadIQ Data API
  description: >-
    LeadIQ's public GraphQL Data API for B2B sales intelligence: verified
    contact data, company firmographics, prospect-list management, account
    usage, and closed-loop data feedback. All operations are POSTed to the
    single `/graphql` endpoint with a GraphQL document in the request body.
    Authentication is HTTP Basic with the API key as the username and an
    empty password. Default rate limits are 10 requests/minute on Free and
    60 requests/minute on paid plans, with credit-based metering (1 credit
    per email, 10 credits per phone, 3 credits per account enrichment).
  version: '1.0'
  contact:
    name: LeadIQ API Support
    email: [email protected]
    url: https://developer.leadiq.com/
  license:
    name: LeadIQ Terms of Service
    url: https://leadiq.com/terms
servers:
  - url: https://api.leadiq.com
    description: LeadIQ production API
security:
  - BasicAuth: []
tags:
  - name: GraphQL
    description: Single GraphQL endpoint exposing all LeadIQ queries and mutations.
paths:
  /graphql:
    post:
      tags:
        - GraphQL
      summary: Execute GraphQL Operation
      description: >-
        Execute any LeadIQ GraphQL query or mutation. Supported root queries
        include searchPeople, searchCompany, flatAdvancedSearch,
        groupedAdvancedSearch, account, prospect, list, lists, usage, and
        workatoToken. Supported mutations include createList,
        addProspectToList, submitPersonFeedback, and markAsInvalid.
      operationId: executeGraphQL
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GraphQLRequest'
            examples:
              searchPeople:
                summary: Search People By Name And Company
                value:
                  query: |
                    query SearchPeople($input: SearchPeopleInput!) {
                      searchPeople(input: $input) {
                        totalResults
                        results {
                          name { first last }
                          currentPositions {
                            title
                            companyInfo { name domain }
                            emails { value type status }
                            phones { value type status }
                          }
                          linkedin { linkedinUrl }
                        }
                      }
                    }
                  variables:
                    input:
                      name: { first: Ada, last: Lovelace }
                      company: { name: Analytical Engines }
              searchCompany:
                summary: Search Company By Domain
                value:
                  query: |
                    query SearchCompany($domain: String!) {
                      searchCompany(domain: $domain) {
                        name domain industry numberOfEmployees
                        locationInfo { city country }
                      }
                    }
                  variables:
                    domain: example.com
              groupedAdvancedSearch:
                summary: Grouped Advanced Search By ICP
                value:
                  query: |
                    query Grouped($company: CompanyFilter!, $contact: ContactFilter!) {
                      groupedAdvancedSearch(company: $company, contact: $contact) {
                        totalResults
                        results {
                          company { name domain }
                          contacts { name { first last } currentPositions { title } }
                        }
                      }
                    }
                  variables:
                    company:
                      industries: [Software]
                      countries: [US]
                    contact:
                      titles: [VP Engineering, CTO]
                      seniorities: [VP, CXO]
              createList:
                summary: Create A Prospect List
                value:
                  query: |
                    mutation CreateList($name: String!) {
                      createList(name: $name) { id name }
                    }
                  variables:
                    name: Q3 Enterprise Targets
              submitFeedback:
                summary: Submit Person Feedback
                value:
                  query: |
                    mutation Feedback($input: PersonFeedbackInput!) {
                      submitPersonFeedback(input: $input) { status }
                    }
                  variables:
                    input:
                      personId: abc123
                      field: workEmail
                      reason: bounced
              usage:
                summary: Inspect Account Usage And Plan
                value:
                  query: |
                    query Usage {
                      usage { plan creditsUsed creditsRemaining periodEnd }
                    }
      responses:
        '200':
          description: GraphQL response (errors are reported in the body, not the status code).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GraphQLResponse'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Rate limit exceeded.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  securitySchemes:
    BasicAuth:
      type: http
      scheme: basic
      description: >-
        HTTP Basic authentication. Use your LeadIQ API key as the username and
        leave the password empty. API keys are issued in the LeadIQ dashboard
        under Settings > API Keys.
  schemas:
    GraphQLRequest:
      type: object
      required:
        - query
      properties:
        query:
          type: string
          description: A GraphQL query or mutation document.
        variables:
          type: object
          additionalProperties: true
          description: Variables referenced by the query document.
        operationName:
          type: string
          description: Name of the operation to execute when the document contains multiple.
    GraphQLResponse:
      type: object
      properties:
        data:
          type: object
          additionalProperties: true
          nullable: true
          description: Operation result data, shaped per the query.
        errors:
          type: array
          items:
            $ref: '#/components/schemas/GraphQLError'
        extensions:
          type: object
          additionalProperties: true
    GraphQLError:
      type: object
      properties:
        message:
          type: string
        path:
          type: array
          items:
            type: string
        locations:
          type: array
          items:
            type: object
            properties:
              line: { type: integer }
              column: { type: integer }
        extensions:
          type: object
          additionalProperties: true
    Error:
      type: object
      properties:
        message:
          type: string
        code:
          type: string