<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>pingutil blog</title>
  <link>https://pingutil.com/blog</link>
  <description>Guides on disposable email, signup fraud, business email detection and lead enrichment.</description>
  <language>en</language>
  <atom:link href="https://pingutil.com/blog/rss.xml" rel="self" type="application/rss+xml" />
  <item>
    <title>Real-time email feedback in a React signup form</title>
    <link>https://pingutil.com/blog/react-signup-form-email-feedback</link>
    <guid>https://pingutil.com/blog/react-signup-form-email-feedback</guid>
    <pubDate>Wed, 07 Oct 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Check signup emails on blur in React 19: catch typos, disposable domains and role addresses with clear messages, a backend proxy and no blocking on failures.</description>
  </item>
  <item>
    <title>Classifying new signups with n8n</title>
    <link>https://pingutil.com/blog/n8n-signup-classification-workflow</link>
    <guid>https://pingutil.com/blog/n8n-signup-classification-workflow</guid>
    <pubDate>Mon, 05 Oct 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Build an n8n workflow that classifies each new signup's email as company, webmail, disposable or role-based and routes it, plus a deduped nightly batch.</description>
  </item>
  <item>
    <title>Cleaning a newsletter list before you hit send</title>
    <link>https://pingutil.com/blog/newsletter-list-cleaning</link>
    <guid>https://pingutil.com/blog/newsletter-list-cleaning</guid>
    <pubDate>Thu, 01 Oct 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>What to remove from a newsletter list before a send: disposable and dead domains, provider typos, system addresses and sometimes role addresses. With a script.</description>
  </item>
  <item>
    <title>Enriching HubSpot contacts with a workflow webhook</title>
    <link>https://pingutil.com/blog/hubspot-contact-enrichment-webhook</link>
    <guid>https://pingutil.com/blog/hubspot-contact-enrichment-webhook</guid>
    <pubDate>Mon, 28 Sep 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Use a HubSpot workflow's Send a webhook action to classify each new contact's email domain and write category, spam verdict and company fields to the record.</description>
  </item>
  <item>
    <title>Card testing and fake accounts: where email signals help and where they don't</title>
    <link>https://pingutil.com/blog/card-testing-fake-accounts-email-signals</link>
    <guid>https://pingutil.com/blog/card-testing-fake-accounts-email-signals</guid>
    <pubDate>Wed, 23 Sep 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Card testing is stopped mainly by payment-side controls: rate limits, CAPTCHA, Radar-style rules and 3DS. Email signals help with the fake accounts around it.</description>
  </item>
  <item>
    <title>Cleaning an email list from a CSV with a short script</title>
    <link>https://pingutil.com/blog/clean-email-list-csv-script</link>
    <guid>https://pingutil.com/blog/clean-email-list-csv-script</guid>
    <pubDate>Mon, 21 Sep 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>A dependency-free Python script that dedupes a CSV of emails, classifies each domain, drops disposable and invalid addresses, and respects API rate limits.</description>
  </item>
  <item>
    <title>Free domain intelligence API: what you can get without paying</title>
    <link>https://pingutil.com/blog/free-domain-intelligence-api</link>
    <guid>https://pingutil.com/blog/free-domain-intelligence-api</guid>
    <pubDate>Thu, 17 Sep 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>What a free domain intelligence API should return, exactly what pingutil gives for free (fields and rate limits), what it doesn't do, and how free tiers compare.</description>
  </item>
  <item>
    <title>Classifying a list of emails in Google Sheets</title>
    <link>https://pingutil.com/blog/google-sheets-email-domain-lookup</link>
    <guid>https://pingutil.com/blog/google-sheets-email-domain-lookup</guid>
    <pubDate>Mon, 14 Sep 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>An Apps Script that tags every email in a Google Sheet as company, free, disposable, ISP or education, with throttling, domain dedupe and a safely stored key.</description>
  </item>
  <item>
    <title>Keeping fake and internal signups out of product analytics</title>
    <link>https://pingutil.com/blog/exclude-fake-signups-from-analytics</link>
    <guid>https://pingutil.com/blog/exclude-fake-signups-from-analytics</guid>
    <pubDate>Wed, 09 Sep 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Tag every signup as real, suspect, fake or internal when the account is created, then filter on that tag in PostHog, Mixpanel, Amplitude or plain SQL.</description>
  </item>
  <item>
    <title>Checking emails in an Auth0 pre-user-registration Action</title>
    <link>https://pingutil.com/blog/auth0-pre-registration-email-check</link>
    <guid>https://pingutil.com/blog/auth0-pre-registration-email-check</guid>
    <pubDate>Mon, 07 Sep 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Reject disposable and machine-generated signup emails in an Auth0 pre-user-registration Action, with secrets, a timeout, 429 backoff and fail-open logic.</description>
  </item>
  <item>
    <title>Personalizing onboarding from the signup email domain</title>
    <link>https://pingutil.com/blog/personalize-onboarding-from-email-domain</link>
    <guid>https://pingutil.com/blog/personalize-onboarding-from-email-domain</guid>
    <pubDate>Tue, 01 Sep 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>Branch onboarding on the signup email domain: team setup for company addresses, a solo flow for Gmail, an education plan for .edu. Code, UX copy and privacy rules.</description>
  </item>
  <item>
    <title>Blocking disposable emails in Supabase Auth</title>
    <link>https://pingutil.com/blog/supabase-auth-block-disposable-emails</link>
    <guid>https://pingutil.com/blog/supabase-auth-block-disposable-emails</guid>
    <pubDate>Fri, 28 Aug 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Use Supabase's Before User Created hook and an Edge Function to reject disposable and machine-generated emails at signup, with timeouts and fail-open handling.</description>
  </item>
  <item>
    <title>A B2B lead scoring model built from email and company data</title>
    <link>https://pingutil.com/blog/b2b-lead-scoring-email-domain</link>
    <guid>https://pingutil.com/blog/b2b-lead-scoring-email-domain</guid>
    <pubDate>Thu, 27 Aug 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>A transparent points-based lead scoring model from email category, company size, industry and email signals, with starting weights and a calibration method.</description>
  </item>
  <item>
    <title>Email validation at the edge with Cloudflare Workers</title>
    <link>https://pingutil.com/blog/cloudflare-workers-email-validation</link>
    <guid>https://pingutil.com/blog/cloudflare-workers-email-validation</guid>
    <pubDate>Mon, 24 Aug 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Screen signup emails in a Cloudflare Worker before they reach your origin: secrets, timeouts, 429 backoff and fail-open forwarding, with complete code.</description>
  </item>
  <item>
    <title>Filtering fake leads from website forms with a webhook</title>
    <link>https://pingutil.com/blog/filter-fake-form-leads-webhook</link>
    <guid>https://pingutil.com/blog/filter-fake-form-leads-webhook</guid>
    <pubDate>Tue, 18 Aug 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Put a small webhook between Tally or Typeform and your CRM: verify the signature, classify the submitter's email, and route real leads to the CRM and junk to review.</description>
  </item>
  <item>
    <title>Validating signup emails in a Next.js server action</title>
    <link>https://pingutil.com/blog/nextjs-signup-email-validation</link>
    <guid>https://pingutil.com/blog/nextjs-signup-email-validation</guid>
    <pubDate>Mon, 17 Aug 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Check signup emails for disposable and machine-generated addresses inside a Next.js server action, with timeouts, 429 backoff and a clear fail-open policy.</description>
  </item>
  <item>
    <title>Checking emails in the Auth.js (NextAuth) signIn callback</title>
    <link>https://pingutil.com/blog/authjs-signin-callback-email-check</link>
    <guid>https://pingutil.com/blog/authjs-signin-callback-email-check</guid>
    <pubDate>Tue, 11 Aug 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Use the Auth.js v5 signIn callback to block disposable and machine-generated emails for magic-link and OAuth sign-ins, with caching and fail-open handling.</description>
  </item>
  <item>
    <title>Domain lookup API quickstart: curl, JavaScript, Python, Go</title>
    <link>https://pingutil.com/blog/domain-lookup-api-quickstart</link>
    <guid>https://pingutil.com/blog/domain-lookup-api-quickstart</guid>
    <pubDate>Mon, 10 Aug 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Call the pingutil domain lookup API from curl, JavaScript, Python and Go, with timeouts, 429 handling and the fields you should actually read.</description>
  </item>
  <item>
    <title>Blocking disposable emails with Firebase Auth blocking functions</title>
    <link>https://pingutil.com/blog/firebase-auth-block-disposable-emails</link>
    <guid>https://pingutil.com/blog/firebase-auth-block-disposable-emails</guid>
    <pubDate>Mon, 03 Aug 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Reject disposable and machine-generated emails in Firebase Auth with a beforeUserCreated blocking function: setup requirements, full code, timeouts and fail-open.</description>
  </item>
  <item>
    <title>Building a simple email risk score from free signals</title>
    <link>https://pingutil.com/blog/email-risk-score-free-signals</link>
    <guid>https://pingutil.com/blog/email-risk-score-free-signals</guid>
    <pubDate>Thu, 30 Jul 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>A practical email risk score for signups: which free signals to use, hard rules vs points, score bands, and how to calibrate it against your own abuse data.</description>
  </item>
  <item>
    <title>Email domain checks in Go</title>
    <link>https://pingutil.com/blog/go-email-domain-validation</link>
    <guid>https://pingutil.com/blog/go-email-domain-validation</guid>
    <pubDate>Tue, 28 Jul 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>A Go signup check with net/http, context timeouts, typed structs, an ICANN-only eTLD+1 helper built on x/net/publicsuffix, a TTL cache and fail-open 429 handling.</description>
  </item>
  <item>
    <title>Signup domains with no website: what it tells you</title>
    <link>https://pingutil.com/blog/domains-without-websites</link>
    <guid>https://pingutil.com/blog/domains-without-websites</guid>
    <pubDate>Mon, 27 Jul 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>A signup domain that receives mail but has no website is a useful fraud signal, not a verdict. What DNS shows, the innocent cases, and how to score it.</description>
  </item>
  <item>
    <title>Validating email domains in Ruby on Rails</title>
    <link>https://pingutil.com/blog/rails-email-domain-validation</link>
    <guid>https://pingutil.com/blog/rails-email-domain-validation</guid>
    <pubDate>Tue, 21 Jul 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>A Rails EachValidator that rejects disposable, machine-generated and optional free webmail emails, with Net::HTTP timeouts, Rails.cache and fail-open logic.</description>
  </item>
  <item>
    <title>Catch-all email domains and what they mean for validation</title>
    <link>https://pingutil.com/blog/catch-all-email-domains</link>
    <guid>https://pingutil.com/blog/catch-all-email-domains</guid>
    <pubDate>Mon, 20 Jul 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>A catch-all domain accepts mail for any address, so verifiers can't confirm a mailbox. How detection works, why it's common in B2B, and how to treat it.</description>
  </item>
  <item>
    <title>Laravel validation rule for disposable and personal emails</title>
    <link>https://pingutil.com/blog/laravel-disposable-email-validation</link>
    <guid>https://pingutil.com/blog/laravel-disposable-email-validation</guid>
    <pubDate>Mon, 13 Jul 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>A Laravel ValidationRule that rejects disposable, machine-generated and (optionally) free webmail addresses, using the Http facade with timeouts, retry and caching.</description>
  </item>
  <item>
    <title>Gmail dots, plus addressing and duplicate accounts</title>
    <link>https://pingutil.com/blog/email-normalization-gmail-dots-plus</link>
    <guid>https://pingutil.com/blog/email-normalization-gmail-dots-plus</guid>
    <pubDate>Wed, 08 Jul 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>Why jane.doe+trial2@gmail.com and janedoe@googlemail.com are one inbox, and how to build a canonical email key that catches duplicates without breaking login.</description>
  </item>
  <item>
    <title>Stopping fake WordPress registrations with an email check</title>
    <link>https://pingutil.com/blog/wordpress-block-fake-registrations</link>
    <guid>https://pingutil.com/blog/wordpress-block-fake-registrations</guid>
    <pubDate>Mon, 06 Jul 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Block disposable and machine-generated emails at WordPress and WooCommerce registration with the registration_errors filter, a short timeout and fail-open logic.</description>
  </item>
  <item>
    <title>SMTP mailbox verification: why it's unreliable</title>
    <link>https://pingutil.com/blog/smtp-email-verification-limits</link>
    <guid>https://pingutil.com/blog/smtp-email-verification-limits</guid>
    <pubDate>Thu, 02 Jul 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>What an SMTP mailbox probe really tests, the six ways its answers mislead you (VRFY, catch-all, greylisting, port 25 blocks), and what to use instead.</description>
  </item>
  <item>
    <title>Is a Gmail address a business email?</title>
    <link>https://pingutil.com/blog/is-gmail-a-business-email</link>
    <guid>https://pingutil.com/blog/is-gmail-a-business-email</guid>
    <pubDate>Mon, 29 Jun 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>No: @gmail.com is free personal webmail, even when a business uses it. Google Workspace on a custom domain is business. How to tell them apart in code.</description>
  </item>
  <item>
    <title>Internationalized email domains: punycode and normalization</title>
    <link>https://pingutil.com/blog/idn-punycode-email-domains</link>
    <guid>https://pingutil.com/blog/idn-punycode-email-domains</guid>
    <pubDate>Thu, 25 Jun 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>Handle addresses like jane@bücher.de: convert the domain to punycode with UTS 46, leave the local part alone, and avoid the traps that split one domain in two.</description>
  </item>
  <item>
    <title>How to check if an email address is disposable (with and without code)</title>
    <link>https://pingutil.com/blog/check-if-email-is-disposable</link>
    <guid>https://pingutil.com/blog/check-if-email-is-disposable</guid>
    <pubDate>Mon, 22 Jun 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Check if an email is disposable by hand (public blocklist, MX lookup, a quick search) or in code with a list or an API. Includes a short checklist.</description>
  </item>
  <item>
    <title>DNS-over-HTTPS for domain checks in serverless code</title>
    <link>https://pingutil.com/blog/dns-over-https-domain-checks</link>
    <guid>https://pingutil.com/blog/dns-over-https-domain-checks</guid>
    <pubDate>Fri, 19 Jun 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>Run MX, A and AAAA lookups from edge functions and serverless runtimes with the Cloudflare and Google DoH JSON APIs: request format, status codes and gotchas.</description>
  </item>
  <item>
    <title>Email and domain intelligence glossary</title>
    <link>https://pingutil.com/blog/email-domain-intelligence-glossary</link>
    <guid>https://pingutil.com/blog/email-domain-intelligence-glossary</guid>
    <pubDate>Mon, 15 Jun 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>Plain definitions of 40 email and domain intelligence terms, from catch-all and null MX to eTLD+1, RDAP, SPF and DMARC, with links to deeper guides.</description>
  </item>
  <item>
    <title>Checking MX records to see if a domain can receive email</title>
    <link>https://pingutil.com/blog/check-mx-records-email-domain</link>
    <guid>https://pingutil.com/blog/check-mx-records-email-domain</guid>
    <pubDate>Wed, 10 Jun 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>How to tell from DNS whether a domain accepts mail: MX lookups, the implicit MX fallback, null MX, and which DNS errors should never block a signup.</description>
  </item>
  <item>
    <title>LLM lead qualification: where a lookup API beats the model</title>
    <link>https://pingutil.com/blog/llm-lead-qualification-deterministic-data</link>
    <guid>https://pingutil.com/blog/llm-lead-qualification-deterministic-data</guid>
    <pubDate>Mon, 08 Jun 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Which lead qualification steps an LLM is good at, which ones a deterministic lookup should own, and a pipeline that puts each in the right place.</description>
  </item>
  <item>
    <title>Why an email regex is never enough</title>
    <link>https://pingutil.com/blog/email-regex-is-not-enough</link>
    <guid>https://pingutil.com/blog/email-regex-is-not-enough</guid>
    <pubDate>Thu, 04 Jun 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>A regex can only tell you an email address is shaped right. What to match, what to deliberately reject, and the checks a pattern can never replace.</description>
  </item>
  <item>
    <title>Giving an AI agent an email and domain lookup tool</title>
    <link>https://pingutil.com/blog/ai-agent-email-lookup-tool</link>
    <guid>https://pingutil.com/blog/ai-agent-email-lookup-tool</guid>
    <pubDate>Mon, 01 Jun 2026 12:00:00 GMT</pubDate>
    <category>Tutorials</category>
    <description>Tool definitions for Anthropic tool use, OpenAI function calling and MCP that let an LLM agent classify emails and domains with a real API, key kept server-side.</description>
  </item>
  <item>
    <title>Email validation vs verification: what each one catches</title>
    <link>https://pingutil.com/blog/email-validation-vs-verification</link>
    <guid>https://pingutil.com/blog/email-validation-vs-verification</guid>
    <pubDate>Tue, 26 May 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>Validation checks that an address could work. Verification proves someone receives mail there. What each layer catches, misses, and where it belongs.</description>
  </item>
  <item>
    <title>What SPF and DMARC records tell you about a signup domain</title>
    <link>https://pingutil.com/blog/spf-dmarc-domain-legitimacy</link>
    <guid>https://pingutil.com/blog/spf-dmarc-domain-legitimacy</guid>
    <pubDate>Fri, 22 May 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>SPF and DMARC show whether a domain's owner set up outbound mail authentication. How to look them up over DNS, what they prove, and what they don't.</description>
  </item>
  <item>
    <title>Spotting multiple signups from the same company</title>
    <link>https://pingutil.com/blog/detect-teammates-same-company</link>
    <guid>https://pingutil.com/blog/detect-teammates-same-company</guid>
    <pubDate>Tue, 19 May 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Detect teammates who sign up separately: group signups by registrable domain, skip webmail and schools, then send a team invite or a sales alert.</description>
  </item>
  <item>
    <title>Domain age as a signup risk signal</title>
    <link>https://pingutil.com/blog/domain-age-signup-risk</link>
    <guid>https://pingutil.com/blog/domain-age-signup-risk</guid>
    <pubDate>Mon, 18 May 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>How to check a signup domain's registration age with RDAP, when a young domain means risk, the innocent cases, and how to combine it with a domain lookup.</description>
  </item>
  <item>
    <title>eTLD+1 explained: why mail.stripe.com is stripe.com</title>
    <link>https://pingutil.com/blog/etld-plus-one-explained</link>
    <guid>https://pingutil.com/blog/etld-plus-one-explained</guid>
    <pubDate>Wed, 13 May 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>What eTLD+1 means, how the Public Suffix List defines it, why splitting on dots breaks on bbc.co.uk, and how to compute it in JavaScript, Python and Go.</description>
  </item>
  <item>
    <title>RDAP vs WHOIS: looking up domain registration data</title>
    <link>https://pingutil.com/blog/rdap-vs-whois-domain-lookup</link>
    <guid>https://pingutil.com/blog/rdap-vs-whois-domain-lookup</guid>
    <pubDate>Fri, 08 May 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>RDAP replaced WHOIS for generic TLDs in 2025. How the two protocols differ, how to query RDAP in code, and where you still need WHOIS for country-code domains.</description>
  </item>
  <item>
    <title>Caching domain lookups: keys, TTLs and when to refresh</title>
    <link>https://pingutil.com/blog/caching-domain-lookups</link>
    <guid>https://pingutil.com/blog/caching-domain-lookups</guid>
    <pubDate>Tue, 05 May 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>How to cache email and domain lookup results: what to key on, which fields can share a cache entry, TTLs per data type, stale-on-error, and when to force a refresh.</description>
  </item>
  <item>
    <title>Email verification services vs domain classification APIs: which do you need?</title>
    <link>https://pingutil.com/blog/email-verification-vs-domain-classification</link>
    <guid>https://pingutil.com/blog/email-verification-vs-domain-classification</guid>
    <pubDate>Mon, 04 May 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>Verification services check if a mailbox will accept mail. Classification APIs tell you what kind of address it is. Which job needs which, and when to use both.</description>
  </item>
  <item>
    <title>How accurate is LLM-based company enrichment?</title>
    <link>https://pingutil.com/blog/llm-company-enrichment-accuracy</link>
    <guid>https://pingutil.com/blog/llm-company-enrichment-accuracy</guid>
    <pubDate>Mon, 27 Apr 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Where AI company enrichment is reliable, where it fails (invented funding, stale HQs, the wrong company), and the guardrails that make it safe to use.</description>
  </item>
  <item>
    <title>Free domain lookup tools: WHOIS, DNS, classification and company data</title>
    <link>https://pingutil.com/blog/free-domain-lookup-tools</link>
    <guid>https://pingutil.com/blog/free-domain-lookup-tools</guid>
    <pubDate>Fri, 24 Apr 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Free domain lookup tools grouped by the question they answer: registration (RDAP, WHOIS), DNS, domain type and company data, with commands you can run now.</description>
  </item>
  <item>
    <title>CRM data hygiene: cleaning contacts by email domain</title>
    <link>https://pingutil.com/blog/crm-data-hygiene-email-domains</link>
    <guid>https://pingutil.com/blog/crm-data-hygiene-email-domains</guid>
    <pubDate>Wed, 22 Apr 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Clean up a CRM by email domain: normalize company domains, merge duplicate accounts, separate personal and disposable contacts, and keep it clean.</description>
  </item>
  <item>
    <title>Free tools for detecting disposable email addresses</title>
    <link>https://pingutil.com/blog/free-disposable-email-detection-tools</link>
    <guid>https://pingutil.com/blog/free-disposable-email-detection-tools</guid>
    <pubDate>Fri, 17 Apr 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Free disposable email detection tools by type: open lists, libraries, keyless endpoints, free APIs and web checkers, with list sizes and the trade-offs of each.</description>
  </item>
  <item>
    <title>Routing inbound leads by company size and industry</title>
    <link>https://pingutil.com/blog/route-leads-by-company-size</link>
    <guid>https://pingutil.com/blog/route-leads-by-company-size</guid>
    <pubDate>Tue, 14 Apr 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Build lead routing rules on enriched company size, industry and country: segment buckets, an ordered rule table, confidence gates and a triage queue for unknowns.</description>
  </item>
  <item>
    <title>Free email validation APIs compared (and what &quot;free&quot; really includes)</title>
    <link>https://pingutil.com/blog/best-free-email-validation-apis</link>
    <guid>https://pingutil.com/blog/best-free-email-validation-apis</guid>
    <pubDate>Thu, 09 Apr 2026 12:00:00 GMT</pubDate>
    <category>Email validation</category>
    <description>Free tiers of ZeroBounce, Abstract, Hunter, MailboxValidator, Emailable, Kickbox and pingutil compared: quotas, resets, SMTP checks and where each fits.</description>
  </item>
  <item>
    <title>Enriching inbound leads from nothing but an email domain</title>
    <link>https://pingutil.com/blog/enrich-leads-from-email-domain</link>
    <guid>https://pingutil.com/blog/enrich-leads-from-email-domain</guid>
    <pubDate>Mon, 06 Apr 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Design a lead enrichment step that starts from a work email: gate by domain type, enrich async, record provenance, never overwrite human input.</description>
  </item>
  <item>
    <title>Clearbit alternatives after the HubSpot acquisition</title>
    <link>https://pingutil.com/blog/clearbit-alternatives</link>
    <guid>https://pingutil.com/blog/clearbit-alternatives</guid>
    <pubDate>Thu, 02 Apr 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>What changed at Clearbit after HubSpot bought it, which features are gone, and a replacement for each one: logos, enrichment, form shortening and signup screening.</description>
  </item>
  <item>
    <title>Free company enrichment APIs: what you actually get</title>
    <link>https://pingutil.com/blog/free-company-enrichment-api</link>
    <guid>https://pingutil.com/blog/free-company-enrichment-api</guid>
    <pubDate>Tue, 31 Mar 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Free company enrichment comes in three forms: capped tiers of paid databases, LLM-generated profiles, and DIY scraping. What each returns, and how to test them.</description>
  </item>
  <item>
    <title>What is domain intelligence? A practical definition</title>
    <link>https://pingutil.com/blog/what-is-domain-intelligence</link>
    <guid>https://pingutil.com/blog/what-is-domain-intelligence</guid>
    <pubDate>Wed, 25 Mar 2026 12:00:00 GMT</pubDate>
    <category>Company enrichment</category>
    <description>Domain intelligence is everything you can learn about a domain name: what kind of domain it is, whether it works, who registered it and which company is behind it.</description>
  </item>
  <item>
    <title>Detecting government email domains in every country</title>
    <link>https://pingutil.com/blog/government-email-domains</link>
    <guid>https://pingutil.com/blog/government-email-domains</guid>
    <pubDate>Mon, 23 Mar 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>A country-by-country guide to government email domains: what .gov, gov.uk and gouv.fr rules catch, what they miss (gc.ca, bund.de, go.jp), with detection code.</description>
  </item>
  <item>
    <title>Verifying student and academic email addresses worldwide</title>
    <link>https://pingutil.com/blog/verify-student-email-address</link>
    <guid>https://pingutil.com/blog/verify-student-email-address</guid>
    <pubDate>Wed, 18 Mar 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>How to check if an email belongs to a university or school: TLD rules that work, the countries they miss, a university domain list, and a verification flow.</description>
  </item>
  <item>
    <title>ISP email domains: why comcast.net is not a company</title>
    <link>https://pingutil.com/blog/isp-email-domains</link>
    <guid>https://pingutil.com/blog/isp-email-domains</guid>
    <pubDate>Mon, 16 Mar 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>comcast.net, btinternet.com and orange.fr are consumer ISP mailboxes. Why they break lead enrichment and routing, which domains to list, and how to treat them.</description>
  </item>
  <item>
    <title>Role-based email addresses (info@, sales@): what to do with them</title>
    <link>https://pingutil.com/blog/role-based-email-addresses</link>
    <guid>https://pingutil.com/blog/role-based-email-addresses</guid>
    <pubDate>Fri, 13 Mar 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>Role-based addresses like info@ and support@ are shared inboxes, not people. When to accept, flag or reject them, and how to detect them without false hits.</description>
  </item>
  <item>
    <title>How to find the company behind an email address</title>
    <link>https://pingutil.com/blog/find-company-from-email-address</link>
    <guid>https://pingutil.com/blog/find-company-from-email-address</guid>
    <pubDate>Mon, 09 Mar 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>Turn an email address into a company name: normalize the domain, discard webmail and ISP domains, then resolve the rest from its website or an enrichment API.</description>
  </item>
  <item>
    <title>Should your B2B signup form require a work email?</title>
    <link>https://pingutil.com/blog/require-work-email-b2b-signup</link>
    <guid>https://pingutil.com/blog/require-work-email-b2b-signup</guid>
    <pubDate>Thu, 05 Mar 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>When a work-email-only signup helps a B2B funnel, when it quietly costs you customers, and how to ask for a work email without rejecting anyone.</description>
  </item>
  <item>
    <title>Free email provider domains: the list that actually matters</title>
    <link>https://pingutil.com/blog/free-email-provider-domains</link>
    <guid>https://pingutil.com/blog/free-email-provider-domains</guid>
    <pubDate>Mon, 02 Mar 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>The webmail domains worth listing, grouped by provider and region, why 30,000-domain lists answer a different question, and how to tune a list to your users.</description>
  </item>
  <item>
    <title>How to tell a business email from a personal one in code</title>
    <link>https://pingutil.com/blog/business-email-vs-personal-email</link>
    <guid>https://pingutil.com/blog/business-email-vs-personal-email</guid>
    <pubDate>Thu, 26 Feb 2026 12:00:00 GMT</pubDate>
    <category>Business email</category>
    <description>Classify an email as business or personal: reduce to the registrable domain, check provider lists, then use MX records to catch personal custom domains.</description>
  </item>
  <item>
    <title>Should you block disposable emails or just flag them?</title>
    <link>https://pingutil.com/blog/block-or-flag-disposable-emails</link>
    <guid>https://pingutil.com/blog/block-or-flag-disposable-emails</guid>
    <pubDate>Mon, 23 Feb 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>A decision framework for disposable email at signup: which surfaces deserve a hard block, when to flag instead, and what a flag should do to the account.</description>
  </item>
  <item>
    <title>Disposable email checker APIs: open lists vs paid services</title>
    <link>https://pingutil.com/blog/disposable-email-checker-api-options</link>
    <guid>https://pingutil.com/blog/disposable-email-checker-api-options</guid>
    <pubDate>Tue, 17 Feb 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Open blocklists, free hosted endpoints, paid verification APIs and domain intelligence APIs compared on cost, latency, freshness and failure modes.</description>
  </item>
  <item>
    <title>Referral and promo-code abuse: the email signals that help</title>
    <link>https://pingutil.com/blog/referral-and-promo-abuse-email-signals</link>
    <guid>https://pingutil.com/blog/referral-and-promo-abuse-email-signals</guid>
    <pubDate>Mon, 16 Feb 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Referral abuse is one person posing as many. The email signals that link those fake referees together, with code that scores a referrer before you pay out.</description>
  </item>
  <item>
    <title>Detecting machine-generated email addresses</title>
    <link>https://pingutil.com/blog/detect-random-email-addresses</link>
    <guid>https://pingutil.com/blog/detect-random-email-addresses</guid>
    <pubDate>Wed, 11 Feb 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>How to spot bot-made addresses like xk7qmz2p@gmail.com from the local part alone: the features that work, a runnable scorer, and where it flags real people.</description>
  </item>
  <item>
    <title>Apple Hide My Email, Firefox Relay and SimpleLogin are not disposable email</title>
    <link>https://pingutil.com/blog/email-relay-services-vs-disposable</link>
    <guid>https://pingutil.com/blog/email-relay-services-vs-disposable</guid>
    <pubDate>Fri, 06 Feb 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Relay addresses look random but forward to a real, long-lived inbox. Why they differ from disposable email, why filters misfire on them, and how to allow them.</description>
  </item>
  <item>
    <title>Fake signups: where they come from and how to filter them</title>
    <link>https://pingutil.com/blog/fake-signups-saas</link>
    <guid>https://pingutil.com/blog/fake-signups-saas</guid>
    <pubDate>Wed, 04 Feb 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Fake SaaS signups come from five different sources, and each needs a different filter. How to tell which one you have, and what to put in front of each.</description>
  </item>
  <item>
    <title>Stopping free-trial abuse without punishing real users</title>
    <link>https://pingutil.com/blog/stop-free-trial-abuse</link>
    <guid>https://pingutil.com/blog/stop-free-trial-abuse</guid>
    <pubDate>Fri, 30 Jan 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>A practical playbook for SaaS founders: screen signup emails, dedupe identities and gate trial value in steps, so abusers stall and real users never notice.</description>
  </item>
  <item>
    <title>Why disposable email blocklists go stale, and how to keep yours fresh</title>
    <link>https://pingutil.com/blog/disposable-email-blocklists-go-stale</link>
    <guid>https://pingutil.com/blog/disposable-email-blocklists-go-stale</guid>
    <pubDate>Mon, 26 Jan 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>The open disposable domain list doubled in a year. Why vendored copies decay, how lists also gather bad entries, and a safe update process with code.</description>
  </item>
  <item>
    <title>Block disposable emails in Python (Django and FastAPI)</title>
    <link>https://pingutil.com/blog/block-disposable-emails-python</link>
    <guid>https://pingutil.com/blog/block-disposable-emails-python</guid>
    <pubDate>Fri, 23 Jan 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Block disposable email signups in Django and FastAPI with one shared validator, the PyPI blocklist package, offline PSL matching and a fail-open API option.</description>
  </item>
  <item>
    <title>Block disposable emails in Node.js and Express</title>
    <link>https://pingutil.com/blog/block-disposable-emails-nodejs</link>
    <guid>https://pingutil.com/blog/block-disposable-emails-nodejs</guid>
    <pubDate>Wed, 21 Jan 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Express 5 middleware that blocks disposable email signups using a self-refreshing open blocklist or a single API call, with tests and fail-open handling.</description>
  </item>
  <item>
    <title>How to detect disposable email addresses at signup</title>
    <link>https://pingutil.com/blog/how-to-detect-disposable-email-addresses</link>
    <guid>https://pingutil.com/blog/how-to-detect-disposable-email-addresses</guid>
    <pubDate>Mon, 19 Jan 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>Four layered checks that catch disposable email at signup: domain normalization, an updating blocklist, MX fingerprinting and DNS signals, with working code.</description>
  </item>
  <item>
    <title>What is a disposable email address, and should you block it?</title>
    <link>https://pingutil.com/blog/what-is-a-disposable-email-address</link>
    <guid>https://pingutil.com/blog/what-is-a-disposable-email-address</guid>
    <pubDate>Tue, 13 Jan 2026 12:00:00 GMT</pubDate>
    <category>Disposable email</category>
    <description>What disposable email addresses are, how services like Mailinator work, who uses them, and a simple rule for deciding whether your product should block them.</description>
  </item>
</channel>
</rss>
