Snov.io API

Функции нашей платформы доступны в простом интерфейсе REST API. Интегрируйте ваш проект со Snov.io API для синхронизации лидов и управления контактами. Snov.io API позволяет получить список email-адресов с определенного домена, найти email-адреса по имени или домену, проверить email-адреса на валидность, добавить контакты в список, изменить статус получателя и многое другое.

Обратите внимание, что пропускная способность API — 60 запросов в минуту.

Аутентификация

Для аутентификации будущих запросов необходимо сгенерировать токен доступа. Отправляя запрос, укажите токен доступа в поле авторизации.

Authorization: Bearer QSlHffXmCAILIOHNGXToq4LsP2yX64VQhEBZ7Ei4

Вот пример генерации токена.

Запрос
POSThttps://api.snov.io/v1/oauth/access_token
Входящие параметры
grant_type
Всегда
client_credentials
client_id
Узнать ваш id можно в настройках аккаунта https://app.snov.io/api-setting
client_secret
Узнать секретный ключ можно в настройках аккаунта https://app.snov.io/api-setting
Примеры кода
<?php
function getAccessToken()
{
    $params = [
        'grant_type'    => 'client_credentials',
        'client_id'     => 'c57a0459f6t141659ea75cccb393c5111',
        'client_secret' => '77cbf92b71553e85ce3bfd505214f40b'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/oauth/access_token',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res['access_token'];

}
?>
def get_access_token():
params = {
    'grant_type':'client_credentials',
    'client_id':'c57a0459f6t141659ea75cccb393c111',
    'client_secret': '77cbf92b71553e85ce3bfd505214f40b'
}

res = requests.post('https://api.snov.io/v1/oauth/access_token', data=params)
resText = res.text.encode('ascii','ignore')

return json.loads(resText)['access_token']
Ответ
{
"access_token":"3yUyQZdks0Ej7T2fXzjUWzwlTcO4dWisKkeMpESz",
"token_type":"Bearer",
"expires_in":3600
}
Параметры ответа
access_token
Ваш новый токен доступа.
token_type
Всегда Bearer
expires_in
Срок действия токена (в секундах).

Методы API

GETПоиск по домену V.2

1 кредит за 10 адресов/контактов

Укажите доменное имя, и Snov.io предоставит вам все email-адреса, найденные на этом домене.

Если в нашей базе данных есть дополнительная информация о человеке, которому принадлежит email-адрес, она также будет добавлена.

На каждый запрос возвращается до 100 адресов. Запрос, по которому не вернулся хотя бы один адрес, не оплачивается.

Запрос
GEThttps://api.snov.io/v2/domain-emails-with-info
Входящие параметры
domain
Имя домена, на котором вы хотите найти email-адреса. Например, snov.io.
type
Может содержать разные значения:
all
,
personal
или
generic
. Общий адрес электронной почты связан с функцией сотрудников, которые его используют, например contact@snov.io.

Личный адрес электронной почты — это адрес конкретного сотрудника компании.

limit
Используйте это поле, чтобы указать количество адресов, которые хотите получить. Каждый запрос возвращает до 100 адресов.
lastId
Чтобы собрать больше email-адресов, чем указано во входящем параметре Limit, в следующем запросе укажите id последнего собранного адреса из предыдущего запроса. Таким образом, ранее собранные email-адреса будут пропущены.
Обратите внимание, что параметр lastId — обязателен. Значение по умолчанию —
0
.
position
Используйте этот критерий для фильтрации лидов по должности. Например, «Software Developer».
Примеры кода
<?php
function getDomainSearch()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
        'type'         => 'all',
        'limit'        => 100,
        'lastId'       => 0
    ];

    $params = http_build_query($params);
    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v2/domain-emails-with-info?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_domain_search():
token = get_access_token()
params = {
  'access_token': token,
  'domain': 'octagon.com',
  'type': 'all',
  'limit': 100,
  'lastId': 0
}

res = requests.get('https://api.snov.io/v2/domain-emails-with-info', params=params)

return json.loads(res.text)
Ответ
{
  "success": true,
  "domain": "octagon.com",
  "webmail": false,
  "result": 84,
  "lastId": 1823487525,
  "limit": 100,
  "companyName": "Octagon",
  "emails": [
      {
      "email": "ben.gillespie@octagon.com",
      "firstName": "Ben",
      "lastName": "Gillespie",
      "position": "Senior Account Executive",
      "sourcePage": "https://www.linkedin.com/pub/ben-gillespie/7/73/809",
      "companyName": "Octagon",
      "type": "prospect",
      "status": "verified"
      }
    ]
}
Параметры ответа
domain
Имя домена, для которого API нашел email-адреса.
webmail
Будет
true
если домен, который вы выбрали, используется службой электронной почты.
result
Количество email-адресов, найденных нами для этого домена. Мы не можем предоставить результаты для сайтов электронной почты, потому для них результат всегда
0
.
limit
Максимальное количество адресов, возвращенных в ответ на запрос.
companyName
Название компании, использованное для поиска адресов.
emails
Адреса с домена, найденные при поиске.
email
Конкретный адрес электронной почты, полученный в результате поиска.
type
Может иметь значения
prospect
или
email
. Если возвращенное значение
prospect
, значит Snov.io нашел дополнительную информацию о владельце email-адреса.
status
Статус проверки email-адреса. Может быть
verified
или
notVerified
.
firstName
Имя владельца email-адреса.
lastName
Фамилия владельца email-адреса.
position
Должность, которую владелец email-адреса занимает в настоящий момент.
sourcePage
Страница, на которой были найдены персональные данные.
lastId
Id последнего собранного email-адреса из предыдущего ответа.

POSTПодсчет адресов

Бесплатно

Этот метод API позволяет узнать, какое количество email-адресов с определенного домена содержится в нашей базе данных. Услуга абсолютно бесплатна, кредиты не используются.

Запрос
POSThttps://api.snov.io/v1/get-domain-emails-count
Входящие параметры
domain
Имя домена, количество адресов с которого вы хотите узнать.
Примеры кода
<?php
function getEmailCount()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-domain-emails-count',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_email_count():
token = get_access_token()
params = {'access_token':token,
        'domain':'octagon.com'

}

res = requests.post('https://api.snov.io/v1/get-domain-emails-count', data=params)

return json.loads(res.text)
Ответ
{
"success":true,
"domain":"octagon.com",
"webmail":false,
"result":1369
}
Параметры ответа
domain
Имя домена, количество адресов с которого вы хотите узнать.
webmail
Будет
true
если домен, который вы выбрали, является сайтом электронной почты.
result
Общее количество email-адресов, найденных нами для этого домена. Мы не можем предоставить результаты для сайтов электронной почты, потому для них результат всегда
0
.

