AutoAiSeo API и MCP

Используйте данные AutoAiSeo в своих программах (REST API) или в ИИ-ассистентах вроде Claude, ChatGPT и Cursor (MCP). Каждый запрос имеет доступ только к данным вашего аккаунта.

Начало работы

  1. В панели откройте вкладку API и MCP и создайте ключ кнопкой Новый ключ — он (rk_live_…) показывается только один раз.
  2. Передавайте ключ в заголовке Authorization: Bearer в каждом запросе.
curl -H "Authorization: Bearer rk_live_…" https://autoaiseo.example/api/v1/sites

Базовый адрес: https://autoaiseo.example/api/v1. Все ответы — в формате JSON; успешные ответы возвращают поле data с результатом.

Аутентификация и права

ПраваЧто может
read (чтение)Аккаунт, сайты, статьи, ключевые слова, отчёт по бэклинкам, прогресс и история услуг.
read_write (чтение и запись)А также добавление идей статей, написание статей (списывается из месячной квоты плана) и публикация статей.
  • Не более 10 активных ключей на аккаунт. Ключи могут быть бессрочными или действовать 30 дней, 90 дней или 1 год.
  • AutoAiSeo не хранит сам ключ — только его хеш SHA-256 и видимое начало (rk_live_Ab3dEf). Потерянный ключ восстановить нельзя: отзовите его и создайте новый.
  • Отозванные и истёкшие ключи, а также ключи приостановленных аккаунтов сразу перестают работать.
  • Сессионные cookie браузера в API не действуют; ключ нужно передавать в каждом запросе.

Лимит запросов

60 запросов в минуту на каждый ключ (или OAuth-подключение). В ответах есть заголовки X-RateLimit-Limit и X-RateLimit-Remaining — при превышении лимита возвращается код 429 и заголовок Retry-After с числом секунд, которое нужно подождать.

Ошибки

{ "error": { "code": "not_found", "message": "Site bulunamadı" } }
HTTPcodeЗначение
400invalid_requestНекорректные параметры или тело запроса.
401unauthorized, invalid_tokenКлюч отсутствует, недействителен, отозван или истёк.
402quota_exceededМесячная квота статей исчерпана.
403insufficient_scopeДля этого действия нужны права «Чтение и запись».
403account_suspendedАккаунт приостановлен.
404not_foundЗапись не найдена или не принадлежит вам.
409conflict, not_ready, limit_reachedСтатья уже пишется или опубликована, не готова к публикации, либо достигнут лимит.
429rate_limitedПревышен лимит запросов.
502publish_failedМесто публикации (WordPress, Shopify…) не приняло публикацию.
500internal_errorНепредвиденная ошибка сервера.

Пагинация

Длинные списки принимают параметры page и per_page (не более 100–200) и возвращают:

"pagination": { "page": 1, "per_page": 50, "total": 132, "total_pages": 3 }

Эндпоинты

GET /api/v1/me

Аккаунт, лимиты плана, использование в этом месяце, дополнительные бэклинки и права используемого ключа.

GET /api/v1/sites

Ваши сайты: id, домен, статус, оценка SEO-здоровья, индекс доверия, опубликованные статьи, активные обратные ссылки, ссылающиеся домены, изменения за 30 дней и следующая статья.

GET /api/v1/sites/{id}

Сводка по сайту: профиль, настройки публикации, число статей (по статусам), сводка по сети обратных ссылок и прогресс за 30 дней.

GET /api/v1/sites/{id}/progress?range=90d

Отчёт о прогрессе. range: 30d, 90d, 180d, 365d, all.

GET /api/v1/sites/{id}/articles

Статьи (с пагинацией). Параметры: status (planned, generating, review, approved, published, failed), q (поиск по заголовку/ключевому слову), page, per_page.

GET /api/v1/articles/{id}

Статья: заголовок, meta description, оценки (SEO, GEO, читабельность), FAQ, партнёрские бэклинки, ссылки в тексте (внутренние/внешние/партнёрские) и содержимое. content: html (по умолчанию), markdown или none.

GET /api/v1/sites/{id}/keywords

Ключевые слова (с пагинацией): кластер, поисковый интент, приоритет и статья под это слово (article_id, article_status). Параметры: cluster, q, page, per_page.

GET /api/v1/sites/{id}/backlinks

Отчёт по бэклинкам: кредиты, активные/ожидающие ссылки, ссылающиеся домены, распределение анкоров, полученные ссылки (с пагинацией) и последние выданные ссылки.

GET /api/v1/sites/{id}/services

Работы, выполненные AutoAiSeo для сайта: итоги, последние 12 месяцев и история (30 записей на страницу). Параметры: kind, q, page.

POST /api/v1/sites/{id}/articles read_write

Добавляет идею статьи в контент-план (статус planned). Если дата не указана, статья ставится на следующий день после последней статьи в плане; в назначенный день AutoAiSeo её напишет. Квота не расходуется.

curl -X POST -H "Authorization: Bearer rk_live_…" -H "Content-Type: application/json" \
  -d '{"title":"Filtre kahve nasıl demlenir?","target_keyword":"filtre kahve demleme","angle":"Yeni başlayanlar için"}' \
  https://autoaiseo.example/api/v1/sites/12/articles

