Перейти к содержанию

Проверка номеров телефонов по API: качество лидов и ставка от ПП

Проверка номеров телефонов по API: пять полей за один запрос, 240+ стран. Чистый поток лидов держит апрув, ставку от ПП и обучение рекламной сети…

Проверка номеров телефонов по API: качество лидов и ставка от ПП

Качество трафика перестало быть абстракцией примерно тогда же, когда партнёрки начали считать апрув по каждой команде отдельно. Ставка, эксклюзивы, приоритет на выкуп, доступ к закрытым офферам: всё это выдаётся не за объём, а за то, насколько чистый поток вы отдаёте.

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

Проверка номеров телефонов по API занимает один запрос и решается до того, как лид уйдёт дальше по цепочке. Number Intelligence сверяет номер с международными правилами нумерации и возвращает пять полей: корректен ли формат, тип линии, оператор, страна и её двухбуквенный код. Одинаково для 240 с лишним стран и территорий.

Почему битый номер стоит дороже, чем кажется

Стоимость одного мусорного лида редко считают целиком. А она складывается минимум из трёх частей, и самая дорогая обычно последняя.

Апрув и ставка от партнёрки

Колл-центр не дозвонится до номера, которого нет в нумерации страны. Лид уходит в отказ, апрув по вашему потоку падает. Дальше начинается знакомое: менеджер просит «подтянуть качество», режет ставку, переводит на ручной выкуп или закрывает оффер под вашим ID.

Обратная сторона того же механизма работает на вас. У команды со стабильно высоким апрувом появляется переговорная позиция. Бамп ставки, приоритет при нехватке лимитов, доступ к офферам, которые не раздают всем подряд. Это следствие цифры в отчёте, а не хороших отношений с менеджером.

Мусор в обучении рекламной сети

Это та часть, которую замечают позже всего, а платят за неё дольше всего.

Facebook, Google и TikTok оптимизируют открутку по событию, которое вы им отдаёте. Пиксель или серверная передача через CAPI сообщает: вот этот пользователь сконвертился. Алгоритм принимает событие за эталон и идёт искать похожих.

Теперь представьте, что событие ушло по лиду с номером +7 999 111 1111. Вы буквально сказали сети: найди ещё людей, которые вводят в форму что попало.

Через пару дней откруток аудитория смещается. Больше кликеров, больше случайных заходов, больше людей, которые заполняют формы не глядя. Цена за лид в кабинете при этом может даже не вырасти, а вот апрув и реальная стоимость подтверждённого лида уезжают.

Лечится это порядком действий: сначала валидация формата и сверка страны с ГЕО связки, только потом отправка события в сеть. Объём почти не режется, потому что валидных номеров большинство, зато сигнал на обучение уходит чистый. Логика та же, что и при серверной передаче конверсий: в модель попадает только то, что вы можете подтвердить.

Разговор с партнёркой о качестве

Когда приходит претензия «у вас треш», спорить обычно нечем: цифры есть только у ПП. Если вы валидируете поток на входе и храните долю невалидных номеров, у вас появляется собственный аргумент. Фраза «по формату у меня 98,6% чистых, расхождение по стране 0,4%» переводит разговор из жанра взаимных ощущений в разбор конкретного места, где ломается воронка.

Что именно возвращает API

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

ПолеЧто означаетПример значения
phone_validСоответствует ли номер правилам нумерации своей страныtrue
phone_typeТип линии: мобильный, стационарный, платный и другиеmobile
carrierОператор, которому выделен диапазон, если данные естьT-Mobile USA
countryСтрана номераUnited States
country_codeДвухбуквенный код страны по ISOUS
Таблица прокручивается вбок

Если данных об операторе нет, поле вернётся с null, а не с придуманным значением. Это важнее, чем кажется: правила, построенные на выдуманном операторе, ломаются молча.

Проверка без регистрации: как это выглядит

На главной странице сервиса есть форма, которая работает до всякой регистрации. Я прогнал через неё британский номер +44 20 7946 0958. Вот что вернулось.

Проверка номера телефона по API на сайте Number Intelligence: ответ с полями формат, тип линии, оператор, страна и код страны
Формат корректен, тип линии стационарный, страна United Kingdom, код GB. Оператор не определён, и сервис честно об этом пишет.

