Every request to the stablebrowse API includes an Authorization: Bearer sb_live_... header. The key maps to your business — the paying customer account. It doesn’t identify individual end-users; that’s a separate field you pass on each request (see End users). Keys are independent: rotate or revoke one without affecting the others.
Optional: give it a label like production or staging-us-east
Copy the sb_live_... value shown in the banner
The full secret is shown exactly once. Save it somewhere secure immediately — we only store a hash, so if you lose it, you’ll need to mint a new key and revoke the old one.
Dashboard: Settings → API Keys → Revoke on the key’s row.A revoked key starts returning 403 Forbidden immediately on every request. Other keys keep working. Revocation is irreversible — if you revoked by mistake, just mint a new one.
Every business gets a monthly 15-task quota on the free tier. The counter is shared across every way you submit tasks — dashboard chat, API key, any SDK. It resets automatically at the start of each calendar month (UTC).Over the limit, the API returns 429 Too Many Requests:
{ "error": "Monthly limit of 15 tasks reached. Email team@stablebrowse.ai for higher limits.", "limit": 15, "used": 15}
Current usage is visible in the dashboard under Settings → Usage this month.
Never commit keys to git. Use env vars, secret managers (AWS Secrets Manager, Doppler, 1Password CLI, etc.), or your platform’s secret store.
One key per environment.production, staging, local-dev-alice. Makes rotation and revocation painless.
Don’t share keys across integrations. If you’re running a cron and a web backend, give each its own key labeled accordingly — that way the dashboard’s lastUsedAt column tells you which integration is active.
On suspicion of leak, revoke immediately and mint a new one. Faster than investigating; cheap to do.