Email Verifier + GSTIN/PAN/IFSC Validator (Half Price) avatar

Email Verifier + GSTIN/PAN/IFSC Validator (Half Price)

Pricing

Pay per usage

Go to Apify Store
Email Verifier + GSTIN/PAN/IFSC Validator (Half Price)

Email Verifier + GSTIN/PAN/IFSC Validator (Half Price)

Bulk email check: syntax, MX / null-MX DNS, disposable domains, role and free-provider flags, typo hints (no SMTP probing). Also validates Indian phone numbers, GSTIN checksum, PAN and IFSC. $0.445 per 1,000.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Unadhi

Unadhi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Categories

Share

Email Verifier + GSTIN / PAN / IFSC / Indian Phone Validator (half price, no SMTP)

This actor cleans a list before you use it. It checks emails, Indian phone numbers, GSTINs, PANs and IFSC codes in bulk. Everything runs offline or through a DNS lookup. It never opens an SMTP connection to anyone's mail server, so it can't get your IP blocklisted or look like spam probing.

Price: $0.445 per 1,000 values (email-verified / value-validated at $0.000445). That is half the most-used Store email verifier's $0.89 per 1,000, which also bills platform usage to the user. Duplicates are removed before charging. Rows that fail a check are still charged, because the check itself is the work.

What you get

TypeChecksKey output fields
EmailSyntax (practical RFC 5321/5322, IDN → punycode). DNS: MX, null MX (RFC 7505) and NXDOMAIN, with A/AAAA as the implicit MX. Disposable domain (9,185-domain CC0 list, subdomains included). Role mailbox (info@, sales@…). Free provider. Typo hint (gmial.com → gmail.com)verdict (valid / risky / invalid / unknown), reason, mxHosts, disposable, role, freeProvider, didYouMean
Phonelibphonenumber: valid for its country, line type (mobile / fixed / toll-free…). Default region IN, and handles 0- and 91-prefixed inputse164, national, international, lineType, waMe (mobiles only)
GSTIN15-character format, state code (01–38, 97, 99), embedded PAN, non-zero entity number, official mod-36 check charactervalid, state, pan, panHolderType, checksumOk, reason (gives the expected check character)
PANFormat AAAAA9999A plus the 4th-character holder type (C company, P individual, F firm…)valid, holderType
IFSCFormat AAAA0XXXXXX, with the bank name from the bundled RBI bank list (1,511 codes)validFormat, bank, bankKnown

What "valid" means (and what it doesn't)

  • Email valid = correct syntax, the domain publishes MX records, it isn't disposable and there's no likely typo. We don't check that the mailbox exists. Nobody can do that without SMTP probing, and even SMTP probing is unreliable on catch-all servers and Gmail/Outlook. If you need mailbox-level checks, use an SMTP verifier and pay for it.
  • risky = disposable domain, an A-record-only domain (no MX), or a likely typo. unknown = DNS timeout or SERVFAIL, so run it again later.
  • PAN has no public checksum, so we check format and holder type only. IFSC has no checksum, and we don't confirm offline that the branch exists.
  • GSTIN valid means the number is well-formed and its check character is correct. It does not mean the registration is active, which only the GST portal can confirm.

Input

Pass emails, phones, gstins, pans and ifscs as lists. You can also pass a datasetId, such as the output of a contact-details scraper run. Set datasetEmailField (default emails; it accepts strings, lists of strings, or lists of {email: …} objects) and optionally datasetPhoneField. Set checkDns: false for a check with no network use at all.

Measured (box, 29 Sep 2026)

See test/RESULTS.md.

  • Hand-labelled sample of 94 emails: 94/94 correct verdicts. The reference python-email-validator (syntax + MX) got 75/94, missing all 12 disposables and 5 of 6 typos. Role flag: 69/69 (66/69 before 3 words were added).
  • 19 real public GSTINs (TCS, Infosys, Wipro, Reliance, HDFC Bank, L&T, HUL, Maruti, Airtel, ITC): 19/19 pass.
  • GSTIN mutations: all 9,975 single-character substitutions were caught (100%), and 224 of 225 adjacent transpositions (99.56%).
  • Speed: 929 unique emails over 209 domains took 3.1 s wall, 1.38 CPU-s and 76 MB peak RAM.

Privacy (DPDP Act 2023 / GDPR)

Email addresses and phone numbers are personal data. Only process lists you have a lawful basis for, such as your own customers or leads collected with a notice. The actor sends each email's domain (not the address) to public DNS resolvers. It stores results only in your run's dataset. It contacts no mail server and no third-party API.