Validate API keys across 10+ providers — check status, rate limits, and permissions in one dashboard.
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.
Keys are validated server-side via Supabase Edge Functions — your full key is never stored, only the last 4 characters are saved for reference.
- 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
- Bulk Testing — Test up to 10 keys simultaneously; 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 (⌘+K)
| Category | Technology |
|---|---|
| Frontend | React 18 + TypeScript + Vite 5 |
| 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, React Context (auth) |
| Testing | Vitest + Testing Library |
| Deployment | Vercel (SPA + Edge Functions) |
- Node.js 18+
- pnpm
- 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 SQL from
supabase/schema.sqlvia the Supabase SQL editor - Deploy the edge function:
supabase functions deploy test-api-key - Copy your project URL and anon key into
.env.local
| Variable | Required | Description |
|---|---|---|
VITE_SUPABASE_URL |
Yes | Supabase project URL (client-safe) |
VITE_SUPABASE_ANON_KEY |
Yes | Supabase anon/public key (client-safe) |
SUPABASE_SERVICE_ROLE_KEY |
Edge functions only | Supabase service role key (server-only) |
SUPABASE_ANON_KEY |
Edge functions only | Supabase anon key for edge function auth verification (server-only) |
CRON_SECRET |
Vercel Cron only | Secret for authenticating cron job requests |
Get your keys at supabase.com → Project Settings → API.
Keyping/
├── api/ # Vercel serverless/edge functions
│ ├── health.ts # Health check endpoint
│ └── keep-alive.ts # Cron job to prevent cold starts
├── public/ # Static assets
├── src/
│ ├── components/ # Reusable UI components
│ │ └── ui/ # shadcn/ui primitives
│ ├── pages/ # Route-level page components
│ ├── hooks/ # Custom React hooks
│ ├── lib/ # Auth, providers config, schemas, utilities
│ └── integrations/
│ └── supabase/ # Supabase client + generated types
├── supabase/
│ ├── functions/
│ │ └── test-api-key/ # Edge function: validates keys server-side
│ └── schema.sql # Database schema + RLS policies
├── .env.example
├── package.json
└── README.md
| Command | Description |
|---|---|
pnpm dev |
Start development server (port 8080) |
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 |
Deployed on Vercel.
- Push to GitHub
- Import repo into Vercel
- Set environment variables in Vercel dashboard
- Deploy
- Deploy edge functions:
supabase functions deploy test-api-key --project-ref your-project-id
- 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
- Stripe subscription integration
- Rate limiting on edge functions
Contributions are welcome!
- 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.
Muhammad Tanveer Abbas — SaaS Developer | Production-ready MVPs in 14–21 days Portfolio: https://themvpguy.vercel.app