Mask an email
API · /mask-api
Mask API
Mask a value for safe display. The mask endpoint keeps the first and/or last few characters visible and replaces the rest with a mask character — so a card becomes ••••••••••••1111 and an API token becomes sk**********3456 — and can keep separators (spaces and dashes) intact so the value keeps its shape. A dedicated email masker hides the local part (and optionally the domain) while keeping the address recognisable, e.g. j•••••••@example.com. Choose how many characters to reveal and which mask character to use. Perfect for showing the last four digits of a card, partially hiding emails and phone numbers, and masking tokens and account numbers in UIs, receipts and logs. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This masks a known value for display; to find and redact PII inside free text, use a redaction API.
API health
healthy- Uptime
- 100.00%
- Server probes · 24h
- Avg latency
- 85 ms
- Server probes · 24h
- Subscribers
- 4,931
- active
- Total calls
- 42
- last 7 days
Pricing
Pick a tier — billed monthly, cancel anytime.
Free
Free
- 1,235 calls / month
- 2 requests / second
- Hard cap (429 above quota, no overage)
- 1,235 calls/month
- 2 req/sec
- Mask + email
- No credit card
Starter
€2.75 /month
- 10,750 calls / month
- 8 requests / second
- Hard cap (429 above quota, no overage)
- 10.75k calls/month
- 8 req/sec
- Separators + custom mask char
- Email support
Pro
€22.65 /month
- 158,500 calls / month
- 20 requests / second
- Hard cap (429 above quota, no overage)
- 158.5k calls/month
- 20 req/sec
- UI / receipt / log pipelines
- Priority support
Mega
€60.65 /month
- 835,000 calls / month
- 50 requests / second
- Hard cap (429 above quota, no overage)
- 835k calls/month
- 50 req/sec
- Platform scale
- Dedicated SLA
Built by
Related APIs
Other APIs with overlapping tags.
Redact API
Detect and redact personally identifiable information (PII) in free text. It finds email addresses, phone numbers, credit-card numbers (Luhn-validated to cut false positives), IPv4 and IPv6 addresses, US Social Security numbers and IBANs, and masks each one — with a per-type label like [EMAIL], a fixed replacement string, or a single character repeated to the original length. A detect endpoint returns every match with its type and position without changing the text. Perfect for scrubbing logs and support transcripts, sanitising data before sharing or sending to a third party, and privacy and compliance pre-checks. Pure local computation — text never leaves the server, no key, no third party, instant; up to 200,000 characters via POST. Live, nothing stored. 3 endpoints. Regex-based and best-effort — review before relying on it for legal compliance. Distinct from sentiment, profanity and general text tooling.
api.oanor.com/redact-api
Tor Network API
Look up the live Tor network as an API — powered by the Tor Project's official Onionoo service and the canonical bulk exit-node list. Check whether any IPv4 or IPv6 address is a Tor relay (is_tor_relay) and whether it is an exit node that clients leave the network through (is_exit_node, corroborated against the bulk exit list), returning the full matching relay record(s): nickname, fingerprint, flags, country, autonomous system, advertised bandwidth, exit-policy summary and first/last-seen dates. Or search the public relay list by nickname, fingerprint, IP, country or flag (Exit, Guard, Fast, Stable…) with paging. Built for fraud and abuse triage, login-risk scoring, comment- and registration-filtering, and network research — knowing at a glance whether a connection originates from the Tor network. Range data is fetched live from the Tor Project, so it is always current. A Tor-network lookup — distinct from cloud/CDN attribution (cloudips), IP geolocation (ipgeo), ASN/BGP ownership (asn, ripestat) and open-port exposure (internetdb). No upstream key, no cache.
api.oanor.com/tor-api
Password Breach Check API
Check whether a password has appeared in known data breaches — as an API over Have I Been Pwned's Pwned Passwords corpus (800+ million unique compromised passwords). It uses k-anonymity: only the first 5 characters of a password's SHA-1 hash are ever sent upstream, so the password itself never leaves in full. Pass a password (hashed in memory, never stored or logged — send it via POST so it never appears in a URL/log) or a SHA-1 hash to learn whether it has been breached and how many times; or fetch a raw k-anonymity range for a 5-character hash prefix and do the matching entirely on your own side for zero password exposure. Screening sign-ups and password resets against breached-password lists is recommended by NIST 800-63b, and this makes it a one-call check. A breach / credential-security resource — distinct from password generators, cryptographic hashing and bcrypt. Open data from Have I Been Pwned (Troy Hunt), CC BY 4.0.
api.oanor.com/pwned-api
Screen PPI API
Screen and display pixel-density maths as an API, computed locally and deterministically. The ppi endpoint computes the pixels per inch of a display from its resolution and diagonal size — along with the pixels per centimetre, the dot pitch in millimetres, the diagonal in pixels, the total pixels and megapixels, the simplified aspect ratio, and the physical width and height. The size endpoint does the inverse: from a resolution and a known PPI it works out the physical dimensions and diagonal in inches and centimetres. The retina endpoint analyses a display at a viewing distance: it computes the pixels per degree, says whether the display is effectively "retina" (pixels indistinguishable to 20/20 vision, around 60 pixels per degree), and gives the distance at which it becomes retina. Everything is computed locally and deterministically, so it is instant and private. Ideal for display and monitor tools, AV and signage planning, UI and responsive-design work, and hardware comparison sites. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is screen pixel density; for print resolution and image-to-print sizing use a DPI API.
api.oanor.com/ppi-api
Frequently asked questions
Quick answers about pricing, quotas, and integration.
How do I get an API key for Mask API?
What's the rate limit for Mask API?
How much does Mask API cost?
Can I cancel my subscription anytime?
Is Mask API GDPR-compliant?
Pick an endpoint from the list on the left to see its details and try it.
Code snippets
Sign up to get an API key, then call any path under your slug.
curl https://api.oanor.com/mask-api/SOME_PATH \
-H "x-oanor-key: oanor_test_..."
const res = await fetch("https://api.oanor.com/mask-api/SOME_PATH", {
headers: { "x-oanor-key": "oanor_test_..." }
});
const data = await res.json();
$ch = curl_init("https://api.oanor.com/mask-api/SOME_PATH");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
$response = curl_exec($ch);
import requests
r = requests.get(
"https://api.oanor.com/mask-api/SOME_PATH",
headers={"x-oanor-key": "oanor_test_..."},
)
print(r.json())
Ratings
Sign in to rate.
No reviews yet.
Discussion
Ask questions, share usage tips, get answers from the provider and other developers. Public — anyone can read.
Sign in to start a thread or reply.
Sign inNew thread
·
-
Provider answer
🔒 This thread is locked — no new replies.
-
·
- No threads yet — start the discussion.
Support
Private 1:1 support with the provider — billing questions, integration issues, account problems. Only you and the provider team can see these threads.
Sign in to open a support ticket.
Sign inOpen new ticket
Describe what you need help with. The provider team gets an email and replies on the ticket page.
-
·
Urgent - No tickets yet for this API.