← Back to Explore

Domain Email Finder

Find public emails for a domain - Returns verified public email addresses for a given company domain.

5 credits / req
2.5

Overview

The Domain Email Finder endpoint scrapes the web to discover and return public email addresses associated with a specific domain name. Provide a domain, receive a list of emails—ideal for building contact lists and outreach preparation.

Who Is This For?

Role Use Case
Marketers Build email lists from company domains for targeted outbound campaigns.
Lead Generation Teams Enrich prospect lists with verified public email addresses before sales outreach.
Developers Integrate automated email discovery into CRMs, sales tools, or custom automation workflows.

What You Can Build

  • Cold outreach automation — Feed a list of target domains, collect public emails, and load them into email sequence tools.
  • CRM enrichment pipeline — Automatically fill missing email fields when a new company record is added to your CRM.
  • Lead qualification tool — Verify a company has reachable public contacts before investing sales resources.
  • Prospecting dashboard — Combine with the Company Directory API to scrape industry lists and surface emails in one workflow.
  • Account-based marketing (ABM) lists — Create targeted contact lists for specific high-value companies.

Endpoint

POST https://api.scravity.com/v1/email/find/domain

Cost: 5 credits per successful extraction  ·  Cached Result: 1 credit  ·  No Result (404): 0 credits

Authentication

Include your API key as a Bearer token in the Authorization header.

Authorization: Bearer YOUR_API_KEY

Request Body

Parameter Type Required Description
domain string Yes The root domain to search (e.g., scravity.com).

Code Examples

cURL

curl -X POST https://api.scravity.com/v1/email/find/domain \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "scravity.com"}'

Python

import requests

url = "https://api.scravity.com/v1/email/find/domain"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
payload = {"domain": "scravity.com"}

r = requests.post(url, json=payload, headers=headers)
print(r.json())

JavaScript

const res = await fetch("https://api.scravity.com/v1/email/find/domain", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({ domain: "scravity.com" })
});

const data = await res.json();
console.log(data);

Response Format

Success (200)

{
"success": true,
"domain": "scravity.com",
"content": [
{
"email": "contact@scravity.com",
"local_part": "contact"
}
],
"logs": []
}

No Emails Found (404)

{
"success": false,
"error": "Domain not found or no emails available",
"domain": "example.com"
}

Insufficient Credits (402)

{
"success": false,
"error": "Insufficient credits",
"details": ["You need at least 5 credits to perform this action. Current balance: 2."]
}

Credits

Result Cost
Successful extraction (emails found) 5 credits
No emails found (404) 0 credits
Cached result (recent query) 1 credit

Rate Limits

Window Limit
Per second 2 requests
Per minute 120 requests

Tips

  • Always pass the root domain without protocol or path (e.g., scravity.com).
  • A 404 costs nothing — safe to probe domains without credit risk.
  • Cached results from recent queries cost only 1 credit.
  • Check your balance with GET /v1/credits before bulk lookups.