Did you log in from a new device?
Near
Toronto, Ontario
Device
Apple iPhone
When
Dec 02, 2024
IP
99.239.5.148
Did you log in from a new device?
Near
Toronto, Ontario
Device
Apple iPhone
When
Dec 02, 2024
IP
99.239.5.148
AI-Powered email notifications for every unusual login attempt.
View an example email
Zenlogin is built to make developers lives easier. Preset sensitivity intervals, simple integration and prebuilt notification emails.
A security API through and through. We guarantee this is the easiest way to add a layer of security to your application, website or service.
Smart AI that detects threats that wouldn't otherwise be possible, and notifies your users of them.
Beautiful maps built into email notifications so your users can quickly visualize if their account has been compromised.
Create special rules so your team members can get notified whenever a login attempt happens on their account.
Keep track of all suspicious logins for your users including all the details you'll want to track.
Using Zenlogin for suspicious login detection means you don't have to build it in-house. We'll detect suspicious login attempts and notify your users via email.
Setup in minutes
(Single endpoint)
Premium Phone Support
Minimalist email notifications
No PII Stored
Did you log in from a new device?
Near
Toronto, Ontario
Device
Apple iPhone
When
Dec 2, 2024
IP
99.239.5.148
Get up and running in minutes instead of weeks. Paste in a few lines of code and you're good to go. View a real example email
curl https://api.zenlogin.co/v1/applications/appl0123456789/logins/checks \
--header "X_API_SECRET_KEY: your_secret_key" \
--data identity_key="usr12345" \
--data identity_email_address="name@website.com" \
--data user_agent="Mozilla/5.0 (Windows NT 6.1; rv:74.0) Gecko/20100101 Firefox/74.0" \
--data ip_address="18.97.14.83"
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://api.zenlogin.co/v1/applications/appl0123456789/logins/checks');
$postData = array();
$postData['identity_key'] = 'usr12345';
$postData['identity_email_address'] = 'name@website.com';
$postData['user_agent'] = 'Mozilla/5.0 (Windows NT 6.1; rv:74.0) Gecko/20100101 Firefox/74.0';
$postData['ip_address'] = '18.97.14.83';
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($postData));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X_API_SECRET_KEY: your_secret_key'
));
$response = curl_exec($ch);
$response = json_decode($response, true);
curl_close($ch);
const axios = require('axios');
const endpoint = 'https://api.zenlogin.co/v1/applications/appl0123456789/logins/checks',
postData = {},
options = {};
postData.identity_key = 'usr12345';
postData.identity_email_address = 'name@website.com';
postData.user_agent = 'Mozilla/5.0 (Windows NT 6.1; rv:74.0) Gecko/20100101 Firefox/74.0';
postData.ip_address= '18.97.14.83';
options.headers = {};
options.headers.X_API_SECRET_KEY = 'your_secret_key';
axios.post(endpoint, postData, options).then(function(response) {
console.log(response.data);
}).catch(function(error) {
console.error(error.response.data);
});
import requests
url = 'https://api.zenlogin.co/v1/applications/appl0123456789/logins/checks'
postData = {
'identity_key': 'usr12345',
'identity_email_address': 'name@website.com',
'user_agent': 'Mozilla/5.0 (Windows NT 6.1; rv:74.0) Gecko/20100101 Firefox/74.0',
'ip_address': '18.97.14.83'
}
headers = {'X_API_SECRET_KEY': 'your_secret_key'}
response = requests.post(url, data=postData, headers=headers)
print response.content
require 'uri'
require 'net/http'
uri = URI('https://api.zenlogin.co/v1/applications/appl0123456789/logins/checks')
req = Net::HTTP::Post.new(uri.path)
req['X_API_SECRET_KEY'] = 'your_secret_key'
postData = {}
postData['identity_key'] = 'usr12345'
postData['identity_email_address'] = 'name@website.com'
postData['user_agent'] = 'Mozilla/5.0 (Windows NT 6.1; rv:74.0) Gecko/20100101 Firefox/74.0'
postData['ip_address'] = '18.97.14.83'
req.set_form_data(postData);
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
response = https.request(req)
puts response.body
Security issues are on the rise. Get peace of mind when it comes to suspicious logins and leave threat detection to us, so you can focus on other things.
Businesses need security now more than ever. Pick a plan that makes the most sense for you.
per month
25,000 Requests /mo
2,500 Suspicious Login Emails
Detailed Logs
Custom Rules
Maps Integration
Remove Branding
Always Free
As long as you have less than 500 requests and send less than 50 email notifications per month, Zenlogin is free to use!
Absolutely. We support all major server side languages! Check out the docs
We don't store any of your users PII. For sending emails we use Postmark and this data is only stored there for 45 days.
Yup! We offer a 14-day money back guarantee on any paid plan.
At this time, we offer what we believe is the perfect email design for suspicious email notifications. It's been thoroughly tested and works in all modern email clients.
Don't build suspicous login detection from scratch. Zenlogin is faster, secure and we'll worry about all the mundane details.
Start 30-Day Free Trial