Node.js SDK for Enrichr — a micro-toll utility API warehouse.
One API key. 40 endpoints. Fractions of a cent per call.
Requires Node 18+ (uses native fetch). For older Node, pass a custom fetch function.
const { Enrichr } = require ( 'enrichr' ) ;
// or: import { Enrichr } from 'enrichr';
const client = new Enrichr ( 'enr_your_api_key' ) ;
// Validate an email
const email = await client . enrich . email ( 'user@example.com' ) ;
console . log ( email . data . valid ) ; // true
console . log ( email . data . disposable ) ; // false
console . log ( email . cost_usd ) ; // 0.0001
// Generate a slug
const slug = await client . generate . slug ( 'Hello World! Café & More' ) ;
console . log ( slug . data . slug ) ; // hello-world-cafe-more
// Validate a credit card (Luhn + network, number never stored)
const card = await client . validate . creditCard ( '4111 1111 1111 1111' ) ;
console . log ( card . data . network ) ; // Visa
// Look up a MIME type
const mime = await client . lookup . mimeType ( 'pdf' ) ;
console . log ( mime . data . mime_type ) ; // application/pdf
Method
Description
.email(email)
Validate email (format, MX, disposable)
.phone(phone, countryHint?)
Parse phone to E.164, detect line type
.address(street, city, options?)
Normalize postal address
.ip(ip)
Geolocate IP (country, city, ISP, timezone)
.classify(text)
Sentiment, toxicity, spam, language
Method
Description
.currency(amount, fromCurrency, toCurrency)
ECB rates, updated daily
.timezone(datetime, fromTz, toTz)
DST-aware IANA timezone conversion
.units(value, fromUnit, toUnit, category?)
Length, weight, temperature, area, volume
.number(value, fromBase)
decimal ↔ binary ↔ octal ↔ hex ↔ Roman
.case(text)
camelCase, snake_case, PascalCase + 6 more
.htmlToText(html)
Strip HTML tags
.markdown(markdown)
Markdown → HTML
.encoding(text, codec?, operation?)
base64, hex, url, html, rot13
Method
Description
.vat(vatNumber)
EU VAT — format + VIES check
.password(password)
HIBP breach check + strength score
.creditCard(number)
Luhn + network (Visa, MC, Amex, …)
.iban(iban)
MOD-97 checksum, 77 countries
.json(jsonString)
Validate + format + analyze JSON
.color(color)
hex/rgb/hsl conversion
.domain(domain)
Format + DNS A + MX check
.regex(pattern, testString, options?)
Test regex, return all matches
.uuid(uuid)
Validate + detect version (v1–v5)
Method
Description
.qr(content, options?)
QR code → base64 PNG + data URI
.uuid(version?, count?)
UUID v1 or v4, up to 100
.hash(text, algorithm?, encoding?)
MD5/SHA-1/SHA-256/SHA-512
.password(options?)
Secure random password + entropy
.slug(text, options?)
URL-safe slug (Unicode-aware)
.avatar(name, options?)
SVG initials avatar
.lorem(options?)
Lorem ipsum text
.token(options?)
hex / url_safe / alphanumeric / api_key
Method
Description
.text(text)
Word count, reading time, Flesch readability
Method
Description
.profanity(text)
Detect + censor profanity
Method
Description
.postal(postalCode, country?)
City, state, coords (60+ countries)
.country(query)
Country by ISO code or name
.timezone(timezone)
IANA timezone info (offset, DST, abbr)
.mimeType(query)
Extension → MIME or MIME → extensions
Method
Description
.url(url)
Scheme, host, path, params, UTM tags
.userAgent(userAgent)
Browser, OS, device, bot detection
.csv(csvString, hasHeaders?)
CSV string → structured rows
.date(dateString)
Parse any date string
Method
Description
.signup(email)
Create an API key
.usage()
Monthly call count + estimated charge
const { Enrichr, EnrichrError } = require ( 'enrichr' ) ;
const client = new Enrichr ( 'enr_your_key' ) ;
try {
const result = await client . enrich . email ( 'user@example.com' ) ;
} catch ( err ) {
if ( err instanceof EnrichrError ) {
console . error ( err . status , err . message ) ;
}
}
Older Node.js / custom fetch
const nodeFetch = require ( 'node-fetch' ) ;
const client = new Enrichr ( 'enr_...' , { fetch : nodeFetch } ) ;
First 1,000 calls/month are free . After that:
Most utility endpoints: $0.00001/call (one-hundredth of a cent)
Enrichment endpoints: $0.0001/call
VAT, address: $0.0005/call
Full pricing at enrichrapi.dev .
MIT