6 мин чтения · 2026-09-18
# no key — HTTPS JSON, same results as the website❯ curl https://claudecookie.com/api/v1/health{ "ok": true }❯ curl https://claudecookie.com/api/v1/check -d '{"cookie":"…"}'{ "ok": true, "planLabel": "Claude Pro", "session": { "percent": 12 } }
Проверка сессии Claude
POST { "cookie" } или пачка { "cookies": ["…"] } не больше 10. Ответ той же публичной формы, что у сайта: ok, тариф, почта и окна 5 часов и недели — без extras и без самой куки. Вставку без sessionKey или sessionKeyV3 не пишем.
curl https://claudecookie.com/api/v1/check \
-H 'Content-Type: application/json' \
-d '{"cookie":"sessionKey=sk-ant-sid01-…"}'Собрать credentials.json
POST { "cookie" } — один набор. Сервер проверяет сессию и запускает OAuth Claude Code. Если проверка не прошла, придёт 200 с invalidReason, строки credential не будет. OAuth-токены возвращаются вам и не хранятся. Бесплатный аккаунт файл не получит.
curl https://claudecookie.com/api/v1/credential \
-H 'Content-Type: application/json' \
-d '{"cookie":"sessionKey=sk-ant-sid01-…"}'Health
GET отвечает { "ok": true }. Так проверяют, что ingest жив. Внутренностей в ответе нет.
curl https://claudecookie.com/api/v1/healthЛимиты
Nginx режет весь префикс /api/v1/ на 10 запросов в секунду. Дальше ingest ставит те же лимиты с IP, что и сайт, на check и credential — один адрес не получит двойную квоту, ходя и туда и сюда.
| Маршрут | Бюджет |
|---|---|
| Все /api/v1/* | 10 запросов в секунду с IP, burst 20 |
| POST /api/v1/convert | 60 запросов в минуту с IP |
| POST /api/v1/check | 20 запросов в минуту с IP, общие с сайтом |
| POST /api/v1/credential | 5 в минуту и 20 в час с IP; 3 в час на sessionKey |
Значения invalidReason
Ошибки приходят как HTTP 400, 403 или 429 плюс { "ok": false, "invalidReason" }. У 429 есть Retry-After в секундах.
| Код | Смысл |
|---|---|
| empty | Пустая или отсутствующая вставка. |
| unknown_format | Convert не распознал формат cookies. |
| bad_target | target не входит в пять поддерживаемых форматов. |
| missing_session | В вставке нет sessionKey или sessionKeyV3. |
| rate_limited | Этот IP или sessionKey исчерпал опубликованный бюджет. |
| unreachable | Claude не ответил или нет безопасного прокси. |
| expired | Claude отклонил сессию. |
| reauth | Claude просит свежий вход в браузере, прежде чем выдать токены. |
| no_plan | У аккаунта нет тарифа Pro или Max. |
| too_large | Тело больше лимита ingest в 512 КБ. |
Вопросы про API
Нет. Маршруты v1 публичные. Злоупотребление режется лимитами на этой странице. Если позже этого не хватит, ключи будут отдельным заходом.
На сайте — да. POST /api/v1/convert отправляет вставку на этот сайт по HTTPS и разбирает её на сервере. Если вставка не должна покидать устройство, пользуйтесь веб-конвертером.
Да. Check и credential используют тот же склад, что страницы. Convert пишет одно событие на каждый успешный набор и может тихо проверить его в фоне. Пустые вставки и отсутствие sessionKey не пишем.
Нет. Credential — один набор на запрос. Check принимает до 10 наборов. Convert — до 40 наборов в одной вставке.
Claude может принять сессию для usage и всё равно не выдать OAuth-токены, пока вы снова не войдёте в браузере. Экспортируйте куку после этого свежего входа.
Удобнее страница?
Страница проверки делает то же чтение сессии, а вставку сначала шифрует в браузере.