← 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/creditsbefore bulk lookups.