Получи ключ
Открой HYDRA в Telegram ↗, создай зеркало и выбери в нём «API». После оплаты бот выдаст ключ.
HYDRA docsОдин запрос — структурированные данные, готовый текст и ссылка на полный отчёт.
Открой HYDRA в Telegram ↗, создай зеркало и выбери в нём «API». После оплаты бот выдаст ключ.
Передай ключ в X-API-Key и вызови проверку ключа. Она не тратит поисковый запрос.
Отправь query и type методом POST. Начать можно и без кода — в кабинете ↗.
API на месяц.
Один платёж за API.
За один запрос. Баланс не сгорает.
У подписок API нет ограничения общего количества запросов. Ограничения частоты сохраняются. Запросы можно покупать отдельно: 1 за $0.07, 10 за $0.70 или 50 за $3.50.
Во всех примерах замени YOUR_API_KEY на свой ключ. При первой покупке запросов создаётся отдельный ключ с балансом; следующие покупки пополняют его.
X-API-Key: YOUR_API_KEYНовый ключ показывается при создании — сохрани его. Для интеграции храни ключ на своём сервере или в переменной окружения, а не в публичном коде страницы.
https://api.devhydra.info/v1/searchВ query передай свой запрос, в type — его тип. Если не уверен, используй auto. Примеры ниже показывают формат запроса.
curl -X POST 'https://api.devhydra.info/v1/search' \
-H 'X-API-Key: YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"query":"your_username","type":"tg"}'import os
import requests
response = requests.post(
"https://api.devhydra.info/v1/search",
headers={"X-API-Key": os.environ["HYDRA_API_KEY"]},
json={"query": "your_username", "type": "tg"},
timeout=90,
)
response.raise_for_status()
data = response.json()
print(data["formatted_text"])
print(data.get("report_url", ""))const response = await fetch("https://api.devhydra.info/v1/search", {
method: "POST",
headers: {
"X-API-Key": process.env.HYDRA_API_KEY,
"Content-Type": "application/json"
},
body: JSON.stringify({ query: "your_username", type: "tg" }),
signal: AbortSignal.timeout(90000)
});
const data = await response.json();
if (!response.ok) throw new Error(data.detail ?? `HTTP ${response.status}`);
console.log(data.formatted_text);
console.log(data.report_url);| Поле | Обязательно | Что передавать |
|---|---|---|
query | Да | Непустая строка запроса. |
type | Нет | По умолчанию auto. |
Для новых интеграций используй POST и заголовок ключа. GET тоже поддерживается: /v1/search?query=your_username&type=tg.
| type | Что ищем | Пример формата |
|---|---|---|
auto | Определить автоматически | Твой номер, ник или адрес |
tg | Telegram-ник или ID | @your_username |
socid | Проверить ID в Telegram и VK | Числовой ID аккаунта |
phone | Телефон | Международный формат с кодом страны |
email | Почта | [email protected] |
vk | VK ID | Числовой ID аккаунта |
fio | Имя | Фамилия Имя Отчество |
ip | IP-адрес | 192.0.2.1 |
domain | Домен | example.com |
social_url | Ссылка на профиль | Ссылка на поддерживаемую соцсеть |
mac | MAC-адрес | 00:11:22:33:44:55 |
ton_wallet | TON-кошелёк | Адрес кошелька |
ton_nft | TON NFT | Адрес NFT |
Актуальный список доступен через GET /v1/types. Алиасы: social_id для socid, ipaddress для ip.
Для своей страницы используй smart_sections. Для готового текста — formatted_text. Для сохранения полного отчёта — report_text или HTML-ссылку.
{
"status": "success",
"query": "your_username",
"search_type": "tg",
"timed_out": false,
"smart_sections": [
{
"title": "Профиль",
"kv": [{"k": "Имя", "v": "Пример"}],
"chips": []
}
],
"formatted_text": "Пример отображения результата",
"report_url": "https://report.devhydra.info/REPORT_ID.html",
"report_expires_at": 1791700000,
"report_text": "Полный текст отчёта",
"elapsed_seconds": 4.2
}smart_sections | Разделы: title — заголовок, kv — поля k/v, chips — элементы списка. |
results, data, aggregated | Дополнительные структурированные записи. Их состав зависит от запроса. |
timed_out | При true часть поиска не успела завершиться. Полученные данные всё равно можно использовать. |
elapsed_seconds | Время поиска в секундах. |
usage | Информация об использовании доступа. |
0 и false: они тоже могут быть данными.report_url ведёт на отдельный сайт report.devhydra.info. Ссылка действует 45 минут. report_expires_at — время окончания в Unix-секундах.
Открой HTML-отчёт и нажми «Сохранить PDF». Для TXT сохрани строку report_text в UTF-8. В боте и приложениях есть кнопки HTML-отчёта и сохранения TXT.
https://api.devhydra.info/v1/key/statuscurl 'https://api.devhydra.info/v1/key/status' \
-H 'X-API-Key: YOUR_API_KEY'limit — общее количество купленных запросов, used — использованное, remaining — остаток. Для подписки limit: 0 означает отсутствие общего лимита, а remaining: null — не нулевой баланс. expires_at показывает срок доступа.
При полностью потраченном балансе метод возвращает 429 с сообщением о лимите. Пополни запросы в зеркале HYDRA, чтобы продолжить с тем же ключом.
| Код | Что означает | Что делать |
|---|---|---|
| 400 / 422 | Некорректный запрос или JSON | Проверь query, type и Content-Type. |
| 401 | Ключ отсутствует или неверный | Проверь заголовок X-API-Key. |
| 403 | Доступ отключён, истёк или ограничен | Проверь свой ключ и срок подписки. |
| 404 | Неверный адрес метода или отчёт недоступен | Проверь URL. У отчётов ограничен срок хранения. |
| 429 | Частые обращения или исчерпан баланс | Прочитай detail: при частых обращениях сделай паузу; при исчерпанном балансе пополни запросы. |
| 5xx | Сервис не смог завершить запрос | Повтори позднее. Не запускай бесконечный цикл повторов. |
Обычная ошибка имеет вид {"detail":"Описание ошибки"}. Для поиска оставляй до 90 секунд ожидания. Если соединение оборвалось, запрос мог продолжить выполняться — не отправляй сразу десятки копий.
POST /v1/search | Поиск с JSON-телом и API-ключом. |
GET /v1/search | Поиск с query-параметрами и API-ключом. |
GET /v1/key/status | Проверка ключа без расхода запроса. |
GET /v1/types | Типы запросов, без ключа. |
GET /health | Доступность API, без ключа. |