Snov.io Domain Search API

The Domain Search API from Snov.io — 9 operation(s) for domain search.

OpenAPI Specification

snov-domain-search-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Snov.io Authentication Domain Search 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: Domain Search
paths:
  /v2/domain-search/start:
    post:
      operationId: startDomainSearch
      tags:
      - Domain Search
      summary: Start a domain search
      description: Starts a company info and prospect search by domain. Costs 1 credit per unique request.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - domain
              properties:
                domain:
                  type: string
                webhook_url:
                  type: string
                  format: uri
      responses:
        '200':
          description: Task started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStarted'
  /v2/domain-search/result/{task_hash}:
    get:
      operationId: getDomainSearchResult
      tags:
      - Domain Search
      summary: Get domain search result
      parameters:
      - $ref: '#/components/parameters/TaskHashPath'
      responses:
        '200':
          description: Company information for the domain.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /v2/domain-search/prospects/start:
    post:
      operationId: startDomainProspects
      tags:
      - Domain Search
      summary: Start prospect profile search for a domain
      description: Finds prospect profiles for a domain with optional job position filters. Costs 1 credit per unique request and 1 credit per prospect with email.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - domain
              properties:
                domain:
                  type: string
                positions:
                  type: string
                  description: Comma-separated job positions to filter by.
      responses:
        '200':
          description: Task started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStarted'
  /v2/domain-search/prospects/result/{task_hash}:
    get:
      operationId: getDomainProspectsResult
      tags:
      - Domain Search
      summary: Get domain prospects result
      parameters:
      - $ref: '#/components/parameters/TaskHashPath'
      responses:
        '200':
          description: Prospect profiles for the domain.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /v2/domain-search/domain-emails/start:
    post:
      operationId: startDomainEmails
      tags:
      - Domain Search
      summary: Start domain emails search
      description: Searches for unverified email addresses from a company domain. Costs 1 credit per unique request.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - domain
              properties:
                domain:
                  type: string
      responses:
        '200':
          description: Task started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStarted'
  /v2/domain-search/domain-emails/result/{task_hash}:
    get:
      operationId: getDomainEmailsResult
      tags:
      - Domain Search
      summary: Get domain emails result
      parameters:
      - $ref: '#/components/parameters/TaskHashPath'
      responses:
        '200':
          description: Emails found for the domain.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /v2/domain-search/generic-contacts/start:
    post:
      operationId: startGenericContacts
      tags:
      - Domain Search
      summary: Start generic contacts search
      description: Finds generic company email addresses (orders@, sales@, info@). Costs 1 credit per unique request.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - domain
              properties:
                domain:
                  type: string
      responses:
        '200':
          description: Task started.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskStarted'
  /v2/domain-search/generic-contacts/result/{task_hash}:
    get:
      operationId: getGenericContactsResult
      tags:
      - Domain Search
      summary: Get generic contacts result
      parameters:
      - $ref: '#/components/parameters/TaskHashPath'
      responses:
        '200':
          description: Generic contacts found for the domain.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
  /v1/get-domain-emails-count:
    post:
      operationId: getDomainEmailsCount
      tags:
      - Domain Search
      summary: Get domain emails count (free)
      description: Returns the total count of emails available for a domain without consuming credits.
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              required:
              - domain
              properties:
                domain:
                  type: string
      responses:
        '200':
          description: Email count for the domain.
          content:
            application/json:
              schema:
                type: object
                additionalProperties: true
components:
  parameters:
    TaskHashPath:
      name: task_hash
      in: path
      required: true
      description: The task hash returned by the matching /start endpoint.
      schema:
        type: string
  schemas:
    TaskStarted:
      type: object
      properties:
        success:
          type: boolean
        task_hash:
          type: string
        status:
          type: string
          example: in_progress
  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: {}