Обратите внимание на строку «Оператор: не определён». Для лондонского городского номера диапазон не привязан к конкретному оператору, и API это показывает вместо того, чтобы подставить что-то правдоподобное.

У публичной формы два ограничения: до 30 проверок с одного IP в сутки, и результат не попадает в историю аккаунта. Для быстрой проверки гипотезы этого хватает, для работы нужен ключ.

Как подключить: один метод

Ключ создаётся в кабинете, дальше всё сводится к одному эндпоинту. Заголовок X-API-Key, тело с номером в международном формате.

Запрос к API проверки номеров телефонов: POST на /api/v1/verify с заголовком X-API-Key, примеры на cURL, Python и JavaScript
Один метод /api/v1/verify и готовые примеры на cURL, Python и JavaScript прямо в документации.
curl -X POST "https://number.boostclicks.tech/api/v1/verify" 
  -H "X-API-Key: $NUMBER_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{"phone":"+14155552671"}'

На Python это несколько строк поверх requests:

import os, requests

response = requests.post(
    "https://number.boostclicks.tech/api/v1/verify",
    headers={"X-API-Key": os.environ["NUMBER_API_KEY"]},
    json={"phone": "+14155552671"},
    timeout=10,
)
print(response.json())

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

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

Как читать поле phone_type

Тип линии говорит, с каким телефонным номером вы имеете дело, и это удобно превратить в правила один раз.

  • Мобильный. Основная масса лидов в большинстве вертикалей. Обрабатывается как обычно.
  • Стационарный. На нутре и товарке встречается регулярно и часто вполне живой, но канал связи с таким лидом только голосовой. Полезно помечать флагом для колл-центра.
  • Мобильный или стационарный. В части стран диапазоны не разделены, и API честно возвращает неоднозначный тип. Это не повод отбраковывать лид.
  • Платные и сервисные диапазоны. В лидформе им делать нечего. Почти всегда это мусор или проверка формы на прочность.

Связка «тип линии плюс код страны» отсекает заметную часть мусора ещё до того, как он попадёт в партнёрку и в статистику рекламного кабинета.

Где это нужно медиабайеру

Сценарии применения проверки номеров телефонов по API: валидация в форме лида, чистка базы перед импортом, маршрутизация по стране и типу номера
Три места, где проверка номера окупается быстрее всего.

Форма лида: чистый поток в партнёрку

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

Отдельно полезно на широком ГЕО, где в одну форму льются номера из десятка стран. Ручные регулярки под каждую страну живут ровно до первого нового ГЕО в связке. Если форма стоит за фильтром, порядок тот же, что и в связке клоаки с трекером: сначала решение, потом запись в систему.

Событие в рекламную сеть только по валидному лиду

Самое дешёвое место для проверки: момент между приёмом формы и отправкой события в пиксель или CAPI. Валидный номер и совпадение страны с ГЕО связки, и только после этого конверсия уходит в сеть. Если события у вас уже идут server-side через связку Keitaro и Facebook Conversions API, валидация встраивается ровно одним условием перед отправкой.

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

Чистка базы перед заливом

Базу телефонов имеет смысл разложить на три кучи: рабочие номера, номера с битой структурой и номера, у которых страна не совпадает с заявленным ГЕО. Последняя категория обычно и есть источник дорогих сюрпризов в отчёте: чужой залив, мотивированный трафик или перепроданная база.

Логика та же, что и при проверке качества IP перед запуском: дешевле отсеять мусор на входе, чем объяснять его потом в отчёте.

SMS и рассылки в мессенджерах

Если вы работаете с SMS-цепочками или рассылками в мессенджерах, счёт идёт напрямую. Сообщение на несуществующий номер тарифицируется так же, как доставленное, а стационарная линия SMS не примет в принципе. Прогон базы перед стартом снимает обе статьи расходов, а на объёмах от нескольких десятков тысяч номеров окупает проверку с первого запуска.

География и единый формат ответа

Проверка номеров телефонов работает по международным правилам нумерации, поэтому покрытие не привязано к конкретным операторам: 240 с лишним стран и территорий обрабатываются одним и тем же методом. Ответ по номеру из Бразилии структурно не отличается от ответа по номеру из Японии, меняются только значения.

