Authentication

Every request to the VerifyEmail.io API requires authentication. Learn how to obtain and use your API key.

Getting Your API Key

  1. Create an account at /app/register.
  2. Log in and navigate to your dashboard.
  3. Your API key is displayed under your account settings. It corresponds to your account ID (a_id) or user ID (u_id).
  4. Copy the key and store it securely. Treat it like a password.
Security tip: Never expose your API key in client-side code, public repositories, or URLs that may be logged. Use environment variables or a secrets manager.

Authorization Header Preferred

Pass your API key in the Authorization header using the Bearer scheme. This is the recommended method because it keeps credentials out of server logs and browser history.

cURL
curl -X GET "https://verifyemail.io/api/email?email=test@example.com" \
  -H "Authorization: Bearer YOUR_API_KEY"
JavaScript
const res = await fetch('https://verifyemail.io/api/email?email=test@example.com', {
  headers: { 'Authorization': `Bearer ${API_KEY}` }
});
Python
import requests

resp = requests.get(
  "https://verifyemail.io/api/email",
  params={"email": "test@example.com"},
  headers={"Authorization": f"Bearer {API_KEY}"}
)

Query Parameter Legacy

For backward compatibility, you can pass the API key as a query parameter named apikey. This method is supported but not recommended for production use, because URLs can appear in server access logs, proxy logs, and browser history.

cURL
curl "https://verifyemail.io/api/email?apikey=YOUR_API_KEY&email=test@example.com"

API Key Types

Key Type Field Description
Account Key a_id Tied to your organization account. Shared usage pool across all users in the account.
User Key u_id Tied to an individual user. Usage is tracked per user within the account.

Unauthenticated Access

You can make limited requests without an API key for testing. Unauthenticated requests are rate-limited to 1 request per day per IP address. To increase your quota, sign up for a free account.