POSTПоиск адресов

Бесплатно

Этот метод API ищет адреса по имени и фамилии человека и доменному имени. Если адреса нет в нашей базе данных, мы не сможем сразу же предоставить вам результаты поиска. Чтобы ускорить процесс, используйте метод «Добавить имена для поиска адресов», чтобы отправить адрес на проверку. После чего воспользуйтесь инструментом «Поиск адресов» еще раз.

Запрос
POSThttps://api.snov.io/v1/get-emails-from-names
Входящие параметры
firstName
Имя владельца email-адреса.
lastName
Фамилия владельца email-адреса.
domain
Доменное имя компании, использованное в адресе электронной почты.
Примеры кода
<?php
function getEmailFinder()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
        'firstName'    => 'gavin',
        'lastName'     => 'vanrooyen'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-from-names',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_email_finder():
token = get_access_token()
params = {'access_token':token,
          'domain':'octagon.com',
          'firstName': 'gavin',
          'lastName':'vanrooyen'
}

res = requests.post('https://api.snov.io/v1/get-emails-from-names', data=params)

return json.loads(res.text)
Ответ
{
"success":true,
"params":{
"firstName":"gavin",
"lastName":"vanrooyen",
"domain":"octagon.com"
},
"data":{
"firstName":"gavin",
"lastName":"vanrooyen",
"emails":[
{
"email":"Gavin@octagon.com",
"emailStatus":"valid"
}
]
},
"status":{
"identifier":"complete",
"description":"Emails search is completed"
}
}
Параметры ответа
status
Используйте значения этого объекта, чтобы определить статус процесса.
identifier
Может содержать следующие значения:
complete
,
in_progress
, или
not_found1
 . При идентификаторе
not_found
  ответ не будет содержать email-адреса.
description
Текстовое описание статуса поиска адреса.
data
Содержит результаты поиска.
firstName
Имя владельца email-адреса.
lastName
Фамилия владельца email-адреса.
emails
Массив адресов электронной почты и их статусов. Значение
emailStatus
может содержать:
valid
или
unknown
.

POSTДобавить имена для поиска адресов

1 кредит за запрос

Если Snov.io не находит искомые адреса в своей базе данных и не может их найти с помощью инструмента Поиск адресов, можно попробовать отправить запрос на поиск адреса, используя этот метод. Если адрес найден, вы можете получить его с помощью бесплатного повторного запроса в инструменте Поиск адресов.

Запрос
POSThttps://api.snov.io/v1/add-names-to-find-emails
Запрос
firstName
Имя владельца email-адреса.
lastName
Фамилия владельца email-адреса.
domain
Доменное имя компании, использованное в адресе электронной почты.
Примеры кода
<?php
function getAddNamesToFindEmails()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'domain'       => 'octagon.com',
        'firstName'    => 'gavin',
        'lastName'     => 'vanrooyen'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-names-to-find-emails',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def add_names_to_find_emails():
token = get_access_token()
params = {'access_token':token,
          'domain':'octagon.com',
          'firstName': 'gavin',
          'lastName':'vanrooyen'
}

res = requests.post('https://api.snov.io/v1/add-names-to-find-emails', data=params)

return json.loads(res.text)
Ответ
{
"success":true,
"firstName":"gavin",
"lastName":"vanrooyen",
"domain":"octagon.com",
"userId":666871,
"sent":true
}

Если адрес электронной почты добавлен в очередь, метод вернет"sent":true.

POSTДобавить ссылку на профиль для поиска контакта

1 кредит за запрос

Находите контакты по профилям в соцсетях. Для дальнейшего получения результатов поиска применяйте метод «Собрать контакт по ссылке на профиль».

Запрос
POSThttps://api.snov.io/v1/add-url-for-search
Входящие параметры
url
Ссылка на профиль контакта в соцсетях. Укажите название социальной сети в [таких скобках] (LinkedIn или Twitter).
Примеры кода
<?php
function addUrlForSearch()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'url'          => 'https://www.linkedin.com/in/johndoe/&social'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-url-for-search',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def add_url_for_search():
token = get_access_token()
params = {'access_token':token,
          'url':'https://www.linkedin.com/in/elie-ohayon-aaab7341'
}

res = requests.post('https://api.snov.io/v1/add-url-for-search', data=params)

return json.loads(res.text)
Ответ
{
  "success": true
}
Параметры ответа
success
Будет
true
, если контакт был добавлен в поисковый список.
message
При добавлении контакта в список возникла ошибка.

POSTСобрать контакт по ссылке на профиль

Бесплатно

После использования метода «Добавить ссылку на профиль для поиска контакта», используйте этот метод для получения полной найденной информации о нем включая адрес электронной почты.

Запрос
POSThttps://api.snov.io/v1/get-emails-from-url
Входящие параметры
url
Ссылка на профиль контакта в соцсетях. Укажите название социальной сети в [таких скобках] (LinkedIn или Twitter).
Примеры кода
<?php
function getEmailsFromUrl()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'url'          => 'https://www.linkedin.com/in/john-doe-123456/'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-from-url',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_emails_from_url():
token = get_access_token()
params = {'access_token':token,
          'url':'https://www.linkedin.com/in/elie-ohayon-aaab7341'
}

res = requests.post('https://api.snov.io/v1/get-emails-from-url', data=params)

