is-academic-email
A lightweight Node.js utility for detecting academic email addresses and domains, powered by the swot dataset.
Installation
Using npm:
npm install is-academic-email
Using pnpm:
pnpm add is-academic-email
Quick start
import {
isAcademic,
isUnderTLD,
isStoplisted,
findSchoolNames,
} from 'is-academic-email';
isAcademic('jane.doe@ox.ac.uk'); // true ("ox.ac.uk" is a known academic domain)
isAcademic('user@gmail.com'); // false ("gmail.com" is not academic)
isUnderTLD('prof@university.edu.ee'); // true ("edu.ee" is a known academic TLD)
isStoplisted('https://mail.america.edu'); // true ("america.edu" is stoplisted)
findSchoolNames('alice@cs.stanford.edu'); // ["Stanford University"]
API
isAcademic(email: string): boolean
Returns true
if the email is valid and not stoplisted, and either under a known academic TLD or associated with a known institution.
isUnderTLD(input: string): boolean
Returns true
if the host is under a known academic/public-suffix TLD (supports compound TLDs like ac.uk
).
isStoplisted(input: string): boolean
Returns true
if the host matches a known stoplisted domain.
findSchoolNames(input: string): string[]
Returns institution names associated with the host (empty array if none).
SWOT_METADATA
Metadata about the dataset (e.g., version and record counts).