Hunter Email Finder API

Find the most likely email address for a person at a company.

OpenAPI Specification

hunter-email-finder-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Hunter Account Email Finder 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: Email Finder
  description: Find the most likely email address for a person at a company.
paths:
  /email-finder:
    get:
      operationId: emailFinder
      summary: Hunter Email Finder
      description: Finds the most likely email address from a domain name, a first name and a last name. You must provide a domain or company, and a name (first/last or full) or LinkedIn handle.
      tags:
      - Email Finder
      parameters:
      - name: domain
        in: query
        description: Domain name of the company. Required if company is not provided.
        schema:
          type: string
        example: stripe.com
      - name: company
        in: query
        description: Company name. Required if domain is not provided.
        schema:
          type: string
      - name: first_name
        in: query
        description: First name of the person. Required with last_name if full_name not provided.
        schema:
          type: string
        example: John
      - name: last_name
        in: query
        description: Last name of the person. Required with first_name if full_name not provided.
        schema:
          type: string
        example: Collison
      - name: full_name
        in: query
        description: Full name of the person. Required if first_name and last_name not provided.
        schema:
          type: string
      - name: linkedin_handle
        in: query
        description: LinkedIn profile handle for the person.
        schema:
          type: string
      - name: max_duration
        in: query
        description: Maximum duration for the request in seconds. Between 3 and 20, default is 10.
        schema:
          type: integer
          minimum: 3
          maximum: 20
          default: 10
      responses:
        '200':
          description: Successful email finder response.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/EmailFinderResult'
                  meta:
                    $ref: '#/components/schemas/Meta'
        '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
    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
    Meta:
      type: object
      properties:
        params:
          type: object
          description: The parameters used in the request.
          example: example_value
    EmailFinderResult:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the person.
          example: example_value
        last_name:
          type: string
          description: Last name of the person.
          example: example_value
        email:
          type: string
          format: email
          description: The found email address.
          example: user@example.com
        score:
          type: integer
          minimum: 0
          maximum: 100
          description: Confidence score for the email.
          example: 10
        domain:
          type: string
          description: The domain name used for the search.
          example: example_value
        position:
          type:
          - string
          - 'null'
          description: Job position or title.
          example: example_value
        company:
          type:
          - string
          - 'null'
          description: Company name.
          example: example_value
        twitter:
          type:
          - string
          - 'null'
          description: Twitter handle.
          example: example_value
        linkedin_url:
          type:
          - string
          - 'null'
          description: LinkedIn profile URL.
          example: https://www.example.com
        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.