Быстрый старт
Серверное API размечает HTML или текст: вставляет пометки и сноски по закону и возвращает список найденных упоминаний. Подходит для любой CMS, рассылок, Telegram-каналов и архивов статей. Разметка та же, что у виджета и плагинов: один словарь, одни формулировки, настройки вида из кабинета.
Получите ключ
- Войдите в кабинет и добавьте сайт — секретный ключ
sk_…покажется один раз, сохраните его. - Если ключ потерян — «выпустить новый секретный ключ» на странице сайта в кабинете.
Домен сайта нужен виджету; к 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. Какие реестры размечаются, зависит от тарифа — «Лимиты и расход».