Документация Cherry API

Cherry — единый API для OSINT-поиска. Один запрос агрегирует данные из 7+ источников и возвращает структурированный JSON.

Быстрый старт

Base URL для всех запросов:

https://api.xcherry.xyz

Минимальный пример на Python:

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
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_KEY
Content-Typeapplication/json
info

Не передавайте ключ в query-параметрах URL — только в заголовке. API-ключ можно получить через бота или на главной странице.

Пример

HTTP
POST /search HTTP/1.1
Host: api.xcherry.xyz
Authorization: Bearer sk_live_a1b2c3d4e5f6...
Content-Type: application/json

{"query": "test@mail.ru", "type": "email"}

Формат ответа

Ответ — единый JSON-объект со всеми найденными данными.

JSON — ответ
{
  "name": "Чирикова Валерия Витальевна",
  "phone": "+79615391877",
  "email": "lerasssssd@gmail.com",
  "region": "Кропоткин, Краснодарский край",
  "vk": "https://vk.com/id484029586",
  "operator": "Tele2",
  "leaks": ["CDEK", "Gosuslugi", "Mail.ru", "Tele2", "Podrygka"],
  ...
}

Набор полей зависит от типа поиска и найденных данных. Если данных нет — поле просто отсутствует в ответе.

info

Если источник недоступен или не вернул данных, его ключ просто отсутствует в ответе. Пустых объектов и null не будет.

Типы поиска

Параметр type определяет, как будет обработан запрос. При значении auto тип определяется автоматически по формату.

ТипПример queryОписание
autoлюбойАвтоопределение типа
phone+7 999 123 4567Номер телефона
emailuser@gmail.comЭлектронная почта
telegram@usernameTelegram username или ID
vkid184729VK ID или ссылка
ip185.22.174.91IP-адрес
nickalex_ivНикнейм / username
fioИванов АлексейФИО
addressМосква, ул. Ленина 1Адрес
passport4515 123456Паспортные данные
tagА123БВ77Тег / гос. номер

Коды ошибок

Стандартные HTTP-коды. Тело ответа при ошибке содержит поле "error" с описанием.

КодОписаниеРешение
400Неверный запросПроверьте параметры query и type
401Не авторизованПроверьте API-ключ в заголовке
403Подписка истеклаПродлите подписку для доступа к API
422Неверный типtype не входит в список допустимых
500Ошибка сервераПовторите позже

Пример ошибки

JSON — ошибка 422
{
  "error": "Invalid search type",
  "allowed": ["auto", "phone", "email", "telegram", ...]
}