Hunter Discover API

Find companies matching criteria using natural language or filters.

OpenAPI Specification

hunter-discover-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Hunter Account Discover API
  description: Hunter is an email finding and verification service that helps find professional email addresses associated with a domain and verify email deliverability. The API provides domain search, email finder, email verifier, email count, account information, leads management, leads lists, campaigns, discover, enrichment, and logo retrieval capabilities.
  version: 2.0.0
  termsOfService: https://hunter.io/terms
  contact:
    name: Hunter Support
    url: https://hunter.io/contact
    email: support@hunter.io
  license:
    name: Proprietary
    url: https://hunter.io/terms
servers:
- url: https://api.hunter.io/v2
  description: Hunter API v2 Production
security:
- apiKeyQuery: []
- apiKeyHeader: []
- bearerAuth: []
tags:
- name: Discover
  description: Find companies matching criteria using natural language or filters.
paths:
  /discover:
    post:
      operationId: discover
      summary: Hunter Discover Companies
      description: Returns companies matching a set of criteria using natural language queries or robust filters to find companies aligned with your ideal customer profile.
      tags:
      - Discover
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DiscoverRequest'
      responses:
        '200':
          description: Successful discover response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      results:
                        type: array
                        items:
                          $ref: '#/components/schemas/DiscoverResult'
                      filters:
                        type: object
                        description: Applied filters for pagination context.
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
components:
  schemas:
    DiscoverRequest:
      type: object
      properties:
        query:
          type: string
          description: Natural language search query to find matching companies.
          example: example_value
        organization:
          type: object
          description: Filter by organization attributes.
          properties:
            domain:
              type: string
            name:
              type: string
          example: example_value
        headquarters_location:
          type: object
          description: Filter by geographic location of headquarters.
          properties:
            country:
              type: string
            state:
              type: string
            city:
              type: string
          example: example_value
        industry:
          type: object
          description: Filter by industry classification.
          properties:
            include:
              type: array
              items:
                type: string
            exclude:
              type: array
              items:
                type: string
          example: example_value
        headcount:
          type: array
          description: Filter by company headcount ranges.
          items:
            type: string
          example: []
        company_type:
          type: object
          description: Filter by company entity type.
          properties:
            include:
              type: array
              items:
                type: string
            exclude:
              type: array
              items:
                type: string
          example: example_value
        year_founded:
          type: object
          description: Filter by year the company was founded.
          properties:
            min:
              type: integer
            max:
              type: integer
          example: example_value
        technology:
          type: object
          description: Filter by technologies used by the company.
          properties:
            include:
              type: array
              items:
                type: string
            exclude:
              type: array
              items:
                type: string
          example: example_value
        keywords:
          type: object
          description: Filter by business keywords.
          properties:
            include:
              type: array
              items:
                type: string
            exclude:
              type: array
              items:
                type: string
          example: example_value
        funding:
          type: object
          description: Filter by funding information.
          properties:
            stage:
              type: string
            min_amount:
              type: number
            max_amount:
              type: number
          example: example_value
        limit:
          type: integer
          description: Maximum number of results to return.
          example: 10
        offset:
          type: integer
          description: Number of results to skip for pagination.
          example: 10
    PaginationMeta:
      type: object
      properties:
        results:
          type: integer
          description: Total number of results available.
          example: 10
        limit:
          type: integer
          description: Number of results per page.
          example: 10
        offset:
          type: integer
          description: Current offset position.
          example: 10
    Error:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Error identifier code.
              code:
                type: integer
                description: HTTP status code.
              details:
                type: string
                description: Human-readable error message.
          example: []
    DiscoverResult:
      type: object
      properties:
        domain:
          type: string
          description: Domain name of the discovered company.
          example: example_value
        organization:
          type: string
          description: Name of the organization.
          example: example_value
        emails_count:
          type: object
          properties:
            personal:
              type: integer
              description: Number of personal emails found.
            generic:
              type: integer
              description: Number of generic emails found.
            total:
              type: integer
              description: Total emails found.
          example: user@example.com
  responses:
    TooManyRequests:
      description: Usage limit exceeded or rate limited.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Unauthorized:
      description: Invalid or missing API key.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    BadRequest:
      description: Invalid parameters or missing required fields.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apiKeyQuery:
      type: apiKey
      in: query
      name: api_key
      description: API key passed as a query parameter.
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-KEY
      description: API key passed via the X-API-KEY header.
    bearerAuth:
      type: http
      scheme: bearer
      description: API key passed as a Bearer token in the Authorization header.