Official Node.js collector for API Graveyard — automatically tracks your outgoing HTTP dependencies, detects risk events, and surfaces zombie APIs before they take down your product.
npm install @api-graveyard/nodeAdd one line to the top of your app entry point:
const apiGraveyard = require('@api-graveyard/node');
apiGraveyard.init({
apiKey: 'agk_your_key_here',
projectId: 'your-project-id',
});
// ... rest of your appThat's it. Every outgoing HTTP/HTTPS request your app makes is now automatically captured, batched, and sent to API Graveyard in the background.
import { init } from '@api-graveyard/node';
init({
apiKey: process.env.API_GRAVEYARD_KEY!,
projectId: process.env.API_GRAVEYARD_PROJECT_ID!,
serviceName: 'my-backend',
environment: process.env.NODE_ENV,
});| Option | Type | Default | Description |
|---|---|---|---|
apiKey |
string |
required | Your agk_... API key from the dashboard |
projectId |
string |
required | Your project ID from the dashboard |
baseUrl |
string |
https://api-graveyard.com |
Override for self-hosted |
serviceName |
string |
undefined |
Tag events with a service name |
environment |
string |
process.env.NODE_ENV |
Tag events with an environment |
flushIntervalMs |
number |
10000 |
How often to flush the event buffer (ms) |
maxBatchSize |
number |
100 |
Max events per batch before forcing a flush |
debug |
boolean |
false |
Log flush activity to console |
If you only want to capture inbound requests to your own Express server (not outgoing calls):
const { middleware } = require('@api-graveyard/node');
app.use(middleware({
apiKey: 'agk_your_key_here',
projectId: 'your-project-id',
serviceName: 'my-api',
}));The collector automatically flushes on SIGTERM and beforeExit. For manual control:
process.on('SIGINT', async () => {
await apiGraveyard.shutdown();
process.exit(0);
});- Method, URL, HTTP status code, response time
- Timestamp of each request
- Service name and environment (if configured)
Requests to api-graveyard.com itself are never captured to avoid infinite loops.
Localhost and 127.0.0.1 requests are ignored by default.
- Sign up at api-graveyard.com
- Create a project
- Go to Settings → Integrations and create an API key
MIT