Для мультиГЕО-связок это экономит больше времени, чем кажется на старте. Не нужно держать таблицу длин номеров по странам и обновлять её каждый раз, когда регулятор выделяет новый диапазон. Тот же принцип работает и при локализации лендингов под новое ГЕО: чем меньше ручных правил под каждую страну, тем меньше поводов для поломки.

Чего сервис не делает

Здесь стоит быть точным, потому что на этом месте обычно возникают завышенные ожидания.

  • Не проверяет, активна ли SIM-карта. API не обращается к сети оператора, он работает с правилами нумерации и данными о диапазонах. Номер может быть корректным по формату и при этом отключённым.
  • Не гарантирует оператора после переноса. Показывается оператор, которому выделен диапазон. Если абонент перенёс номер по MNP, фактический оператор будет другим.
  • Не заменяет прозвон и HLR-запрос. Это другой класс задач и другая цена вопроса.

Проще говоря, сервис отвечает на вопрос «может ли такой номер существовать в этой стране и что это за номер», а не «возьмёт ли трубку живой человек». Для отсечения заведомого мусора на входе этого достаточно, и стоит это принципиально других денег.

Внедрение за пятнадцать минут

Порядок действий, если хотите сначала посмотреть на своих данных, а не встраивать вслепую.

  1. Создайте аккаунт и заберите API-ключ в кабинете.
  2. Выгрузите двести случайных лидов за последний месяц, лучше с оффера, по которому были претензии к качеству.
  3. Прогоните их скриптом и посчитайте, у скольких phone_valid вернулся false.
  4. Сравните country_code с ГЕО, на которое лился трафик. Расхождения тут интереснее битого формата: это прямая подсказка, откуда пришёл мусор.
  5. Сопоставьте долю невалидных с апрувом по этому потоку. Обычно после этого шага вопрос о внедрении закрывается сам.

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

Сколько это стоит

Бесплатный лимит: до 500 проверок в месяц, не более 100 в сутки. Он расходуется первым, и только после него списываются кредиты, по одному за каждый успешный ответ. Кредиты не сгорают.

Пакеты кредитов Number Intelligence: от 10 000 кредитов за 13,44 доллара до 5 000 000 за 559,44 доллара
Чем больше пакет, тем ниже цена тысячи проверок: с 1,34 до 0,11 доллара.
ПакетЦенаЗа 1 000 проверок
10 000 кредитов$13.44$1.34
50 000 кредитов$44.24$0.88
100 000 кредитов$66.64$0.67
500 000 кредитов$167.44$0.33
1 000 000 кредитов$223.44$0.22
5 000 000 кредитов$559.44$0.11
Таблица прокручивается вбок

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

История проверок хранится 30 дней, номера в ней замаскированы. Публичные проверки с главной страницы в историю не пишутся вообще.

Частые вопросы

Нужна ли карта для старта

Нет. Аккаунт создаётся бесплатно, ключ выдаётся сразу, первые 500 проверок в месяц не тарифицируются.

Что будет после исчерпания лимита

За каждый успешный ответ списывается один кредит. Если кредитов нет, запросы перестают проходить, деньги с карты сами не списываются.

Можно ли проверить номер без интеграции

Да, форма на главной работает без регистрации, до 30 проверок с одного IP в сутки.

Насколько точен оператор

API отдаёт оператора, за которым закреплён диапазон. После переноса номера значение может расходиться с фактическим.

Подходит ли для больших баз

Да, для этого есть пакетная проверка и пакеты кредитов до пяти миллионов.

Забрать 500 бесплатных проверок

Регистрация занимает минуту, карта и разговор с менеджером не нужны. Создаёте аккаунт, получаете API-ключ и прогоняете свои реальные лиды, чтобы увидеть, сколько мусора уходит в партнёрку и в обучение рекламных кабинетов прямо сейчас.

Создать аккаунт и получить 500 бесплатных проверок → number.boostclicks.tech

Вопросы по сервису и оплате: @maxmarusya. Обновления публикуются в @boostclicks.

Редакция BoostClicks

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

Информационные партнёры

С кем мы работаем

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

Прайс на рекламу