Snov.io Email Finder API

The Email Finder API from Snov.io — 4 operation(s) for email finder.

OpenAPI Specification

snov-email-finder-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Snov.io Authentication Email Finder API
  description: 'Snov.io sales engagement REST API. Authentication uses the OAuth2 client_credentials grant to exchange an API User ID (client_id) and API Secret (client_secret) for a one-hour Bearer access token. Email finder, domain search, and email verification use an asynchronous pattern: a POST to a `/start` endpoint returns a `task_hash`, then a GET to the matching `/result` endpoint retrieves the outcome. Most request bodies are application/x-www-form-urlencoded; a few v2 endpoints accept JSON. The API is rate limited to 60 requests per minute.'
  termsOfService: https://snov.io/terms-and-conditions
  contact:
    name: Snov.io Support
    url: https://snov.io/api
  version: '1.0'
servers:
- url: https://api.snov.io
  description: Snov.io production API
security:
- OAuth2: []
tags:
- name: Email Finder
paths:
  /v2/emails-by-domain-by-name/start:
    post:
      operationId: startEmailsByDomainByName
      tags:
      - Email Finder
      summary: Start finding emails by name and domain
      description: Starts an asynchronous task that finds verified emails for one or more prospects given their first name, last name, and company domain. Returns a task_hash used to retrieve the result. Costs 1 credit per email.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - rows
              properties:
                rows:
                  type: array
                  items:
                    type: object
                    required:
                    - first_name
                    - last_name
                    - domain
                    properties:
                      first_name:
                        type: string
                      last_name:
                        type: string
                      domain:
                        type: string
                webhook_url:
                  type: string
                  format: uri
      responses:
        '200':
          description: Task started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStarted'
  /v2/emails-by-domain-by-name/result:
    get:
      operationId: getEmailsByDomainByNameResult
      tags:
      - Email Finder
      summary: Get emails-by-name result
      parameters:
      - $ref: '#/components/parameters/TaskHashQuery'
      responses:
        '200':
          description: Result payload with found emails and statuses.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /v2/company-domain-by-name/start:
    post:
      operationId: startCompanyDomainByName
      tags:
      - Email Finder
      summary: Start company domain lookup by name
      description: Retrieves a company website domain from a business name. Costs 1 credit per domain found.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - name
              properties:
                name:
                  type: string
      responses:
        '200':
          description: Task started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStarted'
  /v2/company-domain-by-name/result:
    get:
      operationId: getCompanyDomainByNameResult
      tags:
      - Email Finder
      summary: Get company domain lookup result
      parameters:
      - $ref: '#/components/parameters/TaskHashQuery'
      responses:
        '200':
          description: Resolved company domain.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
components:
  schemas:
    TaskStarted:
      type: object
      properties:
        success:
          type: boolean
        task_hash:
          type: string
        status:
          type: string
          example: in_progress
  parameters:
    TaskHashQuery:
      name: task_hash
      in: query
      required: true
      description: The task hash returned by the matching /start endpoint.
      schema:
        type: string
  securitySchemes:
    OAuth2:
      type: oauth2
      description: OAuth2 client_credentials flow. POST client_id and client_secret to /v1/oauth/access_token to obtain a Bearer token, then send it in the Authorization header.
      flows:
        clientCredentials:
          tokenUrl: https://api.snov.io/v1/oauth/access_token
          scopes: {}