Ever needed a graceful way to say “no”?
This tiny API returns random, generic, creative, and sometimes hilarious rejection reasons — perfectly suited for any scenario: personal, professional, student life, dev life, or just because.
Built for humans, excuses, and humor.
This project is sponsored by GitAds.
You can get your GitHub repository sponsored too — create your account now.
Base URL
https://naas.isalman.dev/no
Method: GET
Rate Limit: 120 requests per minute per IP
GET /no
{
"reason": "This feels like something Future Me would yell at Present Me for agreeing to."
}
Use it in apps, bots, landing pages, Slack integrations, rejection letters, or wherever you need a polite (or witty) no.
Want to run it yourself? It’s lightweight and simple.
git clone https://github.com/hotheadhacker/no-as-a-service.git
cd no-as-a-service
npm install
npm start
The API will be live at:
http://localhost:3000/no
You can also change the port using an environment variable:
PORT=5000 npm start
no-as-service/
├── index.js # Express API
├── reasons.json # 1000+ universal rejection reasons
├── package.json
├── .devcontainer.json # VS Code / Github devcontainer setup
└── README.md
For reference, here’s the package config:
{
"name": "no-as-service",
"version": "1.0.0",
"description": "A lightweight API that returns random rejection or no reasons.",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "hotheadhacker",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"express-rate-limit": "^7.0.0"
}
}
If you open this repo in Github Codespaces, it will automatically use .devcontainer.json
to set up your environment. If you open it in VSCode, it will ask you if you want to reopen it in a container.
Here are some projects and websites that creatively integrate no-as-a-service to deliver humorous or programmatic "no" responses:
-
no-as-a-service-rust
Rust implementation of this project. -
CSG Admins
A system administration and gaming service hub using no-as-a-service to provide playful negative responses across some admin panels and commands. -
FunnyAnswers - /no endpoint
A humor-focused API playground that includes a mirror or wrapper for no-as-a-service, perfect for developers exploring fun HTTP-based responses. -
Your Project Here?
If you're using no-as-a-service in your project, open a pull request to be featured here!
Want to use no-as-a-service in your own project? Check out the usage section in this README and start returning "no" like a pro.
Created with creative stubbornness by hotheadhacker
MIT — do whatever, just don’t say yes when you should say no.