Lightweight Node.js middleware to track API usage, response time, and performance analytics.
npm install apideck-trackerbash
npm install apideck-tracker
`
---
π Get Your API Key
To use ApiDeck, you need an account and an API key.
- Go to [https://apideck.site/] and create an account.
- Log in to your dashboard. Your unique apikey will be automatically generated and displayed.
- The trackerUrl is the main API endpoint for the ApiDeck service.
π§ Quick Start
Choose the syntax for your project.
ES Module(import)
`bash
import express from "express";
import { apiTracker } from "apideck-tracker";
const app = express();
app.use(
apiTracker({
apikey: "YOUR_API_KEY",
trackerUrl: "https://apideck.site"
})
);
`
CommonJS (require)
`bash
const express = require("express");
const { apiTracker } = require("apideck-tracker");
const app = express();
app.use(
apiTracker({
apikey: "YOUR_API_KEY_FROM_SERVER",
trackerUrl: "https://apideck.site"
})
);
`
---
π API Reference
apiTracker(options)
Creates and returns Express middleware that automatically logs API usage.
| Option | Type | Description |
| ----------------- | -------- | ------------------------------------------- |
| apikey | string | Your unique API key for authenticating tracking requests.|
| trackerUrl | string | Base URL of the ApiDeck. |
---
π What Data Gets Tracked
Each API request automatically sends structured data to your tracker backend.
| Field | Type | Description |
| ----------------- | -------- | ------------------------------------------- |
| apikey | string | Identifies and authenticates the client.|
| endpoint | string | The API route being accessed. |
| method | string | The HTTP method used (GET, POST, etc.). |
| status_code | number | Response status code. |
| is_success | boolean | True if response status is between 200β399. |
| response_time_ms | number | Time taken for request to complete (in ms). |
| ip | string | The requesterβs IP address. |
---
π‘ Example Logged Data
`bash
{
"apikey": "xyz123",
"endpoint": "/api/user",
"method": "GET",
"status_code": 200,
"is_success": true,
"response_time_ms": 142,
"ip": "::1"
}
``
Questions? kishoraman2121@gmail.com