войти

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

Серверное API размечает HTML или текст: вставляет пометки и сноски по закону и возвращает список найденных упоминаний. Подходит для любой CMS, рассылок, Telegram-каналов и архивов статей. Разметка та же, что у виджета и плагинов: один словарь, одни формулировки, настройки вида из кабинета.

Получите ключ

  1. Войдите в кабинет и добавьте сайт — секретный ключ sk_… покажется один раз, сохраните его.
  2. Если ключ потерян — «выпустить новый секретный ключ» на странице сайта в кабинете.

Домен сайта нужен виджету; к API ключ не привязан — запросы можно отправлять с любого сервера. Подробнее — «Ключи и авторизация».

Сделайте первый запрос

# сведения о сайте: ключ работает, настройки пометок, версия словаря
curl https://agent-mark.ru/api/site \
  -H "Authorization: Bearer sk_ваш_ключ"

В ответе — домены сайта, настройки пометок и dictionary_version. Этот запрос проверкой не считается.

Разметьте статью

curl https://agent-mark.ru/api/mark \
  -H "Authorization: Bearer sk_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{"content": "<p>Интервью с Екатериной Шульман о выборах.</p>", "url": "https://example.ru/news/1"}'

В ответе — content с пометками, найденные упоминания и сноски:

{
  "content": "<p>Интервью с Екатериной Шульман<sup class=\"am-mark\" title=\"Екатерина Шульман — иностранный агент\">*</sup> о выборах.</p><div class=\"am-footnotes\"><p>* Екатерина Шульман — иностранный агент.</p></div>",
  "mentions": [
    {"start": 12, "end": 30, "text": "Екатериной Шульман", "registry": "foreign_agents",
     "entry_type": "person", "name": "Шульман Екатерина Михайловна",
     "variant": "Екатерина Шульман", "strong": true}
  ],
  "footnotes": [
    {"marker": "*", "label": "Екатерина Шульман", "registries": ["foreign_agents"],
     "text": "Екатерина Шульман — иностранный агент"}
  ],
  "warning": ""
}

Сохраните content вместо исходного HTML — пометки и сноски уже внутри. Размеченный текст можно отправлять повторно: старые пометки сервиса убираются и ставятся заново.

То же на Python:

# библиотека для HTTP-запросов: pip install requests
import requests

API = "https://agent-mark.ru/api"
HEADERS = {"Authorization": "Bearer sk_ваш_ключ"}

article = "<p>Интервью с Екатериной Шульман о выборах.</p>"
result = requests.post(f"{API}/mark", headers=HEADERS, timeout=60,
                       json={"content": article, "url": "https://example.ru/news/1"}).json()
print(result["content"])          # HTML с пометками и сносками
for mention in result["mentions"]:
    print(mention["text"], "—", mention["registry"])

Только найти, без разметки

curl https://agent-mark.ru/api/find \
  -H "Authorization: Bearer sk_ваш_ключ" \
  -H "Content-Type: application/json" \
  -d '{"text": "Интервью с Екатериной Шульман о выборах."}'

Ответ — список упоминаний с позициями в тексте: удобно подсветить их в редакторе или проверить текст перед публикацией.

Что дальше

К сведению

Серверное API входит в тариф сайта — до 100 000 проверок в месяц, сверх того и без тарифа проверки списываются из пакетов API. Какие реестры размечаются, зависит от тарифа — «Лимиты и расход».