npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

quotifyapi

v1.2.0

Published

A beautiful, fast, and reliable quote API with comprehensive documentation

Readme

💬 Quotify API

npm version License: MIT Node.js Version

A beautiful, fast, and reliable quote API that provides inspirational quotes across multiple categories. Built with Express.js and designed for performance, it's perfect for developers building applications that need motivational content.

⚠️ Important Copyright Notice

Quotify API does not own, create, or claim ownership of any quotes provided through this service. All quotes are the intellectual property of their respective authors, creators, and copyright holders. This API serves as a collection and distribution platform only.

Please respect the original authors' rights and ensure proper attribution when using these quotes in your applications.

✨ Features

  • 🚀 Fast & Reliable - Built with Express.js and optimized for performance
  • 🛡️ Secure - Rate limiting, security headers, and abuse protection
  • 📚 Rich Content - Multiple categories: happy, sad, love, motivational, wisdom
  • 🌐 Easy Integration - Simple REST API with comprehensive documentation
  • 📱 Responsive Design - Beautiful documentation website included
  • 🎯 CLI Tool - Command-line interface for quick access
  • 📊 Statistics - Detailed quote counts and category information

🚀 Quick Start

Install as NPM Package

npm install quotifyapi

Use in Your Code

const { getRandomQuote, getRandomQuoteByType } = require('quotifyapi');

// Get a random quote from any category
const randomQuote = getRandomQuote();
console.log(randomQuote.text); // "Life is what happens when you're busy making other plans."
console.log(randomQuote.author); // "John Lennon"

// Get a motivational quote
const motivationalQuote = getRandomQuoteByType('motivational');
console.log(motivationalQuote.text); // "The only way to do great work is to love what you do."

CLI Usage

# Get a random quote
npx quotifyapi random

# Get a specific category
npx quotifyapi type motivational
npx quotifyapi type love

# Show available categories
npx quotifyapi types

# Show statistics
npx quotifyapi stats

# Get help
npx quotifyapi help

🌐 API Endpoints

Base URL

https://quotifyapi.vercel.app

Get Random Quote

GET /api

Response:

{
  "quote": {
    "text": "Life is what happens when you're busy making other plans.",
    "author": "John Lennon"
  },
  "type": "random",
  "timestamp": "2025-01-15T10:30:00.000Z"
}

Get Quote by Category

GET /api?type=motivational

Available Categories:

  • happy - Uplifting and joyful quotes
  • sad - Thoughtful and reflective quotes
  • love - Romantic and affectionate quotes
  • motivational - Inspirational and encouraging quotes
  • wisdom - Philosophical and insightful quotes

Get Available Categories

GET /api/types

Response:

{
  "availableTypes": ["happy", "sad", "love", "motivational", "wisdom"],
  "total": 5
}

Get Statistics

GET /api/stats

Response:

{
  "message": "Quote statistics by category",
  "counts": {
    "happy": 25,
    "sad": 20,
    "love": 30,
    "motivational": 35,
    "wisdom": 15,
    "total": 125
  }
}

🛡️ Rate Limits

To ensure fair usage and protect against abuse, the following rate limits are enforced:

  • General Requests: 1,000 requests per 15 minutes
  • API Endpoints: 500 requests per 15 minutes
  • Strict Limit: 50 requests per minute (additional protection)

Rate Limit Headers

The API includes rate limit information in response headers:

  • RateLimit-Limit - Maximum requests per window
  • RateLimit-Remaining - Remaining requests in current window
  • RateLimit-Reset - Time when the rate limit resets

🏗️ Installation & Setup

Option 1: Use as NPM Package (Recommended)

npm install quote-api

Option 2: Self-Hosted

# Clone the repository
git clone https://github.com/tanishq-sa/Quotifyapi
cd quotifyapi

# Install dependencies
npm install

# Start the server
npm start

# For development with auto-reload
npm run dev

The API will be available at https://quotifyapi.vercel.app

📚 Documentation Website

A beautiful, interactive documentation website is included and automatically served at the root URL when you run the server. Features include:

  • 📖 Comprehensive API documentation
  • 🧪 Interactive API tester
  • 💻 Code examples in multiple languages
  • 📱 Responsive design
  • 🎨 Modern dark theme
  • ⌨️ Keyboard shortcuts

Visit https://quotifyapi.vercel.app to explore the documentation.

🔧 Configuration

Environment Variables

PORT=3000                    # Server port (default: 3000)
NODE_ENV=production         # Environment mode

Customization

You can easily add your own quotes by editing the files in the quotes/ directory:

// quotes/custom.js
module.exports = [
  {
    text: "Your custom quote here",
    author: "Your Name"
  }
  // ... more quotes
];

Then update quotes.js to include your new category.

🚀 Deployment

Vercel (Recommended)

The project includes vercel.json for easy deployment to Vercel:

npm install -g vercel
vercel

Other Platforms

The API works on any Node.js hosting platform:

  • Heroku
  • Railway
  • DigitalOcean App Platform
  • AWS Lambda (with serverless framework)

📦 Package Structure

quotifyapi/
├── server.js          # Express server
├── quotes.js          # Quote management functions
├── cli.js            # Command-line interface
├── quotes/            # Quote data files
│   ├── happy.js
│   ├── sad.js
│   ├── love.js
│   ├── motivational.js
│   └── wisdom.js
├── public/            # Documentation website
│   ├── index.html
│   └── script.js
├── package.json
├── README.md
└── vercel.json

🤝 Contributing

Contributions are welcome! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Adding Quotes

To add new quotes:

  1. Add your quotes to the appropriate category file in quotes/
  2. Follow the existing format: { text: "Quote text", author: "Author name" }
  3. Submit a pull request

Adding Categories

To add new quote categories:

  1. Create a new file in quotes/ (e.g., quotes/philosophy.js)
  2. Update quotes.js to include your new category
  3. Submit a pull request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • Express.js - Web framework
  • Inter Font - Beautiful typography
  • Prism.js - Syntax highlighting
  • Community - For inspiration and feedback

📞 Support

🌟 Star History

Star History Chart

Made with ❤️ by Tanishq Saini

If this project helps you, please give it a ⭐️!