All projects

Catalogue number OB-003

BounceNot

Know which addresses bounce before you send.

100 free validations on sign-up, then 1 cent per address, from $5. No subscription.

  1. 01Upload
  2. 02Verify
  3. 03Export

Overview

BounceNot is an email verification service. Upload a list, or paste addresses into one, and it checks every address in the background: syntax, the domain's mail servers, disposable and role accounts, and whether the mailbox actually accepts mail. Each address comes back as valid, invalid, catch-all, do-not-mail or unknown, with a reason where there is one. Filter the list, export the clean part as CSV, or delete the invalid part in one click.

The same checks are available as a JSON API for sign-up forms and CRMs, one address at a time or in batches. Pricing is the plain kind: one credit verifies one address and costs one cent, bought in any amount from $5 to $1,000. Credits never expire, there is no monthly plan, and a new account gets 100 to start with.

How it works

RequestOne GET per address
$ curl "https://bouncenot.oddbench.co/api/v1/validate/support@example.com" -H "Authorization: Bearer YOUR_API_KEY"
ResponseJSON, trimmed
{
  "email": "support@example.com",
  "reachable": "yes",
  "syntax": { "valid": true, "domain": "example.com", "username": "support" },
  "smtp": {
    "host_exists": true,
    "deliverable": true,
    "catch_all": false,
    "disabled": false
  },
  "has_mx_records": true,
  "disposable": false,
  "role_account": true,
  "free": false
}

reachable is yes, no or unknown, and unknown stays unknown. Batch requests return one such object per address. Field reference: email verification API.

  • List cleaning

    Import a CSV or type addresses in. Validation runs in the background while you watch the counts change; export any filtered view as CSV or delete every invalid address at once.

  • A status for every address

    valid, invalid, catch_all, do_not_mail or unknown, with a sub-status such as role_based, mailbox_not_found, possible_typo or greylisted when there is more to say.

  • The checks behind it

    Syntax, MX records, disposable providers, role and free-mail accounts, a live SMTP conversation for reachability and catch-all detection, and a typo suggestion.

  • API

    One GET verifies one address; a POST verifies a batch. Lists, credits and usage have endpoints too, with Bearer-token keys that stay out of logs.

  • No double charging

    An address verified in one of your lists carries its result into every other list that contains it, and is not charged again.

  • Pay as you go

    Buy credits in any amount from $5 to $1,000 through Paddle. One credit is one address. Nothing renews.

Limits worth knowing

  • Some mail servers refuse to say whether a mailbox exists. Those addresses come back unknown, with the server's reason, and are never reported as invalid.
  • A catch-all domain accepts every address, so valid means less there than elsewhere. BounceNot labels them catch_all rather than valid.
  • A failed check is retried later with growing delays and is never charged, so a stuck address can take hours to settle.
  • The checking itself runs through ip-api (OB-001), so BounceNot's verdicts are only as good as that provider's on the day.

Story

The first commit was on 12 July 2025, a Kotlin and Spring Boot application on PostgreSQL at bouncenot.com. The observation behind it was ordinary: every team that sends email eventually cleans a list, most do it rarely, and the services that do it for them want a subscription for a job that happens twice a year.

So the pricing was decided first. One address, one credit, one cent, bought when needed and kept until used. Everything else followed from that: a list you can upload in a minute, results you can filter and export, and an API for the teams that would rather check at sign-up than clean afterwards.

In October 2026 the application was rewritten in Rust on SQLite, with the same routes, the same JSON and the same pages, and moved to bouncenot.oddbench.co. The one binary is about 13 MB, uses about 25 MB of memory and starts in 30 milliseconds. The rewrite also fixed a judgement call: when a mail server answers a check with a temporary refusal, the old version read too much into it. The new one reports the address as unknown, because a tool other people build decisions on should say so when it does not know.

The checking runs through ip-api, the first record in this catalogue. Two products, one email validation engine, and one place to keep it correct.

Pricing

  • Smallest

    $5 once

    500 validations. The minimum purchase; plus the 100 free ones every account starts with.

  • A typical list

    $50 once

    5,000 validations, enough to clean a mid-sized newsletter list.

  • Largest

    $1,000 once

    100,000 validations in one purchase, for agencies and large imports.

Open BounceNot

Any amount from $5 to $1,000, 1 cent per address, paid once through Paddle. Credits never expire.