kigrok45 downloadsValidate API keys and check rate limits for 20+ AI providers.
Validate API keys and detect rate limits for 21 AI providers — right inside Obsidian, in one click.
LIMIT — 17:20 or LIMIT — 07.11 15:00.12 OK | 3 LIMIT | 2 INVALID (17 total) at a glance.Open Settings → Community plugins → Browse, search for AI API Key Checker, and install — or open it directly in the community plugin catalog. Then enable the plugin.
main.js, manifest.json, and styles.css from the latest release.YourVault/.obsidian/plugins/api-key-checker/:YourVault/.obsidian/plugins/api-key-checker/
├── main.js
├── manifest.json
└── styles.css
Add this repository in the BRAT plugin to auto-update from releases.
| Provider | Check Method | Notes |
|---|---|---|
/v1/models |
||
/v1/models |
||
| Model list + Gemini probe | Detects daily quota reset | |
/v1/models |
||
| Chat completion (grok-3) | ||
| Anthropic messages API | Parses reset time from 402 | |
| Anthropic messages API | ||
| Chat completion | Shows balance | |
| Anthropic messages API | Detects rate limit via error body | |
| Chat completion (free model) | ||
/v1/models |
Bearer auth | |
| Model invoke (nova-lite) | Detects proxy limitations | |
| Chat completion (glm-5) | ||
/v1/models |
||
| Chat completion (mercury-2) | ||
| Chat completion (deepseek-v4-pro) | ||
| Chat completion (abliterated-model) | ||
| Chat completion (free model) | ||
| Chat completion (gpt-3.5-turbo) | ||
/v1/chats |
||
| Chat completion (Mistral-7B) |
| Status | Meaning | |
|---|---|---|
OK |
🟢 | Key is valid and working |
LIMIT |
🟡 | Key works but is rate-limited or out of credits (shows reset time) |
INVALID |
🔴 | Key rejected — check for typos or expiry |
ERROR |
🟠 | Network issue or the provider is down |
Your keys never leave your machine except to reach the provider you are validating.
There is no telemetry, no analytics, and no third-party server in between.
Keys are stored locally in .obsidian/plugins/api-key-checker/data.json — treat that file as a secret and never commit it.
The click-to-copy feature writes the selected key to your system clipboard only when you click it; the plugin never reads clipboard content.
npm install # install dev dependencies
npm run dev # watch-mode build (esbuild)
npm run build # type-check + minified production bundle -> main.js
npm run lint # ESLint (typescript-eslint + eslint-plugin-obsidianmd)
Source lives in src/ (main.ts = UI/plugin lifecycle, checker.ts = validation engine). Obsidian only loads the bundled main.js, so rebuild after every change. Adding a provider is a five-step change — see CLAUDE.md.
MIT © VenvStore