Skip to content

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

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 кредитов

Что дальше