curl -X POST https://api.dotlookup.dev/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "your_password"}'
import requests
resp = requests.post("https://api.dotlookup.dev/v1/auth/login", json={
"email": "you@example.com",
"password": "your_password",
})
account = resp.json()
print(f"Your API key: {account['api_key']}")
const resp = await fetch("https://api.dotlookup.dev/v1/auth/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email: "you@example.com", password: "your_password" }),
});
const account = await resp.json();
console.log(`Your API key: ${account.api_key}`);
{
"id": 1,
"email": "you@example.com",
"name": "Jane Doe",
"company": "Acme Logistics",
"api_key": "dl_a1b2c3d4e5f6...",
"tier": "default",
"rate_limit": 100,
"is_active": true,
"created_at": "2025-03-20T14:30:00Z"
}
{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "invalid email or password"
}
}
{
"error": {
"code": "PASSWORD_REQUIRED",
"message": "this account does not have a password set — use the API key or reset your password"
}
}
Account
Login
Retrieve your account and API key by email + password
POST
/
v1
/
auth
/
login
curl -X POST https://api.dotlookup.dev/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "your_password"}'
import requests
resp = requests.post("https://api.dotlookup.dev/v1/auth/login", json={
"email": "you@example.com",
"password": "your_password",
})
account = resp.json()
print(f"Your API key: {account['api_key']}")
const resp = await fetch("https://api.dotlookup.dev/v1/auth/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email: "you@example.com", password: "your_password" }),
});
const account = await resp.json();
console.log(`Your API key: ${account.api_key}`);
{
"id": 1,
"email": "you@example.com",
"name": "Jane Doe",
"company": "Acme Logistics",
"api_key": "dl_a1b2c3d4e5f6...",
"tier": "default",
"rate_limit": 100,
"is_active": true,
"created_at": "2025-03-20T14:30:00Z"
}
{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "invalid email or password"
}
}
{
"error": {
"code": "PASSWORD_REQUIRED",
"message": "this account does not have a password set — use the API key or reset your password"
}
}
Retrieve your account details and API key. Requires both email and password — DotLookup intentionally returns the same
INVALID_CREDENTIALS error for unknown emails and wrong passwords so accounts can’t be enumerated.
string
required
The email address used to sign up
string
required
Your account password (the one set during signup or via password reset)
curl -X POST https://api.dotlookup.dev/v1/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "you@example.com", "password": "your_password"}'
import requests
resp = requests.post("https://api.dotlookup.dev/v1/auth/login", json={
"email": "you@example.com",
"password": "your_password",
})
account = resp.json()
print(f"Your API key: {account['api_key']}")
const resp = await fetch("https://api.dotlookup.dev/v1/auth/login", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ email: "you@example.com", password: "your_password" }),
});
const account = await resp.json();
console.log(`Your API key: ${account.api_key}`);
{
"id": 1,
"email": "you@example.com",
"name": "Jane Doe",
"company": "Acme Logistics",
"api_key": "dl_a1b2c3d4e5f6...",
"tier": "default",
"rate_limit": 100,
"is_active": true,
"created_at": "2025-03-20T14:30:00Z"
}
{
"error": {
"code": "INVALID_CREDENTIALS",
"message": "invalid email or password"
}
}
{
"error": {
"code": "PASSWORD_REQUIRED",
"message": "this account does not have a password set — use the API key or reset your password"
}
}
Lost your password? Use
POST /v1/auth/forgot-password to receive a reset link.