Protect your APIs with intelligent rate limiting. Monitor usage, prevent abuse, and scale with confidence.
const express = require('express');
const apimeter = require('apimeter');
const app = express();
// Apply rate limiting to all routes
app.use(apimeter({
apiKey: 'your-api-key-here'
}));
//All your routes here
app.listen(3000);
Everything you need to secure and monitor your applications
{{ feature.description }}
We understand the challenges of building scalable APIs. Apimeter is designed with developer experience at its core.
Scale with confidence at every stage of your journey
{{ plan.requestLimit }}
Sign in to your Apimeter account
Don't have an account? Signup
Get started with 30 days free
Already have an account? Sign in
Monitor your API usage and performance
No user breaches detected
Manage your rate limiting settings
Manage your billing and subscription
API Key: {{ user.apiKey }}
Trial ends: {{ user.trialEnds == 'Not Applicable' ? 'Not Applicable' :formatDate(user.trialEnds) }}
{{ plan.requestLimit }}
Managed rate limiting as a service for your Express.js applications.
npm install apimeter
const express = require('express');
const apimeter = require('apimeter');
const app = express();
// Apply rate limiting to all routes
app.use(apimeter({
apiKey: 'your-api-key-here'
}));
app.get('/api/users', (req, res) => {
res.json({ users: [] });
});
app.listen(3000);
app.use(apimeter({
apiKey: 'your-api-key', // Required: Your Apimeter API key
clientIdHeader: 'x-client-id', // Optional: You own header for client identification if you want to set up different limits for each of your consumers
}));
Apimeter supports different rate limits for different clients:
// Client A gets different limits than Client B
app.use(apimeter({
apiKey: 'your-api-key',
clientIdHeader: 'x-client-id'
}));
// Your API consumers send requests with client identification:
// curl -H "x-client-id: mobile-app" /api/data
// curl -H "x-client-id: web-app" /api/data
Configure client limits on Apimeter.dev → Configuration
Apimeter automatically adds standard rate limiting headers to responses:
HTTP/1.1 200 OK
X-Rate-Limit-Limit: 1000
X-Rate-Limit-Remaining: 999
Content-Type: application/json
When rate limits are exceeded, clients receive:
HTTP/1.1 429 Too Many Requests
X-Rate-Limit-Limit: 1000
X-Rate-Limit-Remaining: 0
Content-Type: application/json
Apimeter uses a fail-open design - if the service is temporarily unavailable, your API continues working without rate limiting.
Access detailed analytics in your Apimeter Dashboard:
Rate limits are enforced at two levels:
const express = require('express');
const apimeter = require('apimeter');
const app = express();
app.use(express.json());
app.use(apimeter({ apiKey: '' }));
app.get('/api/users', (req, res) => {
res.json({ users: ['Alice', 'Bob'] });
});
app.post('/api/users', (req, res) => {
res.json({ message: 'User created', id: 123 });
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
const express = require('express');
const apimeter = require('apimeter');
const app = express();
// Rate limit by tenant
app.use(apimeter({
apiKey: process.env.APIMETER_API_KEY,
clientIdHeader: 'x-tenant-id'
}));
app.get('/api/:tenantId/data', (req, res) => {
// x-tenant-id header determines rate limits
res.json({ data: 'tenant-specific-data' });
});
app.listen(3000);
Sign up for free and get your API key in under 2 minutes! 🚀
Effective Date: October 2025
This Privacy Policy describes how Apimeter ("we," "our," or "us") collects, uses, and protects information when you use our API‑based rate limiting service available at www.apimeter.io ("Service").
We collect:
We retain basic logs and billing data only as long as required for legitimate operational or legal reasons. Logs beyond 30 days are anonymized or deleted.
We may share limited data with:
These third parties are bound by strict confidentiality and data‑protection terms.
Our website and dashboard may use cookies or tokens to maintain sessions. You can disable cookies in your browser settings, but parts of the site may not work correctly.
We use HTTPS, encryption, and restricted access controls to protect your data. Although we take all necessary precautions, no online system is completely secure.
You may request access to or deletion of your personal information by contacting support@apimeter.io. EU users have rights under GDPR; Indian users are covered under the Digital Personal Data Protection Act 2023.
We may update this Privacy Policy occasionally. Changes will be posted on this page with an updated effective date.
For questions, email support@apimeter.dev.
Effective Date: October 2025
Welcome to Apimeter ("Service," "Platform," "we," "our," or "us"). By signing up or using our services at www.apimeter.io ("Website"), you agree to the following terms and conditions.
We provide rate‑limiting and API usage management tools accessible via our cloud‑based API. You may not use the Service for unlawful activities, to disrupt networks, or to bypass limitations imposed.
You are responsible for maintaining the confidentiality of your credentials. Any activity under your account is your responsibility until you notify us of unauthorized access.
Paid plans are billed in advance on a recurring basis. Fees are non‑refundable except where required by law. You authorize us and our payment processors to charge your chosen method for any applicable fees.
While we strive for 99.9% uptime, the Service is provided "as is." Temporary downtime may occur for maintenance or unforeseen issues.
Each plan includes specific request limits and throughput caps. Consistently exceeding limits may trigger temporary throttling.
All software, code, and related materials remain our sole property. You receive a non‑exclusive license to use the Service solely for internal business purposes.
We process limited log data strictly for analytics and operational reliability. Refer to our Privacy Policy for details.
We may suspend or terminate accounts that violate these terms or cause service disruption. Customers may terminate their subscription anytime; however, no prorated refunds apply.
We make no warranties regarding uninterrupted or error‑free service. Your use of the platform is at your own risk.
To the maximum extent permitted by law, we are not responsible for any indirect or consequential damages arising from use of our service.
We may update these Terms periodically. Continued use after changes constitutes acceptance of the revised Terms.
These Terms are governed by Indian law, with Hyderabad courts having exclusive jurisdiction.
Choose your new plan: