Документация Cherry API
Cherry — единый API для OSINT-поиска. Один запрос агрегирует данные из 7+ источников и возвращает структурированный JSON.
Быстрый старт
Base URL для всех запросов:
Минимальный пример на Python:
import requests
r = requests.post(
"https://api.xcherry.xyz/search",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"query": "+7 999 123 4567",
"type": "phone"
}
)
data = r.json()
print(data["name"]) # ФИО
print(data["phone"]) # телефон
print(data["email"]) # почта
curl -X POST https://api.xcherry.xyz/search \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "+7 999 123 4567", "type": "phone"}'
Аутентификация
Все запросы к API требуют ключ в заголовке Authorization.
AuthorizationBearer YOUR_API_KEYContent-Typeapplication/jsonНе передавайте ключ в query-параметрах URL — только в заголовке. API-ключ можно получить через бота или на главной странице.
Пример
POST /search HTTP/1.1
Host: api.xcherry.xyz
Authorization: Bearer sk_live_a1b2c3d4e5f6...
Content-Type: application/json
{"query": "test@mail.ru", "type": "email"}
POST /search
Основной и единственный эндпоинт Cherry API. Принимает поисковый запрос и возвращает агрегированные данные из всех доступных источников.
Тело запроса
querystringда
Поисковый запрос — номер, email, username и т.д.
typestringда
Тип поиска: auto, phone, email, telegram, vk, ip, nick, fio, address, passport, tag
Пример
{
"query": "+7 999 123 4567",
"type": "phone"
}
Формат ответа
Ответ — единый JSON-объект со всеми найденными данными.
{
"name": "Чирикова Валерия Витальевна",
"phone": "+79615391877",
"email": "lerasssssd@gmail.com",
"region": "Кропоткин, Краснодарский край",
"vk": "https://vk.com/id484029586",
"operator": "Tele2",
"leaks": ["CDEK", "Gosuslugi", "Mail.ru", "Tele2", "Podrygka"],
...
}
Набор полей зависит от типа поиска и найденных данных. Если данных нет — поле просто отсутствует в ответе.
Если источник недоступен или не вернул данных, его ключ просто отсутствует в ответе. Пустых объектов и null не будет.
Типы поиска
Параметр type определяет, как будет обработан запрос. При значении auto тип определяется автоматически по формату.
autoлюбойАвтоопределение типаphone+7 999 123 4567Номер телефонаemailuser@gmail.comЭлектронная почтаtelegram@usernameTelegram username или IDvkid184729VK ID или ссылкаip185.22.174.91IP-адресnickalex_ivНикнейм / usernamefioИванов АлексейФИОaddressМосква, ул. Ленина 1Адресpassport4515 123456Паспортные данныеtagА123БВ77Тег / гос. номерКоды ошибок
Стандартные HTTP-коды. Тело ответа при ошибке содержит поле "error" с описанием.
400Неверный запросПроверьте параметры query и type401Не авторизованПроверьте API-ключ в заголовке403Подписка истеклаПродлите подписку для доступа к API422Неверный типtype не входит в список допустимых500Ошибка сервераПовторите позжеПример ошибки
{
"error": "Invalid search type",
"allowed": ["auto", "phone", "email", "telegram", ...]
}