Skip to content

About pingutil

pingutil is a free API that answers one question about an email address or domain: what is it? A company, a personal webmail account, a throwaway inbox, a school, a government office or a home internet provider. For companies it also returns a short profile.

Why it exists

Almost every product with a signup form ends up writing the same code: a hand-copied list of disposable domains, a regex for Gmail and Outlook, maybe a paid enrichment contract for the sales team. The lists go stale and the contracts are priced for companies with a RevOps department. pingutil puts the boring, shared part behind one endpoint and keeps it free so small teams and side projects can use it too.

Where the answers come from

  • Disposable domains: the open disposable-email-domains list, about 9,900 entries, re-synced every Monday.
  • Free webmail and ISP domains: curated lists of about 100 webmail and 60 consumer ISP mail domains.
  • Schools and governments: rules on the domain name (.edu, .ac.uk, .gov, .gouv.fr and so on), not a list.
  • Email signals: heuristics on the part before the @, including a character model for gibberish and a dictionary of first names from many languages so real names are not flagged.
  • Company profiles: we fetch the company's homepage and an open model (gpt-oss-20b on Cloudflare Workers AI) fills a fixed schema, the result is validated, and then cached. Every profile carries a confidence score. Expect good answers for established companies and weaker ones for tiny or very new companies, and treat it as a strong hint.

What we store

Results are cached per domain, and each lookup logs the domain, the outcome and the latency. The part of the email before the @ is used in memory to compute signals and is not written to the database. API keys are stored as SHA-256 hashes. Sign-in is passwordless through MojoAuth, so we never see a password.

Limits, honestly

  • 60 requests a minute per key, 10 a minute per IP on the demo. There is no bulk endpoint.
  • No SMTP mailbox checks: we do not tell you whether a specific inbox exists.
  • No person-level data: no names, titles or phone numbers.
  • New disposable services can take a few days to reach the list.

How it runs

A single Cloudflare Worker serves both this site and the API, with D1 for the cache, KV for the domain lists and Workers AI for company profiles. The OpenAPI spec is public, and the API reference documents every field.

Wrong answer? Tell us

If a domain is in the wrong category or a company profile is off, email hello@pingutil.com with the domain and what you expected. Disposable domains can also be reported upstream to the disposable-email-domains project, which helps everyone who uses that list.