Skip to content

Контроль квоты сторонних API

Stripe, GitHub, Twilio возвращают X-RateLimit-Remaining в заголовках. Если бэкенд не отслеживает порог — внезапно пойдёт 429, биллинг встанет.

Рецепт

python
# Probe a cheap idempotent endpoint, alert when remaining quota < 10%.
import os, requests

API_URL = os.environ['API_URL']        # e.g. https://api.github.com/rate_limit
TOKEN   = os.environ['API_TOKEN']
ALERT_PERCENT = int(os.environ.get('ALERT_PERCENT', 10))

r = requests.get(API_URL, headers={'Authorization': f'Bearer {TOKEN}'}, timeout=5)
limit     = int(r.headers.get('X-RateLimit-Limit',     0))
remaining = int(r.headers.get('X-RateLimit-Remaining', 0))

if limit and remaining * 100 // limit < ALERT_PERCENT:
    requests.post(os.environ['SLACK_WEBHOOK'], json={
        'text': f'API quota at {remaining}/{limit} on {API_URL}'
    }, timeout=5)

То же самое в Enterno.io

HTTP-monitor Pioneer+ умеет хранить header-snapshot. Поставьте проверку на /rate_limit-эндпоинт раз в 5 минут — Enterno поднимет алерт ровно тогда, когда нужная цифра падает.

Настроить API monitor → ← Все рецепты

Похожие рецепты