Skip to content

Shakargy/api-graveyard-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

api-graveyard

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.

Install

npm install @api-graveyard/node

Quick start

Add 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 app

That's it. Every outgoing HTTP/HTTPS request your app makes is now automatically captured, batched, and sent to API Graveyard in the background.

TypeScript

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,
});

Options

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

Express middleware

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',
}));

Graceful shutdown

The collector automatically flushes on SIGTERM and beforeExit. For manual control:

process.on('SIGINT', async () => {
  await apiGraveyard.shutdown();
  process.exit(0);
});

What gets captured

  • 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.

Get your API key

  1. Sign up at api-graveyard.com
  2. Create a project
  3. Go to Settings → Integrations and create an API key

License

MIT

About

Official Node.js collector for API Graveyard — auto-tracks outgoing HTTP dependencies

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors