Complete API intelligence in six layers.
Each layer is independently useful. Together they give you visibility no other tool provides.
The CLI Scanner
Start with a coverage report in one command.
The EndpointLens CLI scanner parses your OpenAPI specification and recursively scans your frontend source directory for references to every endpoint. It uses three-pass pattern matching across React, Next.js, Vue, Angular, Svelte, and any framework that makes HTTP calls as strings.
$ npm install -g @endpointlens/scanner
$ els scan --spec https://api.yourapp.com/api-json \
--src ./src --threshold 75 --push --api-key $EL_KEY
📊 Coverage Report
Total: 1,024
Wired: 847
Unwired: 177
Coverage: 82.7%
✗ GET /api/v1/reports/annual
✗ POST /api/v1/payments/refund
✗ GET /api/v1/audit/logs
✗ DELETE /api/v1/cache/invalidate
✗ PATCH /api/v1/settings/notificationsThe Interceptor SDKs
One import. Zero latency. Live traffic in seconds.
Install the EndpointLens interceptor SDK for your backend framework. It captures every request asynchronously after the response has been sent. Your users never wait for EndpointLens. The SDK adds under one millisecond of overhead on average.
npm i @endpointlens/nestjsnpm i @endpointlens/expresspip install endpointlens-fastapipip install endpointlens-drfcomposer require endpointlens/laravelEndpointLensModule.forRoot({
projectId: process.env.EL_PROJECT_ID,
apiKey: process.env.EL_API_KEY,
endpoint: 'https://api.endpointlens.com/ingest',
enabled: process.env.NODE_ENV === 'production',
})The Unified Dashboard
Coverage and traffic in one view.
The dashboard fuses your static coverage data with live traffic data. For every endpoint you see its coverage status, file references, call count, average response time, error rate, and last seen timestamp.
| Method | Endpoint | Time | Error | Signal |
|---|---|---|---|---|
| GET | /api/v1/students | 38ms | 0.2% | Healthy |
| POST | /api/v1/assignments | 124ms | 0.8% | Healthy |
| GET | /api/v1/legacy-reports | — | — | Dead Wired |
| DELETE | /api/v1/sessions/:id | 45ms | 1.2% | Orphaned |
| PATCH | /api/v1/users/profile | 67ms | 0.1% | Redundant |
| PUT | /api/v1/courses/:id | 89ms | 0.3% | Healthy |
Intelligence Signals & API Surface Score
Four signals. One score. Complete clarity.
Dead Wired. Orphaned. Redundant. Healthy. Four signals computed from the combination of your static coverage and live traffic. All four combine into the API Surface Score — a single number from 0 to 100.
Notifications & Alerts
Get alerted the moment something changes.
The Notifications Worker evaluates all active projects every 5 minutes. When a signal fires it dispatches through every configured channel simultaneously.
Dead Wired detected on GET /legacy-reports
2 minutes ago
Coverage dropped to 74% — baseline breach
1 hour ago
Contract test failed on POST /payments
3 hours ago
Everywhere You Work
Dashboard, editor, Slack, and your phone.
The full dashboard is a Progressive Web App. The VS Code extension shows endpoint health inline as you write code. The Slack Bot answers questions about your API surface without leaving the conversation.
🔔 Dead Wired detected on GET /legacy-reports
GET /students
GET /legacy
/endpointlens status
Score: 78 | Coverage: 82.7%