Тело запроса: title (обязательно, 5–200), target_keyword, cluster, angle, scheduled_for (YYYY-MM-DD). Ответ: 201.

POST /api/v1/articles/{id}/generate read_write

Запускает написание статьи в фоне (202, статус generating). Действуют те же правила, что и в панели: статья списывается из месячной квоты (повторное написание статьи, уже написанной в этом месяце, бесплатно), опубликованную статью переписать нельзя. После завершения статус — review olur.

POST /api/v1/articles/{id}/publish read_write

Отправляет написанную статью в место публикации сайта (блог AutoAiSeo, WordPress, Shopify, Webflow, webhook) и возвращает адрес публикации.

MCP-сервер

Адрес: https://autoaiseo.example/mcp — транспорт Streamable HTTP (ответы в JSON). Версии протокола: 2026-07-28 и более ранние версии с рукопожатием (2025-11-25, 2025-06-18, 2025-03-26).

Аутентификация выполняется одним из двух способов:

  • OAuth — коннекторы вроде Claude и ChatGPT при добавлении адреса открывают страницу входа и разрешений AutoAiSeo; API-ключ не нужен. Удалить подключение можно в панели, в разделе Подключённые приложения.
  • API-ключ — для клиентов вроде Cursor, Claude Code и VS Code; передаётся как Authorization: Bearer rk_live_… в заголовке.

Claude

Настройки → Коннекторы → Добавить пользовательский коннектор, вставьте адрес MCP в поле URL и нажмите Подключить.

ChatGPT

Настройки → Приложения и коннекторы → Расширенные настройки: включите режим разработчика, нажмите Создать коннектор и укажите адрес MCP и аутентификацию OAuth.

Cursor (~/.cursor/mcp.json)

{
  "mcpServers": {
    "autoaiseo": {
      "url": "https://autoaiseo.example/mcp",
      "headers": { "Authorization": "Bearer rk_live_…" }
    }
  }
}

Claude Code

claude mcp add --transport http autoaiseo https://autoaiseo.example/mcp --header "Authorization: Bearer rk_live_…"

Инструменты MCP

Результаты инструментов содержат краткую текстовую сводку и те же данные в структурированном виде (structuredContent). Инструменты записи отображаются, только если выдано разрешение на запись.

ИнструментЧто делает
list_sitesСайты и сводные метрики; для других инструментов — site_id.
site_overviewПрофиль сайта, метрики, число статей, сводка по сети обратных ссылок.
site_progressОтчёт о прогрессе за период (начало и текущее состояние, ключевые этапы).
list_articlesСтатьи; фильтр по статусу и тексту, с пагинацией.
get_articleСодержимое статьи (markdown/HTML), оценки, ссылки, FAQ.
list_keywordsКлючевые слова и статьи, которые их покрывают.
backlink_reportОтчёт по сети обратных ссылок и полученные ссылки.
services_historyПеречень работ, выполненных AutoAiSeo.
add_article_idea yazmaДобавляет идею статьи в контент-план.
generate_article yazmaЗапускает написание статьи (списывается из квоты).
publish_article yazmaПубликует статью.

OAuth (для разработчиков MCP-клиентов)

AutoAiSeo включает небольшой сервер авторизации OAuth 2.1, соответствующий спецификации авторизации MCP.

Метаданные защищённого ресурса/.well-known/oauth-protected-resource (а также с /mcp в конце)
Метаданные сервера авторизации/.well-known/oauth-authorization-server
Регистрация клиентаClient ID Metadata Documents (https client_id) или динамическая регистрация: POST /oauth/register (только публичные клиенты, token_endpoint_auth_method: none)
АвторизацияGET /oauth/authorize — response_type=code, PKCE S256 zorunlu, resource (RFC 8707), в ответе iss (RFC 9207)
КлючPOST /oauth/token — authorization_code и refresh_token
ОтменаPOST /oauth/revoke (RFC 7009)
Области доступа (scopes)read, write (запись включает чтение). Уровень доступа пользователь выбирает на экране согласия.
  • Адреса перенаправления должны использовать https или localhost/127.0.0.1 — совпадение должно быть точным (для loopback-адресов порт может быть любым).
  • Код авторизации действует 2 минуты и используется только один раз; повторное использование отзывает все токены этого подключения.
  • Токен доступа действует 1 час, refresh-токен — 30 дней. Refresh-токены меняются при каждом использовании; повторное использование старого refresh-токена закрывает подключение.
  • Токены доступа выдаются только для MCP-сервера; для REST API нужен личный API-ключ.
  • При недостаточной области доступа — 403 и WWW-Authenticate: Bearer error="insufficient_scope", scope="read write" в ответе.

Конфиденциальность

Журнал активности API в панели содержит только метод, путь, код статуса, длительность, видимое начало ключа (или название OAuth-приложения) и время. Содержимое запросов и ответов и IP-адреса не записываются; для каждого аккаунта хранятся последние 1000 запросов.