{
 "мета": {
  "раздел": "Расход на API",
  "месяц": "октябрь 2026",
  "пояснение": "Первый платный расход прошёл 08.09.2026: подключены ключи Anthropic и OpenRouter, на них сделан первый GEO-замер (оценка прогона ~130 ₽). Расход по каждому сервису - оценка прогона, точные суммы уточняются по выпискам. Лимиты в последней колонке - предложение, а не утверждённый бюджет: согласовать с руководителем. Бесплатно работают сервисы Яндекса: Вебмастер и Метрика (счётчик 112358898).",
  "демо": false,
  "курс": "расход в рублях; для сервисов в долларах пересчёт по курсу на день списания",
  "ключи": {
   "файл": "~/.config/secrets.env",
   "состояние": "в ~/.config/secrets.env пять ключей: YANDEX_WEBMASTER_TOKEN, XMLRIVER_USER, XMLRIVER_KEY, ANTHROPIC_API_KEY (08.09), OPENROUTER_API_KEY (08.09)",
   "правило": "ключи живут только в этом файле с правами 600; ни в коде, ни в настройках, ни в переписке",
   "подключение": "создать файл, вписать строки export ИМЯ=значение, дописать в ~/.bashrc строку подгрузки, проверить прогоном завод/geo/monitor.py --dry-run"
  }
 },
 "строки": [
  {
   "сервис": "Яндекс Вебмастер",
   "назначение": "показы, клики, позиции и переобход страниц портала",
   "статус_ключа": "подключён, выгрузка по расписанию",
   "запросов": 0,
   "расход": 0,
   "лимит": 0,
   "запросов_демо": 0,
   "расход_демо": 0,
   "демо": false,
   "переменная": [
    "YANDEX_WEBMASTER_TOKEN"
   ],
   "где": "oauth.yandex.ru → создать приложение → права webmaster:hostinfo и webmaster:verify",
   "старт": "бесплатно, платить не за что",
   "очередь": 0,
   "блокирует": "ничего: ключ на месте. Данные появятся, когда Вебмастер загрузит домен",
   "нота": "токен в ~/.config/secrets.env, живёт до 03.03.2027. user_id 2427986624, host_id https:frantlas.ru:443. Выгрузка: завод/вебмастер/выгрузка.py, cron в 05:30, снимки копятся в завод/вебмастер/история - сам Вебмастер отдаёт только две последние недели. Переобход: завод/вебмастер/переобход.py, 04.09 отправлены все 13 страниц, квота 137 из 150"
  },
  {
   "сервис": "OpenRouter",
   "назначение": "GEO-замер: Claude, ChatGPT, Perplexity, Gemini",
   "статус_ключа": "подключён 08.09.2026",
   "запросов": 256,
   "расход": 353,
   "лимит": 2000,
   "запросов_демо": 288,
   "расход_демо": 740,
   "демо": false,
   "переменная": [
    "OPENROUTER_API_KEY"
   ],
   "где": "openrouter.ai → Keys",
   "старт": "оплата по факту, пополнение от $5",
   "очередь": 0,
   "блокирует": "ничего: ключ на месте, ChatGPT, Perplexity и Gemini замерены",
   "нота": "подключён 08.09.2026. Первый расход - GEO-замер: ChatGPT, Perplexity, Gemini, ~138 запросов, оценка прогона $0.25 (≈23 ₽ по курсу ~90 ₽/$). Точная сумма - по выписке openrouter.ai"
  },
  {
   "сервис": "Anthropic API",
   "назначение": "тексты статей",
   "статус_ключа": "подключён 08.09.2026, нужен баланс",
   "запросов": 46,
   "расход": 110,
   "лимит": 6000,
   "запросов_демо": 1840,
   "расход_демо": 4210,
   "демо": false,
   "переменная": [
    "ANTHROPIC_API_KEY"
   ],
   "где": "console.anthropic.com → API keys",
   "старт": "оплата по факту, пополнение от $5",
   "очередь": 0,
   "блокирует": "ничего по подключению, но кончились кредиты: Claude ответил 26 из 46 промптов GEO-замера, для полного прогона аккаунт надо пополнить",
   "нота": "подключён 08.09.2026. Первый расход - GEO-замер Claude напрямую, 46 запросов (26 прошли, 20 упали на «credit balance too low»), оценка $1.21 (≈110 ₽ по курсу ~90 ₽/$). Отдельный ключ, не подписка Claude Code. Пополнить баланс на console.anthropic.com и перевыпустить ключ (светился в чате)",
   "примечание": "С 14.09.2026 GEO-замер Claude идёт через OpenRouter, а не напрямую: модель и цена те же, ключ один на четыре платформы набора."
  },
  {
   "сервис": "XMLRiver",
   "назначение": "частотность Wordstat, съём позиций",
   "статус_ключа": "подключён, первый прогон 07.09.2026",
   "запросов": 362,
   "расход": 9,
   "лимит": 3000,
   "запросов_демо": 640,
   "расход_демо": 1280,
   "демо": false,
   "переменная": [
    "XMLRIVER_USER",
    "XMLRIVER_KEY"
   ],
   "где": "xmlriver.com → личный кабинет",
   "старт": "предоплата ₽5000",
   "очередь": 0,
   "блокирует": "ничего: ключ на месте. Через него снят первый собственный замер частотности и найдены живые формулировки запросов",
   "нота": "ключи XMLRIVER_USER и XMLRIVER_KEY в ~/.config/secrets.env. 07.09.2026 прогон по 65 затравкам вернул 2 256 фраз, цена фразы 2,5 копейки, потрачено около 2 рублей. Скрипты: семантика/расширение-ядра.py (живые формулировки, pagetype=words) и семантика/замер-xmlriver.py (частотность, pagetype=history)"
  },
  {
   "сервис": "Firecrawl",
   "назначение": "сбор источников и инфоповодов",
   "статус_ключа": "не подключён",
   "запросов": 0,
   "расход": 0,
   "лимит": 2500,
   "запросов_демо": 410,
   "расход_демо": 1620,
   "демо": false,
   "переменная": [
    "FIRECRAWL_API_KEY"
   ],
   "где": "firecrawl.dev → API keys",
   "старт": "есть бесплатный тариф, на старте хватит",
   "очередь": 4,
   "блокирует": "сбор источников и инфоповодов",
   "нота": " - "
  },
  {
   "сервис": "Yandex Cloud",
   "назначение": "GEO-замер: Алиса и Я.Нейро",
   "статус_ключа": "подключён 23.09.2026, первый замер в тот же день",
   "запросов": 46,
   "расход": 177,
   "лимит": 1000,
   "запросов_демо": 96,
   "расход_демо": 180,
   "демо": false,
   "переменная": [
    "YANDEX_API_KEY",
    "YANDEX_FOLDER_ID"
   ],
   "где": "console.cloud.yandex.ru → сервисный аккаунт с ролью ai.languageModels.user",
   "старт": "оплата по факту",
   "очередь": 5,
   "блокирует": "ничего: ключ на месте, замер прошёл",
   "нота": "Search API (GenSearch): ищет в вебе и возвращает источники, цитатой считаем только те, у которых used=true. Тариф за запрос, а не за токены: прогон 46 промптов стоил 1,92 доллара, около 177 ₽. Ключи YANDEX_API_KEY и YANDEX_FOLDER_ID в ~/.config/secrets.env"
  },
  {
   "сервис": "Apify",
   "назначение": "разбор тона конкурентов (БиБосс, Топфранчайзи)",
   "статус_ключа": "не подключён",
   "запросов": 0,
   "расход": 0,
   "лимит": 1500,
   "запросов_демо": 52,
   "расход_демо": 390,
   "демо": false,
   "переменная": [
    "APIFY_TOKEN"
   ],
   "где": "apify.com → Settings → Integrations",
   "старт": "есть бесплатный тариф",
   "очередь": 6,
   "блокирует": "разбор тона конкурентов",
   "нота": "можно отложить: на запуск не влияет"
  },
  {
   "сервис": "Яндекс Метрика",
   "назначение": "посетители и просмотры портала, поведение на странице",
   "статус_ключа": "подключён 10.09.2026, токен metrika:read",
   "запросов": 0,
   "расход": 0,
   "лимит": 0,
   "запросов_демо": 0,
   "расход_демо": 0,
   "демо": false,
   "переменная": [
    "YANDEX_METRIKA_TOKEN"
   ],
   "где": "metrika.yandex.ru, счётчик стоит в шаблоне страниц портала",
   "старт": "бесплатно, платить не за что",
   "очередь": 0,
   "блокирует": "ничего: токен на месте, выгрузка идёт",
   "нота": "счётчик 112358898, код в сайт/оформление.py. Токен YANDEX_METRIKA_TOKEN в secrets.env (metrika:read, подключён 10.09). Выгрузка завод/метрика/выгрузка.py пишет в report.json seo.метрика и снимок в завод/метрика/история. Вебвизор выключен намеренно."
  }
 ],
 "разрезы": {
  "по_процессам": [
   {
    "процесс": "Замер ИИ-цитируемости",
    "вызовов": 394,
    "вход": 17628,
    "выход": 260033,
    "рублей": 529.79,
    "на_вызов": 1.345,
    "без_цены": 2
   },
   {
    "процесс": "Замер частотности ядра",
    "вызовов": 222,
    "вход": null,
    "выход": null,
    "рублей": 5.56,
    "на_вызов": 0.025,
    "без_цены": 0
   },
   {
    "процесс": "Проверка интента по выдаче",
    "вызовов": 111,
    "вход": null,
    "выход": null,
    "рублей": 2.78,
    "на_вызов": 0.025,
    "без_цены": 0
   },
   {
    "процесс": "Позиции публикаций на площадках",
    "вызовов": 29,
    "вход": null,
    "выход": null,
    "рублей": 0.73,
    "на_вызов": 0.025,
    "без_цены": 0
   }
  ],
  "по_дням": [
   {
    "дата": "2026-09-23",
    "вызовов": 92,
    "вход": null,
    "выход": null,
    "рублей": 177.0,
    "на_вызов": 1.924,
    "без_цены": 0
   },
   {
    "дата": "2026-09-17",
    "вызовов": 46,
    "вход": 3509,
    "выход": 12447,
    "рублей": 0.0,
    "на_вызов": 0.0,
    "без_цены": 0
   },
   {
    "дата": "2026-09-16",
    "вызовов": 333,
    "вход": null,
    "выход": null,
    "рублей": 8.34,
    "на_вызов": 0.025,
    "без_цены": 0
   },
   {
    "дата": "2026-09-15",
    "вызовов": 29,
    "вход": null,
    "выход": null,
    "рублей": 0.73,
    "на_вызов": 0.025,
    "без_цены": 0
   },
   {
    "дата": "2026-09-14",
    "вызовов": 184,
    "вход": 14119,
    "выход": 247586,
    "рублей": 352.79,
    "на_вызов": 1.917,
    "без_цены": 0
   },
   {
    "дата": "2026-09-08",
    "вызовов": 72,
    "вход": null,
    "выход": null,
    "рублей": 0.0,
    "на_вызов": 0.0,
    "без_цены": 2
   }
  ],
  "по_сервисам": [
   {
    "сервис": "OpenRouter",
    "вызовов": 256,
    "вход": 14119,
    "выход": 247586,
    "рублей": 352.79,
    "на_вызов": 1.378,
    "без_цены": 2
   },
   {
    "сервис": "Yandex Cloud",
    "вызовов": 46,
    "вход": null,
    "выход": null,
    "рублей": 177.0,
    "на_вызов": 3.848,
    "без_цены": 0
   },
   {
    "сервис": "XMLRiver",
    "вызовов": 362,
    "вход": null,
    "выход": null,
    "рублей": 9.07,
    "на_вызов": 0.025,
    "без_цены": 0
   },
   {
    "сервис": "GigaChat",
    "вызовов": 92,
    "вход": 3509,
    "выход": 12447,
    "рублей": 0.0,
    "на_вызов": 0.0,
    "без_цены": 0
   }
  ],
  "последние": [
   {
    "когда": "2026-09-23 15:45",
    "дата": "2026-09-23",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "Yandex Cloud",
    "модель": "Search API (GenSearch)",
    "вызовов": 46,
    "вход": null,
    "выход": null,
    "стоимость": 177.0,
    "валюта": "RUB",
    "рублей": 177.0,
    "нота": "тариф за запрос, 1,92 доллара по курсу 92"
   },
   {
    "когда": "2026-09-23 15:34",
    "дата": "2026-09-23",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "GigaChat",
    "модель": "GigaChat-2",
    "вызовов": 46,
    "вход": null,
    "выход": null,
    "стоимость": 0.0,
    "валюта": "RUB",
    "рублей": 0.0,
    "нота": "бесплатный режим Freemium, прогон по просьбе руководителя"
   },
   {
    "когда": "2026-09-17 12:40",
    "дата": "2026-09-17",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "GigaChat",
    "модель": "GigaChat-2",
    "вызовов": 46,
    "вход": 3509,
    "выход": 12447,
    "стоимость": 0.0,
    "валюта": "RUB",
    "рублей": 0.0,
    "нота": "бесплатный режим Freemium, 250 млн токенов Lite в год"
   },
   {
    "когда": "2026-09-16 16:22",
    "дата": "2026-09-16",
    "процесс": "частотность-ядра",
    "имя_процесса": "Замер частотности ядра",
    "сервис": "XMLRiver",
    "модель": "wordstat/history",
    "вызовов": 111,
    "вход": null,
    "выход": null,
    "стоимость": 2.78,
    "валюта": "RUB",
    "рублей": 2.78,
    "нота": "прогон кнопкой из панели, обновлено фраз 0"
   },
   {
    "когда": "2026-09-16 15:40",
    "дата": "2026-09-16",
    "процесс": "интент-по-выдаче",
    "имя_процесса": "Проверка интента по выдаче",
    "сервис": "XMLRiver",
    "модель": "search_yandex/xml",
    "вызовов": 111,
    "вход": null,
    "выход": null,
    "стоимость": 2.78,
    "валюта": "RUB",
    "рублей": 2.78,
    "нота": "вывод прогона семантика/интент-по-выдаче.py"
   },
   {
    "когда": "2026-09-16 14:30",
    "дата": "2026-09-16",
    "процесс": "частотность-ядра",
    "имя_процесса": "Замер частотности ядра",
    "сервис": "XMLRiver",
    "модель": "wordstat/history",
    "вызовов": 111,
    "вход": null,
    "выход": null,
    "стоимость": 2.78,
    "валюта": "RUB",
    "рублей": 2.78,
    "нота": "вывод прогона семантика/замер-xmlriver.py --все"
   },
   {
    "когда": "2026-09-15 13:32",
    "дата": "2026-09-15",
    "процесс": "позиции-площадок",
    "имя_процесса": "Позиции публикаций на площадках",
    "сервис": "XMLRiver",
    "модель": "search_yandex/xml",
    "вызовов": 29,
    "вход": null,
    "выход": null,
    "стоимость": 0.73,
    "валюта": "RUB",
    "рублей": 0.73,
    "нота": "вывод прогона семантика/позиции-площадок.py"
   },
   {
    "когда": "2026-09-14 14:39",
    "дата": "2026-09-14",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "OpenRouter",
    "модель": "anthropic/claude-opus-5",
    "вызовов": 46,
    "вход": 4809,
    "выход": 143063,
    "стоимость": 3.6006,
    "валюта": "USD",
    "рублей": 331.26,
    "нота": "отчёт завод/geo/отчёты/2026-09-14.json"
   },
   {
    "когда": "2026-09-14 14:39",
    "дата": "2026-09-14",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "OpenRouter",
    "модель": "openai/gpt",
    "вызовов": 46,
    "вход": 3260,
    "выход": 16749,
    "стоимость": 0.1756,
    "валюта": "USD",
    "рублей": 16.16,
    "нота": "тот же отчёт"
   },
   {
    "когда": "2026-09-14 14:39",
    "дата": "2026-09-14",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "OpenRouter",
    "модель": "perplexity/sonar",
    "вызовов": 46,
    "вход": 3351,
    "выход": 32759,
    "стоимость": 0.0361,
    "валюта": "USD",
    "рублей": 3.32,
    "нота": "тот же отчёт"
   },
   {
    "когда": "2026-09-14 14:39",
    "дата": "2026-09-14",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "OpenRouter",
    "модель": "google/gemini",
    "вызовов": 46,
    "вход": 2699,
    "выход": 55015,
    "стоимость": 0.0223,
    "валюта": "USD",
    "рублей": 2.05,
    "нота": "тот же отчёт"
   },
   {
    "когда": "2026-09-08 16:57",
    "дата": "2026-09-08",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "OpenRouter",
    "модель": "anthropic/claude-opus-5",
    "вызовов": 26,
    "вход": null,
    "выход": null,
    "стоимость": null,
    "валюта": "USD",
    "рублей": null,
    "нота": "первый прогон, у Anthropic кончились кредиты - Claude ответил 26 из 46"
   },
   {
    "когда": "2026-09-08 16:57",
    "дата": "2026-09-08",
    "процесс": "geo-замер",
    "имя_процесса": "Замер ИИ-цитируемости",
    "сервис": "OpenRouter",
    "модель": "openai/gpt",
    "вызовов": 46,
    "вход": null,
    "выход": null,
    "стоимость": null,
    "валюта": "USD",
    "рублей": null,
    "нота": "отчёт 2026-09-08, свод по платформе"
   }
  ],
  "итоги": {
   "рублей": 538.86,
   "вызовов": 756,
   "прогонов": 13,
   "без_цены": 2,
   "курс": 92.0,
   "первый": "2026-09-08",
   "последний": "2026-09-23"
  },
  "оговорка": "Доллары пересчитаны по курсу 92 ₽, он вписан в скрипт и сверен 17.09.2026: курс на день списания панель не знает, поэтому цифра в рублях - оценка, а не выписка. У 2 строк цены нет: прогон был, а сумма по нему не сохранилась. Такие строки в итог не идут и помечены прочерком.",
  "источник": "завод/расход/журнал.csv"
 }
}
