Keep your email list clean

A simple API to validate email addresses and keepthrowaway domains out

You're building something great - maybe it's a newsletter, an app, or a community. Everything seems perfect until fake emails start showing up. These throwaway accounts mess up your data and clog your user list. Pretty annoying, isn't it?

We hit this same wall before. That's why we created NoMoreJunk - a simple tool that spots disposable emails instantly. No more fake users sneaking into your project.

Super Fast

Redis caching for lightning-fast performance

Smart Domain Detection

Detects similar-looking domains and adds to blocklist

Maintainable Lists

Auto-sync whitelist and blocklist from GitHub

API-First

Created using Hono.js for reliable & secure APIs

Environment setup

First make sure, you've installed all the dependencies using bun

Terminal

bun install

Add these into your '.env' file

.env

PORT=3000
REDIS_URL=redis://localhost:6379
POSTGRES_URL=your_postgres_url
JWT_SECRET=your_jwt_secret
ALLOW_LIST_URL=your_allow_list_url
BLOCK_LIST_URL=your_block_list_url

Start the development server engine

Terminal

bun run dev

Database management

Generate migrations

Terminal

bun generate

This will generate migrations for the database

Push database changes

Terminal

bun run db:push

This will push changes into the database

API endpoints

Explore APIs

Verify Email Endpoint

Terminal

curl --request POST \
  --url https://api.nomorejunk.com/verify-email \
  --header 'Authorization: Bearer <your-token>' \
  --header 'content-type: application/json' \
  --data '{
    "email": "user@example.com"
  }'

Response 201:
{
  "status": "success",
  "disposable": false,
  "reason": "Domain allowlisted",
  "domain": "example.com",
  "message": "Email address is valid and safe to use"
}

Response 400:
{
  "status": "error",
  "message": "Invalid email format"
}

Other endpoints you might need

GET /sync-domains

– Sync domains from GitHub

GET /audit-logs

– View check history (supports pagination)

GET /refresh-cache

– Manually refresh Redis cache

GET /audit-logs/:email

– Check history for specific email

Tech Stack

Bun

Bun

Runtime

Hono.js

Hono.js

Framework

PostgreSQL

PostgreSQL

Database

Redis

Redis

Cache

TypeScript

TypeScript

Language

Contribution

Feel free to jump in! Whether it's adding features, fixing bugs, or improving docs - all contributions are welcome. Just fork, make your changes, and send us a PR!

Built with ❤️ by Thisux - Design Led Product Studio

Built by ThisUX — Design StudioAvailable for new projectsOpen Source, Open HeartsPrivacy by Default, AlwaysCrafted with care for the worldJoin the spam-free revolution!Designing tomorrow’s solutionsWant to collaborate? Let’s chat!Free forever, fuss-freeAvailable for new projectsCode with a conscienceNo disposable domains, no dramaProudly anti-spam since Day 1Follow our journey @ThisUXMade for devs (and humans)Stay private. Stay awesome.Available for new projectsDesigners who code (& care)!Need a design partner? We’re here!By the community, for the communityExplore more → /partnershipSimple tools, big impact