Быстрый старт
Base URL
https://unihra.ru/api/v1Минимальный пример — cURL
bash
# 1. Создать задачу
TASK=$(curl -s -X POST https://unihra.ru/api/v1/process \
-H "Authorization: Bearer YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{
"own_page": "https://example.com/product",
"competitor_urls": ["https://comp1.com", "https://comp2.com"],
"queries": ["купить товар", "лучший товар 2026"],
"lang": "ru"
}')
TASK_ID=$(echo $TASK | jq -r .task_id)
# 2. Получить результат через SSE
curl -N -H "Authorization: Bearer YOUR_KEY" \
"https://unihra.ru/api/v1/process/status/$TASK_ID"Минимальный пример — Python
python
import requests, json, sseclient
KEY = "YOUR_KEY"
HEADERS = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
BASE = "https://unihra.ru/api/v1"
# 1. Создать задачу
r = requests.post(f"{BASE}/process", headers=HEADERS, json={
"own_page": "https://example.com/product",
"competitor_urls": ["https://comp1.com", "https://comp2.com"],
"queries": ["купить товар"],
"lang": "ru",
})
task_id = r.json()["task_id"]
# 2. Стримить статус до SUCCESS
with requests.get(f"{BASE}/process/status/{task_id}", headers=HEADERS, stream=True) as resp:
for line in resp.iter_lines():
if line.startswith(b"data: "):
event = json.loads(line[6:])
if event["state"] == "SUCCESS":
result = event["result"]
break
# 3. Зонтичный анализ — топ-5 слов для добавления
for gap in result["Umbrella Analysis"][:5]:
print(gap["lemma"], "→", gap["recommendation"])Python SDK
Используйте официальный Python SDK — он инкапсулирует SSE-стриминг, retry-логику и сохранение отчётов в Excel.
bash
pip install "unihra[full]"Стоимость запросов
| Режим | Кредиты |
|---|---|
| Стандартный анализ | 1 кредит |
Расширенный (граф знаний, triplet_analysis: true) | 5 кредитов |