Debugging a broken API key shouldn't take hours. KeyPing lets you paste any API key and get a full validation report — status, health score, rate limits, scopes, and latency — in under 2 seconds. Built for developers and teams who ship fast and can't afford silent key failures in production.
Unlike generic secret managers, KeyPing is purpose-built for API key health: it tells you not just whether a key works, but how well it works, what it can do, and when it's about to expire.
- 🔑 Instant Key Validation — Paste any API key and get a pass/fail result with full details in under 2 seconds
- 📊 Health Score (0–100) — Every validation produces a composite score based on validity, rate limits, scopes, and response latency
- ⚡ Latency Benchmarking — Measures real round-trip latency to each provider's auth endpoint so you can spot slow keys before they slow down users
- 🧪 Bulk Testing — Test up to 10 keys simultaneously across dev, staging, and prod environments; export results as a PDF report
- 🔒 Secure Key Vault — Only the last 4 characters of each key are stored; full keys are tested at the edge and immediately discarded
- 🔔 Expiry Alerts — Set reminders for key expiry dates with configurable lead times (1, 3, or 7 days before)
- 👥 Team Workspaces — Create teams, invite members via shareable links, and manage shared key testing environments
- 📈 Analytics Dashboard — Track validation history, provider distribution, health score trends, and latency benchmarks over time
- 🌐 10+ Supported Providers — OpenAI, Groq, Anthropic, Stripe, GitHub, Twitter/X, Notion, Supabase, AWS, Gemini, and custom endpoints
- 🎨 Dark / Light Mode — Full theme support with smooth transitions
- ⌨️ Command Palette — Keyboard-first navigation across the entire app
| Category | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite |
| Styling | Tailwind CSS v3 + shadcn/ui + Radix UI |
| Backend | Supabase (Auth + PostgreSQL + RLS + Edge Functions) |
| Auth | Supabase Auth (Google OAuth) |
| Animations | Framer Motion |
| Charts | Recharts |
| PDF Export | jsPDF |
| Forms | React Hook Form + Zod |
| State | TanStack Query v5 |
| Deployment | Vercel |
- Node.js 18+
- pnpm (recommended) or npm
- Supabase account
# 1. Clone the repo
git clone https://github.com/MuhammadTanveerAbbas/Keyping.git
cd Keyping
# 2. Install dependencies
pnpm install
# 3. Set up environment variables
cp .env.example .env.local
# Fill in your values (see Environment Variables section below)
# 4. Run the development server
pnpm dev
# 5. Open in browser
# http://localhost:5173- Create a new project at supabase.com
- Run the migration files in
supabase/migrations/via the Supabase SQL editor - Deploy the edge function:
supabase functions deploy test-api-key - Copy your project URL and anon key into
.env.local
Create a .env.local file in the root directory:
# Supabase
VITE_SUPABASE_URL=https://your-project-id.supabase.co
VITE_SUPABASE_PUBLISHABLE_KEY=your-supabase-anon-key
VITE_SUPABASE_PROJECT_ID=your-project-idGet your keys at supabase.com → Project Settings → API.
Keyping/
├── public/ # Static assets (logo, favicon)
├── src/
│ ├── components/ # Reusable UI components
│ │ └── ui/ # shadcn/ui primitives
│ ├── pages/ # Route-level page components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Auth, providers config, utilities
│ └── integrations/
│ └── supabase/ # Supabase client + generated types
├── supabase/
│ ├── functions/
│ │ └── test-api-key/ # Edge function — validates keys server-side
│ └── migrations/ # Database schema migrations
├── .env.example
├── package.json
└── README.md
| Command | Description |
|---|---|
pnpm dev |
Start development server |
pnpm build |
Build for production |
pnpm build:dev |
Build in development mode |
pnpm preview |
Preview production build |
pnpm lint |
Run ESLint |
pnpm test |
Run tests (single run) |
pnpm test:watch |
Run tests in watch mode |
This project is deployed on Vercel.
- Click the button above
- Connect your GitHub account
- Add environment variables in the Vercel dashboard
- Deploy
- Single key validation with health score
- Bulk key testing (up to 10 keys)
- Secure key vault (last 4 chars only)
- Expiry alerts with configurable reminders
- Team workspaces with invite links
- Analytics dashboard with charts
- PDF export for bulk test reports
- Dark / light mode
- Command palette
- Email/webhook notifications for expiry alerts
- REST API for programmatic key validation
- Mobile app
- Slack / Discord integration
Contributions are welcome! Feel free to:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Distributed under the MIT License. See LICENSE for more information.
