Hunter Domain Search API

Search for email addresses associated with a domain.

OpenAPI Specification

hunter-domain-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Hunter Account Domain Search 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: Domain Search
  description: Search for email addresses associated with a domain.
paths:
  /domain-search:
    get:
      operationId: domainSearch
      summary: Hunter Domain Search
      description: Returns all the email addresses found using a given domain name, with sources. You must provide either a domain or a company name.
      tags:
      - Domain Search
      parameters:
      - name: domain
        in: query
        description: Domain name from which you want to find the email addresses. Required if company is not provided.
        schema:
          type: string
        example: stripe.com
      - name: company
        in: query
        description: Company name from which you want to find the email addresses. Required if domain is not provided.
        schema:
          type: string
        example: Stripe
      - name: limit
        in: query
        description: Maximum number of email addresses to return. Default is 10.
        schema:
          type: integer
          default: 10
      - name: offset
        in: query
        description: Number of email addresses to skip for pagination. Default is 0.
        schema:
          type: integer
          default: 0
      - name: type
        in: query
        description: Filter by email address type.
        schema:
          type: string
          enum:
          - personal
          - generic
      - name: seniority
        in: query
        description: Filter by seniority level.
        schema:
          type: string
          enum:
          - junior
          - senior
          - executive
      - name: department
        in: query
        description: Filter by department.
        schema:
          type: string
      - name: verification_status
        in: query
        description: Filter by verification status.
        schema:
          type: string
          enum:
          - valid
          - accept_all
          - unknown
      responses:
        '200':
          description: Successful domain search response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DomainSearchResult'
                  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:
  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'
  schemas:
    Source:
      type: object
      properties:
        domain:
          type: string
          description: Domain where the email was found.
          example: example_value
        uri:
          type: string
          format: uri
          description: URL of the source page.
          example: https://www.example.com
        extracted_on:
          type: string
          format: date
          description: Date the email was extracted from the source.
          example: '2026-01-15'
        last_seen_on:
          type: string
          format: date
          description: Date the email was last seen at the source.
          example: '2026-01-15'
        still_on_page:
          type: boolean
          description: Whether the email is still present on the source page.
          example: true
    DomainSearchResult:
      type: object
      properties:
        domain:
          type: string
          description: The domain name searched.
          example: example_value
        disposable:
          type: boolean
          description: Whether the domain is a disposable email service.
          example: true
        webmail:
          type: boolean
          description: Whether the domain is a webmail provider.
          example: true
        accept_all:
          type: boolean
          description: Whether the mail server accepts all email addresses.
          example: true
        pattern:
          type:
          - string
          - 'null'
          description: The email address pattern detected for the domain.
          example: example_value
        organization:
          type: string
          description: The name of the organization associated with the domain.
          example: example_value
        emails:
          type: array
          items:
            $ref: '#/components/schemas/DomainEmail'
          example: user@example.com
    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
    VerificationStatus:
      type: object
      properties:
        date:
          type:
          - string
          - 'null'
          format: date
          description: Date the verification was performed.
          example: '2026-01-15'
        status:
          type:
          - string
          - 'null'
          enum:
          - valid
          - invalid
          - accept_all
          - webmail
          - disposable
          - unknown
          - null
          description: The verification status.
          example: valid
    DomainEmail:
      type: object
      properties:
        value:
          type: string
          format: email
          description: The email address.
          example: example_value
        type:
          type: string
          enum:
          - personal
          - generic
          description: Whether the email is personal or generic.
          example: personal
        confidence:
          type: integer
          minimum: 0
          maximum: 100
          description: Confidence score for the email address.
          example: 10
        first_name:
          type:
          - string
          - 'null'
          description: First name of the person.
          example: example_value
        last_name:
          type:
          - string
          - 'null'
          description: Last name of the person.
          example: example_value
        position:
          type:
          - string
          - 'null'
          description: Job position or title.
          example: example_value
        seniority:
          type:
          - string
          - 'null'
          description: Seniority level.
          example: example_value
        department:
          type:
          - string
          - 'null'
          description: Department within the organization.
          example: example_value
        linkedin:
          type:
          - string
          - 'null'
          description: LinkedIn profile URL.
          example: example_value
        twitter:
          type:
          - string
          - 'null'
          description: Twitter handle.
          example: example_value
        phone_number:
          type:
          - string
          - 'null'
          description: Phone number.
          example: example_value
        verification:
          $ref: '#/components/schemas/VerificationStatus'
        sources:
          type: array
          items:
            $ref: '#/components/schemas/Source'
          example: []
    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: []
  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.