return json.loads(res.text)
Ответ
{
  "success": true,
  "data": [
    {
      "id": "xusD3-T_K5IktGoaa8Jc8A==",
      "name": "Gavin Vanrooyen",
      "firstName": "John",
      "lastName": "Doe",
      "sourcePage": "https://www.linkedin.com/in/john-doe-123456/",
      "source": "linkedIn",
      "industry": "Entertainment",
      "country": "United States",
      "locality": "Greater Atlanta Area",
      "lastUpdateDate": {
        "date": "2019-09-11 12:37:58.000000",
        "timezone_type": 3,
        "timezone": "UTC"
      },
      "currentJob": [
        {
          "companyName": "Octagon",
          "position": "Senior Brand Director",
          "socialLink": "https:\/\/www.linkedin.com\/company\/659333",
          "site": "http:\/\/octagon.com",
          "locality": "United States",
          "state": null,
          "city": null,
          "street": null,
          "street2": null,
          "postal": null,
          "founded": null,
          "startDate": "2018-07-31",
          "endDate": null,
          "size": "1-10",
          "industry": "Entertainment",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
      "previousJob": [
        {
          "companyName": "UPS",
          "position": "Manager, Sponsorships and Events",
          "socialLink": "https:\/\/www.linkedin.com\/company\/1523574",
          "site": "http:\/\/www.ups.com\/",
          "locality": "United States",
          "state": "GA",
          "city": "Atlanta",
          "street": "55 Glenlake Parkway, NE",
          "street2": null,
          "postal": "30328",
          "founded": "1907",
          "startDate": null,
          "endDate": null,
          "size": "10001+",
          "industry": "Logistics and Supply Chain",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
        "social": [],
        "emails": [
            {
                "email": "johndoe@octagon.com",
                "status": "valid"
            }
        ]
    }
  ]
}
Параметры ответа
success
Будет
true
, если контакт найден.
id
Уникальный идентификатор профиля.
name
Полное имя контакта.
firstName
Имя контакта.
lastName
Фамилия контакта.
industry
Отрасль, указанная в профиле контакта.
country
Страна контакта.
locality
Местоположение контакта.
skills
Навыки контакта.
social
Ссылки на профили контакта в соцсетях.
currentJobs
Массив содержит информацию о текущей должности контакта.
previousJobs
Массив содержит информацию о предыдущих должностях контакта.
lastUpdateDate
Дата последнего обновления профиля.
emails
Email-адрес контакта и его актуальный статус.

POSTНайти профиль по адресу

1 кредит за запрос

Укажите адрес электронной почты, и Snov.io вернет всю связанную с владельцем адреса информацию, которая есть в нашей базе данных.

Если нам не удастся найти информацию о владельце адреса в нашей базе данных, оплата за запрос не снимется.

Запрос
POSThttps://api.snov.io/v1/get-profile-by-email
Входящие параметры
email
Адрес электронной почты, принадлежащей лицу, дополнительную информацию о котором вы хотите найти.
Примеры кода
<?php
function getProfileByEmail()
{
    $token = getAccessToken();

    $params = [
        'access_token'    => $token,
        'email'           => 'gavin.vanrooyen@octagon.com'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-profile-by-email',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def get_profile_by_email():
token = get_access_token()
params = {'access_token':token,
        'email':'gavin.vanrooyen@octagon.com'
}

res = requests.post('https://api.snov.io/v1/get-profile-by-email', data=params)

return json.loads(res.text)
Ответ
{
"success": true,
"id": 301592,
"source": "linkedIn",
"name": "Lizi Hamer",
"firstName": "Lizi",
"lastName": "Hamer",
"logo": "https://app.snov.io/img/peoples/010fcf23c70dfa68d880545ec89a9215.jpg",
"industry": null,
"country": "Singapore",
"locality": "Singapore",
"social": [
    {
        "link": "https://www.linkedin.com/in/lizihamer/",
        "type": "linkedIn"
    },
    {
        "link": "https://twitter.com/LiziHamer",
        "type": "twitter"
    }
],
"currentJobs": [
    {
        "companyName": "Octagon",
        "position": "Regional Creative Director",
        "socialLink": "https://www.linkedin.com/company/165282",
        "site": "www.octagon.com",
        "locality": "Greater New York City Area",
        "state": "Connecticut",
        "city": "Stamford",
        "street": "290 Harbor Dr",
        "street2": "2nd Floor",
        "postal": "06902",
        "founded": "1983",
        "startDate": "2016-01-31",
        "endDate": null,
        "size": "1-10",
        "industry": "Marketing and Advertising",
        "companyType": "Public Company",
        "country": "United States"
    },
    {
        "companyName": "SisuGirls",
        "position": "Co Founder",
        "socialLink": "https://www.linkedin.com/company/3841118",
        "site": "http://www.sisugirls.org",
        "locality": null,
        "state": "SG",
        "city": "Singapore",
        "street": "33-03 Hong Leong Building",
        "street2": null,
        "postal": null,
        "founded": "2014",
        "startDate": "2015-07-31",
        "endDate": null,
        "size": "1-10",
        "industry": "Health, Wellness and Fitness",
        "companyType": null,
        "country": "Singapore"
    }
],
"previousJobs": [
    {
        "companyName": "Fusion Co-innovation Labs",
        "position": "Creative Entrepreneur",
        "socialLink": null,
        "site": null,
        "locality": null,
        "state": null,
        "city": null,
        "street": null,
        "street2": null,
        "postal": null,
        "founded": null,
        "startDate": "2013-05-31",
        "endDate": "2013-10-31",
        "size": null,
        "industry": null,
        "companyType": null,
        "country": null
    },
    {
        "companyName": "Russell Commission",
        "position": "Youth Advisory Board Member",
        "socialLink": null,
        "site": null,
        "locality": null,
        "state": null,
        "city": null,
        "street": null,
        "street2": null,
        "postal": null,
        "founded": null,
        "startDate": "2004-06-30",
        "endDate": "2006-06-30",
        "size": null,
        "industry": null,
        "companyType": null,
        "country": null
    }
],
"lastUpdateDate": "2018-02-07 10:12:28"
}
Параметры ответа
id
Уникальный идентификатор профиля.
source
Источник полученных персональных данных.
name
Полное имя владельца email-адреса.
firstName
Имя.
lastName
Фамилия.
logo
Аватар профиля.
industry
Отрасль, указанная в источнике данных.
country
Страна, указанная в источнике данных.
locality
Местоположение, указанное в источнике данных.
social
Ссылки на профили в соцсетях.
currentJobs
Массив, который содержит информацию о текущей должности лица.
previousJobs
Массив, который содержит информацию о предыдущих должностях лица.
lastUpdateDate
Дата последнего обновления профиля в базе данных.

POSTПроверка адресов

Бесплатно

Убедитесь, что полученные адреса электронной почты действительны и письмо, отправленное по ним, может быть доставлено. Конечная точка API вернет результаты проверки адреса. Если мы не проверяли этот email-адрес ранее, API вернет идентификатор «not_verified», и кредиты за такой адрес не снимутся. Используйте метод Добавить адреса для проверки, чтобы передать этот адрес на проверку, после чего вы сможете получить результаты проверки, используя эту конечную точку.

Запрос
POSThttps://api.snov.io/v1/get-emails-verification-status
Входящие параметры
emails
Email-адреса, которые нужно проверить.
Примеры кода
<?php
function getEmailVerifier()
{
    $token = getAccessToken();
    $emails = ['gavin.vanrooyen@octagon.com', 'lizi.hamer@octagon.com'];

    $emailsQuery = http_build_query(
        [
            'emails' => $emails
        ]
    );
    $params = ['access_token' => $token];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-verification-status?' . $emailsQuery,
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def get_email_verifier():
token = get_access_token()
params = {'access_token':token,
}

res = requests.post('https://api.snov.io/v1/get-emails-verification-status?emails[]=gavin.vanrooyen@octagon.com&emails[]=lizi.hamer@octagon.com', data=params)

return json.loads(res.text)
Ответ
{
"success":true,
"gavin.vanrooyen@octagon.com":{
"status":{
"identifier":"not_verified",
"description":"Email is not verified, try to send it for verification"
},
"data":[
]
},
"lizi.hamer@octagon.com":{
"data":{
"email":"lizi.hamer@octagon.com",
"isValidFormat":true,
"isDisposable":false,
"isWebmail":true,
"isGibberish":false,
"smtpStatus":"valid"
},
"status":{
"identifier":"complete",
"description":"Email verification is completed"
}
}
}

Этот метод вернет данные по каждому адресу, указанному в запросе. Ответ содержит статус и результаты проверки адреса.

Параметры ответа
status
Статус проверки адреса. Содержит идентификатор и описание.
identifier
Может содержать следующие значения:
complete
,
in_progress
, или
not_verified
.. Если идентификатор
not_verified
,
data
будет пустым.
description
В этом поле будет текстовое описание статуса проверки.
data
Содержит дополнительную информацию о результатах проверки:
email
,
isValidFormat
,
isWebmail
,
isGibberish
.
email
Email-адрес, который проверялся.
isValidFormat
Будет
true
, если формат адреса правильный, то есть содержит допустимые символы в правильном порядке.
isDisposable
Будет
true
, если установлено, что адрес предоставлен одноразовой службой электронной почты.
isWebmail
Будет
true
, если адрес предоставлен службой электронной почты.
isGibberish
Будет
true
, если адрес сгенерирован автоматически.
smtpStatus
Возможные ответы:
valid
,
not_valid
,
greylisted
или
unknown
(непроверяемый). Вы можете узнать больше об email-статусах здесь.
Если smtpStatus
greylisted
, это значит, что мы временно не можем верифицировать этот email-адрес, но продолжим попытки.
Вы можете повторно отправить этот запрос API после небольшой паузы (как правило, от 15 минут до 1 часа), чтобы получить корректные результаты.
Обратите внимание, что мы не снимаем плату за статус
greylisted
до того момента, пока не сможем точно определить SMTP-статус как
valid
или
not_valid
.

POSTДобавить адреса для проверки

0,5 кредита за адрес

Если вы проверяете адрес в первый раз, отправьте его на проверку при помощи этого метода API. Сделав это, вы получите результаты проверки в инструменте Проверка адресов.

Запрос
POSThttps://api.snov.io/v1/add-emails-to-verification
Входящие параметры
emails
Список адресов, которые необходимо добавить в очередь на проверку. Каждый запрос может содержать до 10 адресов.
Примеры кода
<?php
function addEmailsForVerification()
{
    $token = getAccessToken();
    $emails = ['gavin.vanrooyen@octagon.com', 'lizi.hamer@octagon.com'];

    $emailsQuery = http_build_query(
        [
            'emails' => $emails
        ]
    );
    $params = ['access_token' => $token];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-emails-to-verification?' . $emailsQuery,
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def add_emails_for_verification():
token = get_access_token()
params = {'access_token': token
}

res = requests.post('https://api.snov.io/v1/add-emails-to-verification?emails[]=gavin.vanrooyen@octagon.com&emails[]=lizi.hamer@octagon.com', data=params)

return json.loads(res.text)
Ответ
{
"success":true,
"gavin.vanrooyen@octagon.com":{
"sent":true
},
"lizi.hamer@octagon.com":{
"sent":true
}
}

Если адрес электронной почты добавлен в очередь, метод вернет "sent":true.

POSTИзменить статус получателя

Бесплатно

Измените статус получателя конкретной рассылки.

Запрос
POSThttps://api.snov.io/v1/change-recipient-status
Входящие параметры
email
*обязательный
Адрес электронной почты контакта.
campaign_id
*обязательный
Id рассылки. Его можно увидеть в адресной строке при просмотре информации о рассылке (показать пример).
status
*обязательный
Новый статус получателя. Возможные статусы: «Active», «Paused», «Finished», «Unsubscribed», «Auto-replied», «Replied», «Replied from another email». Если получателю присвоен статус «Finished» или «Moved», такой статус изменить нельзя.
Примеры кода
<?php
function changeRecipientStatus()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'email'       => 'gavin.vanrooyen@octagon.com',
        'campaign_id'    => '179025',
        'status'     => 'Paused'
    ];


    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/change-recipient-status',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);

    return $res;

}
?>
def change_recipient_status():
token = get_access_token()
params = {'access_token':token,
          'email':'gavin.vanrooyen@octagon.com',
          'campaign_id': '179025',
          'status':'Paused'
}

res = requests.post('https://api.snov.io/v1/change-recipient-status', data=params)

return json.loads(res.text)
Ответ
{
  "success": true
}
Параметры ответа

Метод вернет success: true, если статус контакта был изменен. В случае ошибки метод вернет success: false с описанием ошибки.

GETСписок контактов, для которых рассылка завершена

Бесплатно

Этот метод возвращает список контактов, для которых рассылка завершена.

Запрос
GEThttps://api.snov.io/v1/prospect-finished
Входящие параметры
campaignId
*обязательный
Уникальный id рассылки для просмотра списка получателей.
Примеры кода
<?php
function finishedProspects()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/prospect-finished?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/prospect-finished', data=params)

return json.loads(res.text)
Ответ
[
    {
        "id": "88c268d404797d1001b4d72806207625",
        "prospectId": "9c2eb5b46bb5873e408684dd577d002354e4f7026f47bf8a592d659bba3d2dd0ff186b90dc7a5",
        "userName": "zach Jones",
        "userEmail": "zach@entselect.us",
        "campaign": "Zipari - Salesforce Developer",
        "hash": "f3967971cbab6e769b5f7e3457d00159"
    }
]
Параметры ответа
id
Уникальный id запроса.
prospectId
Уникальный id контакта.
userName
Полное имя получателя.
userEmail
Email-адрес получателя.
campaign
Название рассылки.

GETПросмотр ответов на рассылку

Бесплатно

Этот метод возвращает информацию об ответах на письма со всеми данными, в том числе именем контакта, id, названием рассылки и др.

Запрос
GEThttps://api.snov.io/v1/get-emails-replies
Входящие параметры
campaignId
*обязательный
Уникальный id рассылки для просмотра ответов.
Примеры кода
<?php
function campaignReplies()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-replies?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/get-emails-replies', data=params)

return json.loads(res.text)
Ответ
[
    {
        "visitedAt": {
            "date": "2020-07-14 13:10:46.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "campaignId": 1234567,
        "campaign": "My top campaign",
        "prospectId": "7a941739b09f1187532d52a684df545f3a223e432c7f53662264db8d33db80ee5fc19e573416a",
        "prospectFirstName": "John",
        "prospectLastName": "Doe",
        "prospectName": "John Doe",
        "sourcePage": null,
        "source": "copy",
        "locality": null,
        "industry": "Airlines/Aviation",
        "country": null,
        "prospectEmail": "Johndoe@snov.io",
        "hash": "6745f8162ecadbe325693345d1a53976",
        "emailSubject": "\"Special content for you\"",
        "emailBody": "\"<\p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<\/p>\"",
        "skills": "",
        "links": null,
        "customFields": null,
        "id": "f676edc5de58f341dc7bf4e75c0c8580",
        "customField_fdfd": "",
        "customField_рпа": ""
    }
]
Параметры ответа
campaignId
Уникальный id рассылки.
campaign
Название рассылки.
prospectName
Полное имя получателя.
emailSubject
Тема письма, на которое был получен ответ.
emailBody
Текст письма, на которое был получен ответ.

GETИнформация об открытиях писем в рассылке

Бесплатно

Этот метод показывает информацию об открытых письмах в рассылке.

Запрос
GEThttps://api.snov.io/v1/get-emails-opened
Входящие параметры
campaignId
*обязательный
Уникальный id рассылки, для которой вы хотите просмотреть открытия.
Примеры кода
<?php
function emailsOpen()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-opened?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/get-emails-opened', data=params)

return json.loads(res.text)
Ответ
[
    {
        "visitedAt": {
            "date": "2020-01-08 21:48:14.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "campaignId": 1234567
        "campaign": "My top campaign",
        "prospectId": "a9e58c3eecff94e617815a90ca412c4c305045102be1312b41fd0073c9c9f3eee30e090bbc3e3",
        "prospectFirstName": "John",
        "prospectLastName": "Doe",
        "prospectName": "John Doe",
        "sourcePage": null,
        "source": "copy",
        "locality": null,
        "industry": null,
        "country": null,
        "prospectEmail": "Johndoe@snov.io",
        "hash": "20b1aeb0e2949fdf7e58363f84b7aff1",
        "emailSubject": "\"Special content for you\"",
        "emailBody": "\"<\p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<\/p>\"",
	"skills": "",
        "links": null,
        "customFields": null,
        "id": "c2a67a47d59745f548ea7b0213c3a81d",
        "customField_Phone": ""
    }
]
Параметры ответа
campaignId
Уникальный id рассылки.
campaign
Название рассылки.
prospectName
Полное имя получателя, открывшего письмо.
emailSubject
Тема открытого письма.
visitedAt
Точное время открытия письма.

GETПроверка переходов по ссылкам

Бесплатно

Этот метод возвращает информацию о всех получателях в рассылке, которые перешли по ссылке в одном или более письме.

Запрос
GEThttps://api.snov.io/v1/get-emails-clicked
Входящие параметры
campaignId
*обязательный
Уникальный id рассылки, в которой вы хотите просмотреть переходы по ссылкам.
Примеры кода
<?php
function emailsClicked()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-emails-clicked?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/get-emails-clicked', data=params)

return json.loads(res.text)
Ответ
[
    {
        "visitedAt": {
            "date": "2020-01-08 21:48:14.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "campaignId": 1234567
        "campaign": "My top campaign",
        "prospectId": "a9e58c3eecff94e617815a90ca412c4c305045102be1312b41fd0073c9c9f3eee30e090bbc3e3",
        "prospectFirstName": "John",
        "prospectLastName": "Doe",
        "prospectName": "John Doe",
        "sourcePage": null,
        "source": "copy",
        "locality": null,
        "industry": null,
        "country": null,
        "prospectEmail": "Johndoe@snov.io",
        "hash": "20b1aeb0e2949fdf7e58363f84b7aff1",
        "emailSubject": "\"Special content for you\"",
        "emailBody": "\"<\p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.<\/p>\"",
	"skills": "",
        "links": null,
        "customFields": null,
        "id": "c2a67a47d59745f548ea7b0213c3a81d",
        "customField_Phone": ""
    }
]
Параметры ответа
campaignId
Уникальный id рассылки.
campaign
Название рассылки.
prospectName
Полное имя получателя, перешедшего по ссылке в письме.
prospectEmail
Email-адрес получателя.
emailSubject
Тема письма, в котором был совершен переход по ссылке.
emailBody
Текст письма.
visitedAt
Точное время перехода по ссылке в письме.

GETПросмотр отправленных писем

Бесплатно

Этот метод показывает информацию об отправленных письмах в рамках указанной рассылки.

Запрос
GEThttps://api.snov.io/v1/emails-sent
Входящие параметры
campaignId
*обязательный
Уникальный id рассылки, в которой вы хотите просмотреть отправленные письма.
Примеры кода
<?php
function emailsSended()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'campaignId'   => 1234567
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/emails-sent?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/emails-sent', data=params)

return json.loads(res.text)
Ответ
[
    {
        "sentDate": {
            "date": "2020-07-06 06:58:10.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "userName": "John Doe",
        "userEmail": "johndoe@snov.io",
        "campaign": "Test",
        "hash": "be8fd412b793c15ccab9f1a6573d6595",
        "id": "010f091d81860753a19867ba1dd805d1"
    },
    {
        "sentDate": {
            "date": "2020-07-06 06:56:44.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "userName": "Mister Smith",
        "userEmail": "mistersmith@snov.io",
        "campaign": "Test",
        "hash": "55bb20def471e630c539935cb0efcbf8",
        "id": "00e3df8427477a21d64bbe959ff95471"
    }
]
Параметры ответа
sentDate
Точное время отправки письма.
userName
Полное имя получателя рассылки.
userEmail
Email-адрес получателя.
campaign
Название рассылки.

GETПросмотреть все рассылки

Бесплатно

Этот метод предоставляет список всех рассылок пользователя.

Запрос
GEThttps://api.snov.io/v1/get-user-campaigns
Входящие параметры
Для этого метода отсутствуют необходимые входящие параметры
Примеры кода
<?php
function userCampaigns()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-user-campaigns?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token,
        'campaignId':1234567
}

res = requests.get('https://api.snov.io/v1/get-user-campaigns', data=params)

return json.loads(res.text)
Ответ
[

    {
        "id": 237945,
        "campaign": "Test",
        "hash": "6467f86496cbc8c69fbf827c1b1df770"
    },
    {
        "id": 237943,
        "campaign": "Test",
        "hash": "c7e2f944bd655f74a4fced201469df29"
    }
]
Параметры ответа
id
Уникальный id рассылки пользователя.
campaign
Название рассылки.

POSTДобавить в список «‎Исключенные адреса»

Бесплатно

Пользуясь этим методом, вы можете добавить адрес или домен в свой список исключенных адресов. После добавления адреса/домена в список, вы больше не сможете отправлять на него письма.

Запрос
POSThttps://api.snov.io/v1/do-not-email-list
Входящие параметры
items
Адрес или домен, который вы хотите добавить в список исключенных адресов.
Примеры кода
<?php
function addToBlackList()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token
    ];

    $data = http_build_query([
      'items' => [
          'gavin.vanrooyen@octagon.com',
          'octagon.com'
      ]
  ]);

    $options = [
        CURLOPT_URL => 'https://api.snov.io/v1/do-not-email-list?'. $data,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $params,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);
}
?>
def do_not_email_list():
    token = get_access_token()
    params = {
        'access_token':token,
        'items[]':['gavin.vanrooyen@octagon.com','octagon.com']
    }

    res = requests.post('https://api.snov.io/v1/do-not-email-list', data=params)

    return json.loads(res.text)
Ответ
[
    {
        "success": true,
        "data": {
            "duplicates": []
        }
    }
]
Параметры ответа
duplicates
Этот параметр показывает, какие адреса/домены были ранее добавлены в список исключений.

POSTДобавить контакты в список

Бесплатно

Добавьте контакт в определенный список. Этот метод используется, когда необходимо автоматизировать процесс добавления контактов в списки, для которых идет рассылка. Таким образом, после добавления контакта в выбранный список рассылка для него начнется автоматически.

Запрос
POSThttps://api.snov.io/v1/add-prospect-to-list
Входящие параметры
email
*обязательный
Адрес электронной почты контакта.
fullName
Полное имя контакта.
firstName
Имя контакта.
lastName
Фамилия контакта.
country
Страна контакта. Список стран представлен здесь. Просим вас использовать только страны из списка.
locality
Местоположение контакта.
position
Должность контакта.
companyName
Название компании контакта.
companySite
Сайт компании контакта. Пожалуйста, используйте формат
http://example.com
.
updateContact
Обновляет информацию о существующем контакте. Может содержать
true
, или
false
. Если
true
и контакт с таким адресом электронной почты уже есть в одном из списков, система обновит существующий профиль. Если
false
, система не обновит существующий профиль.
customFields[phone number]
Вы можете добавить кастомные значения в уже существующие кастомные поля. Для этого укажите название поля в [квадратных скобках].
socialLinks[linkedIn]
Ссылка на профиль контакта в соцсетях. Укажите название социальной сети в [скобках] (LinkedIn, Facebook или Twitter).
listId
*обязательный
Идентификатор списка, к которому принадлежит контакт.
Примеры кода
<?php
function addProspectToList()
{
    $token = getAccessToken();

    $params = [
        'access_token'              => $token,
        'email'                     => 'john.doe@example.com',
        'fullName'                  => 'John Doe',
        'firstName'                 => 'John',
        'lastName'                  => 'Doe',
        'country'                   => 'United States',
        'locality'                  => 'Woodbridge, New Jersey',
        'socialLinks[linkedIn]'     => 'https://www.linkedin.com/in/johndoe/&social',
        'social[twiiter]'           => 'https://twitter.com/johndoe&social',
        'customFields[phone number]'=> '+ 1 888 2073333',
        'position'                  => 'Vice President of Sales',
        'companyName'               => 'GoldenRule',
        'companySite'               => 'https://goldenrule.com',
        'updateContact'             => true,
        'listId'                    => '12345',
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/add-prospect-to-list',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def add_prospect_to_list():
token = get_access_token()
params = {'access_token':token,
          'email':'john.doe@example.com',
          'fullName': 'John Doe',
          'firstName':'John',
          'lastName':'Doe',
          'country':'United States',
          'locality':'Woodbridge, New Jersey',
          'socialLinks[linkedIn]':'https://www.linkedin.com/in/johndoe/&social',
          'social[twiiter]':'https://twitter.com/johndoe&social',
          'customFields[phone number]':'+ 1 888 2073333',
          'position':'Vice President of Sales',
          'companyName':'GoldenRule',
          'companySite':'https://goldenrule.com',
          'updateContact':1,
          'listId':'12345'
}

res = requests.post('https://api.snov.io/v1/add-prospect-to-list', data=params)

return json.loads(res.text)
Ответ
{
    "success": true,
    "id": "0Y2QzowWL1rHpIptwaRp0Q==",
    "added": true,
    "updated": false
}
Параметры ответа
success
Будет
true
, если контакт был добавлен в список.
id
Добавленный идентификатор контакта.
added
Будет
true
, если контакт был добавлен в список.
updated
Будет
true
, если данные существующего контакта обновились.
errors
При добавлении контакта в список возникла ошибка.

POSTНайти контакт по id

Бесплатно

Найдите контакты в списках по id. Зная id контакта, можно получить полную информацию о нем, включая списки и рассылки, в которые он включен.

Запрос
POSThttps://api.snov.io/v1/get-prospect-by-id
Входящие параметры
id
*обязательный
Id контакта. Его можно увидеть в ответе, когда вы добавляете контакт с помощью метода API Добавить контакты в список или в адресной строке, когда просматриваете страницу контакта (пример).
Примеры кода
<?php
function getProspectById()
{
    $token = getAccessToken();

    $params = [
        'access_token'    => $token,
        'id'           => 'xusD3-T_K5IktGoaa8Jc8A=='
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-prospect-by-id',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def getProspectById():
token = get_access_token()
params = {'access_token':token,
        'id':'xusD3-T_K5IktGoaa8Jc8A=='
}

res = requests.post('https://api.snov.io/v1/get-prospect-by-id', data=params)

return json.loads(res.text)
Ответ
{
  "success": true,
  "data": {
    "id": "xusD3-T_K5IktGoaa8Jc8A==",
    "name": "Gavin Vanrooyen",
    "firstName": "Gavin",
    "lastName": "Vanrooyen",
    "industry": "Entertainment",
    "country": "United States",
    "locality": "Greater Atlanta Area",
    "social": [
      {
        "link": "https:\/\/www.linkedin.com\/in\/gavin-vanrooyen-8090738\/",
        "type": "linkedIn"
      }
    ],
    "lastUpdateDate": {
      "date": "2019-09-11 12:37:58.000000",
      "timezone_type": 3,
      "timezone": "UTC"
    },
    "currentJob": [
      {
        "companyName": "Octagon",
        "position": "Senior Brand Director",
        "socialLink": "https:\/\/www.linkedin.com\/company\/659312",
        "site": "http:\/\/octagon.com",
        "locality": "United States",
        "state": null,
        "city": null,
        "street": null,
        "street2": null,
        "postal": null,
        "founded": null,
        "startDate": "2018-07-31",
        "endDate": null,
        "size": "1-10",
        "industry": "Entertainment",
        "companyType": "Public Company",
        "country": "United States"
      }
    ],
    "previousJob": [
      {
        "companyName": "UPS",
        "position": "Manager, Sponsorships and Events",
        "socialLink": "https:\/\/www.linkedin.com\/company\/152322",
        "site": "http:\/\/www.ups.com\/",
        "locality": "United States",
        "state": "GA",
        "city": "Atlanta",
        "street": "55 Glenlake Parkway, NE",
        "street2": null,
        "postal": "30328",
        "founded": "1907",
        "startDate": null,
        "endDate": null,
        "size": "10001+",
        "industry": "Logistics and Supply Chain",
        "companyType": "Public Company",
        "country": "United States"
      }
    ],
    "lists": [
      {
        "id": 1250344,
        "name": "People List"
      }
    ],
    "campaigns": []
  }
}
Параметры ответа
success
Будет
true
, если контакт найден.
id
Уникальный идентификатор профиля.
name
Полное имя контакта.
firstName
Имя контакта.
lastName
Фамилия контакта.
industry
Отрасль, указанная в профиле контакта.
country
Страна контакта.
locality
Местоположение контакта.
social
Ссылки на профили контакта в соцсетях.
currentJobs
Массив содержит информацию о текущей должности контакта.
previousJobs
Массив содержит информацию о предыдущих должностях контакта.
lastUpdateDate
Дата последнего обновления профиля.
lists
Списки, в которые был добавлен контакт.
campaigns
Список рассылок запущенных для контакта. Содержит краткую статистику, например: статус, количество отправленных и открытых писем, и ответов на них.

POSTНайти контакт по email-адресу

Бесплатно

Ищите контакты в списках по адресу электронной почты. При поиске по email-адресу вы получаете список всех контактов, привязанных к email-адресу. Каждый элемент в списке содержит полную информацию о контакте, в том числе списки и рассылки, в которые он включен.

Запрос
POSThttps://api.snov.io/v1/get-prospects-by-email
Входящие параметры
email
*обязательный
Адрес электронной почты контакта.
Примеры кода
<?php
function getProspectsByEmail()
{
    $token = getAccessToken();

    $params = [
        'access_token'    => $token,
        'email'           => 'gavin.vanrooyen@octagon.com'
    ];

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-prospects-by-email',
        CURLOPT_POST           => true,
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);
    curl_close($ch);
    
    return $res;

}
?>
def getProspectsByEmail():
token = get_access_token()
params = {'access_token':token,
        'email':'gavin.vanrooyen@octagon.com'
}

res = requests.post('https://api.snov.io/v1/get-prospects-by-email', data=params)

return json.loads(res.text)
Ответ
{
  "success": true,
  "data": [
    {
      "id": "xusD3-T_K5IktGoaa8Jc8A==",
      "name": "Gavin Vanrooyen",
      "firstName": "Gavin",
      "lastName": "Vanrooyen",
      "industry": "Entertainment",
      "country": "United States",
      "locality": "Greater Atlanta Area",
      "social": [
        {
          "link": "https:\/\/www.linkedin.com\/in\/gavin-vanrooyen-809073755\/",
          "type": "linkedIn"
        }
      ],
      "lastUpdateDate": {
        "date": "2019-09-11 12:37:58.000000",
        "timezone_type": 3,
        "timezone": "UTC"
      },
      "currentJob": [
        {
          "companyName": "Octagon",
          "position": "Senior Brand Director",
          "socialLink": "https:\/\/www.linkedin.com\/company\/659333",
          "site": "http:\/\/octagon.com",
          "locality": "United States",
          "state": null,
          "city": null,
          "street": null,
          "street2": null,
          "postal": null,
          "founded": null,
          "startDate": "2018-07-31",
          "endDate": null,
          "size": "1-10",
          "industry": "Entertainment",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
      "previousJob": [
        {
          "companyName": "UPS",
          "position": "Manager, Sponsorships and Events",
          "socialLink": "https:\/\/www.linkedin.com\/company\/1523574",
          "site": "http:\/\/www.ups.com\/",
          "locality": "United States",
          "state": "GA",
          "city": "Atlanta",
          "street": "55 Glenlake Parkway, NE",
          "street2": null,
          "postal": "30328",
          "founded": "1907",
          "startDate": null,
          "endDate": null,
          "size": "10001+",
          "industry": "Logistics and Supply Chain",
          "companyType": "Public Company",
          "country": "United States"
        }
      ],
      "lists": [
        {
          "id": 1250344,
          "name": "People List"
        }
      ],
      "campaigns": []
    }
  ]
}
Параметры ответа
success
Будет
true
, если контакт найден.
id
Уникальный идентификатор профиля.
name
Полное имя контакта.
firstName
Имя контакта.
lastName
Фамилия контакта.
industry
Отрасль, указанная в профиле контакта.
country
Страна контакта.
locality
Местоположение контакта.
social
Ссылки на профили контакта в соцсетях.
currentJobs
Массив содержит информацию о текущей должности контакта.
previousJobs
Массив содержит информацию о предыдущих должностях контакта.
lastUpdateDate
Дата последнего обновления профиля.
lists
Списки, в которые был добавлен контакт.
campaigns
Список рассылок запущенных для контакта. Содержит краткую статистику, например: статус, количество отправленных и открытых писем, и ответов на них.

GETНайти кастомные поля контактов

Бесплатно

Этот метод возвращает список всех кастомных полей, созданных пользователем, в том числе названия полей, параметры, определяющие обязательное это поле или нет, и тип информации внутри поля.

Запрос
GEThttps://api.snov.io/v1/prospect-custom-fields
Входящие параметры
Для этого метода отсутствуют необходимые входящие параметры
Примеры кода
<?php
function customFields()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/prospect-custom-fields?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def custom_fields():
token = get_access_token()
params = {'access_token':token
}

res = requests.get('https://api.snov.io/v1/prospect-custom-fields', data=params)

return json.loads(res.text)
Ответ
  [
    {
        "key": "customFields['company']",
        "label": "company",
        "required": false,
        "type": "string"
    },
    {
        "key": "customFields['Project name']",
        "label": "Project name",
        "required": false,
        "type": "string"
    },
    {
        "key": "customFields['SEO']",
        "label": "SEO",
        "required": false,
        "type": "string"
    }
  ]
Параметры ответа
key
Ключ поля в массиве
customFields
.
label
Название поля.
required
Будет
true
если кастомное поле обязательное.
type
Тип данных кастомного поля (строка, число или дата).

GETПросмотр списков пользователя

Бесплатно

Этот метод возвращает все списки, созданные пользователем. Вы можете использовать этот метод чтобы проверить списки, доступные для триггерных рассылок.

Запрос
GEThttps://api.snov.io/v1/get-user-lists
Входящие параметры
Для этого метода отсутствуют необходимые входящие параметры
Примеры кода
<?php
function getUserLists()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-user-lists?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def user_lists():
token = get_access_token()
params = {'access_token':token
}

res = requests.get('https://api.snov.io/v1/get-user-lists', data=params)

return json.loads(res.text)
Ответ
[
    {
        "id": 1818597,
        "name": "FirstSend",
        "contacts": 1,
        "isDeleted": false,
        "creationDate": {
            "date": "2020-04-07 08:25:44.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "deletionDate": null
    },
    {
        "id": 1505383,
        "name": "All prospects",
        "contacts": 10,
        "isDeleted": true,
        "creationDate": {
            "date": "2019-12-17 15:07:30.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "deletionDate": {
            "date": "2020-02-17 14:05:44.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        }
    },
    {
        "id": 1479070,
        "name": "EMAIL",
        "contacts": 13,
        "isDeleted": true,
        "creationDate": {
            "date": "2019-12-06 10:51:01.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "deletionDate": {
            "date": "2020-02-17 14:05:48.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        }
    }
]

Параметры ответа
id
Уникальный id списка пользователя.
name
Название списка.
contacts
Количество контактов в списке.
isDeleted
Статус списка. Возвращает
true
, если список был удален.
creationDate
Дата создания списка (включает информацию о дате, времени и часовом поясе).
deleteDate
Содержит дату удаления, если список был удален (включая время и часовой пояс).

POSTПросмотр контактов из списка

Бесплатно

Этот метод возвращает все данные о контактах в указанном списке, такие как email-адрес и их статус.

Запрос
POSThttps://api.snov.io/v1/prospect-list
Входящие параметры
listId
*обязательный
Уникальный id списка.
page
Вы можете выбрать с какой страницы списка начать поиск. Это поле необязательно.
perPage
Выберите страницу списка, на которой следует закончить поиск. Это поле необязательно. Максимальное значение — 100.
Примеры кода
<?php
function prospectsInList()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
        'listID'       => '1234567',
        'page'         => '1',
        'perPage'      => '2'
    ];

    $options = [
        CURLOPT_URL            => ' https://api.snov.io/v1/prospect-list',
        CURLOPT_POSTFIELDS     => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def prospect_in_list():
token = get_access_token()
params = {'access_token':token,
        'listID':'1234567',
        'page':'1',
        'perPage':'2'
}

res = requests.post('https://api.snov.io/v1/prospect-list', data=params)

return json.loads(res.text)
Ответ

Обратите внимание: результаты отображаются в обратном порядке, от последнего контакта к первому.

{
    "success": true,
    "list": {
        "name": "Lead LIST",
        "contacts": 3,
        "creationDate": {
            "date": "2020-05-19 17:34:39.000000",
            "timezone_type": 3,
            "timezone": "UTC"
        },
        "emailsCount": []
    },
    "prospects": [
        {
            "id": "226db935fc93422496fda5d5209e8cbf77cc77ec685891706028009b86608f7ce5877a3faf",
            "name": "Andrew Garfiled",
            "firstName": "Andrew",
            "lastName": "Garfiled",
            "emails": [
                {
                    "email": "andrewexp@exp.com",
                    "probability": 99,
                    "isVerified": null,
                    "jobStatus": "any",
                    "domainType": "linkedin_email",
                    "isValidFormat": null,
                    "isDisposable": null,
                    "isWebmail": null,
                    "isGibberish": null,
                    "smtpStatus": null
                }
            ]
        },
        {
            "id": "f20d30219b039d1408d837a748a1e2ab843c97e65080f6cf8fa7d948477d9093d87413f05f",
            "name": "John Doe",
            "firstName": "John",
            "lastName": "Doe",
            "emails": [
                {
                    "email": "johndoe@gmail.com",
                    "probability": 99,
                    "isVerified": null,
                    "jobStatus": "any",
                    "domainType": "linkedin_email",
                    "isValidFormat": true,
                    "isDisposable": false,
                    "isWebmail": true,
                    "isGibberish": false,
                    "smtpStatus": 3
                }
            ]
        }
    ]
}

Параметры ответа
list
Массив с информацией о списке и контактах, которые он содержит.
name
Название списка.
contacts
Количество контактов в списке.
creation_date
Дата создания списка (включая время и часовой пояс).
emailsCount
Количество email-адресов в списке.
prospects
Все контакты в списке.
id
Уникальный id контакта.
name
Полное имя контакта.
emails
Список email-адресов, принадлежащих контакту.

POSTНовый список контактов

Бесплатно

Используйте этот метод для создания новых списков контактов в вашем аккаунте.

Запрос
POSThttps://api.snov.io/v1/lists
Входящие параметры
name
Название нового списка контактов.
Примеры кода
<?php
function createNewList()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token
        'name' => 'New list'
    ];

    $options = [
        CURLOPT_URL => 'https://api.snov.io/v1/lists',
        CURLOPT_POST => true,
        CURLOPT_POSTFIELDS => $params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true,
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);
}
?>
def add_prospect_list():
    token = get_access_token()
    params = {
        'access_token':token,
        'name':'New list'
    }

    res = requests.post('https://api.snov.io/v1/lists', data=params)

    return json.loads(res.text)
Ответ
[
    {
        "success": true,
        "data": {
            "id": 1234567
        }
    }
]
Параметры ответа
id
ID нового списка контактов.

GETПроверка баланса

Бесплатно

Используйте этот метод для проверки баланса кредитов на вашем счету.

Запрос
GEThttps://api.snov.io/v1/get-balance
Входящие параметры
Для этого метода отсутствуют необходимые входящие параметры
Примеры кода
<?php
function getBalance()
{
    $token = getAccessToken();

    $params = [
        'access_token' => $token,
    ];

    $params = http_build_query($params);

    $options = [
        CURLOPT_URL            => 'https://api.snov.io/v1/get-balance?'.$params,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_FOLLOWLOCATION => true
    ];

    $ch = curl_init();

    curl_setopt_array($ch, $options);

    $res = json_decode(curl_exec($ch), true);

    curl_close($ch);

    return $res;

}
?>
def get_balance():
token = get_access_token()
headers = {'authorization':token
}

res = requests.get('https://api.snov.io/v1/get-balance', headers=headers)

return json.loads(res.text)
Ответ
{
    "success": true,
    "data": {
        "balance": "42.00"
    }
}

Параметры ответа
balance
Текущий баланс пользователя в кредитах.