API Documentation

RESTful API for AI-powered email name extraction with confidence scoring and email intelligence

Endpoint

GET https://api.emailnameextractor.com/?q={emails}

Example

curl "https://api.emailnameextractor.com/?q=martin.webb@inc64.com"

Parameters

  • q (required) - Email address or comma-separated list
  • nocache (optional) - Set to 'true' for fresh processing

Response Format

Returns JSON array with detailed extraction results. Each email returns one result object:

Field Type Description Example
email string Original email address "martin.webb@inc64.com"
firstName string Extracted first name "Martin"
lastName string Extracted last name "Webb"
companyName string Inferred company name "INC64"
confidence number Reliability score (50-100%) 95
aiUsed boolean Whether AI was used for extraction false
isDisposable boolean Whether email is from disposable provider false
emailQuality string Quality assessment "standard"
extractionMethod string How names were extracted "first_last"
department string Department if detected "support"
Example Response
[ { "email": "martin.webb@inc64.com", "firstName": "Martin", "middleName": "", "lastName": "Webb", "companyName": "INC64", "website": "https://www.inc64.com", "confidence": 95, "score": 85, "extractionMethod": "first_last", "aiUsed": false, "isDisposable": false, "emailQuality": "standard", "riskLevel": "low", "birthYear": null, "department": "", "domain": "inc64.com", "domainPrefix": ".com", "userId": "martinwebb", "source": "local" } ]

Integration Examples

async function extractNames(emails) {
    const response = await fetch(
        `https://api.emailnameextractor.com/?q=${encodeURIComponent(emails)}`
    );
    return await response.json();
}

// Single email extraction
const result = await extractNames('martin.webb@inc64.com');
console.log(result[0].firstName);    // "Martin"
console.log(result[0].lastName);     // "Webb"
console.log(result[0].confidence);   // 95

// Multiple emails extraction
const emails = 'martin.webb@inc64.com,support@slack.com,mwebb@gmail.com';
const results = await extractNames(emails);

results.forEach(result => {
    console.log(`Email: ${result.email}`);
    console.log(`Name: ${result.firstName} ${result.lastName}`);
    console.log(`Company: ${result.companyName}`);
    console.log(`Confidence: ${result.confidence}%`);
    console.log(`AI Used: ${result.aiUsed}`);
    console.log('---');
});
<?php
function extractNames($emails) {
    $url = "https://api.emailnameextractor.com/?q=" . urlencode($emails);
    $response = file_get_contents($url);
    return json_decode($response, true);
}

// Single email extraction
$result = extractNames("martin.webb@inc64.com");
echo "Name: " . $result[0]["firstName"] . " " . $result[0]["lastName"] . "\n";
echo "Company: " . $result[0]["companyName"] . "\n";
echo "Confidence: " . $result[0]["confidence"] . "%\n";

// Multiple emails extraction
$emails = "martin.webb@inc64.com,support@slack.com,mwebb@gmail.com";
$results = extractNames($emails);

foreach ($results as $result) {
    echo "Email: " . $result["email"] . "\n";
    echo "Name: " . $result["firstName"] . " " . $result["lastName"] . "\n";
    echo "Company: " . $result["companyName"] . "\n";
    echo "Confidence: " . $result["confidence"] . "%\n";
    echo "AI Used: " . ($result["aiUsed"] ? "Yes" : "No") . "\n";
    echo "---\n";
}
?>
import requests

def extract_names(emails):
    url = f"https://api.emailnameextractor.com/?q={emails}"
    response = requests.get(url)
    return response.json()

# Single email extraction
result = extract_names("martin.webb@inc64.com")
print(f"Name: {result[0]['firstName']} {result[0]['lastName']}")
print(f"Company: {result[0]['companyName']}")
print(f"Confidence: {result[0]['confidence']}%")

# Multiple emails extraction
emails = "martin.webb@inc64.com,support@slack.com,mwebb@gmail.com"
results = extract_names(emails)

for result in results:
    print(f"Email: {result['email']}")
    print(f"Name: {result['firstName']} {result['lastName']}")
    print(f"Company: {result['companyName']}")
    print(f"Confidence: {result['confidence']}%")
    print(f"AI Used: {'Yes' if result['aiUsed'] else 'No'}")
    print("---")
# Single email
curl "https://api.emailnameextractor.com/?q=martin.webb@inc64.com"

# Multiple emails
curl "https://api.emailnameextractor.com/?q=martin.webb@inc64.com,support@slack.com"

# Fresh processing (bypass cache)
curl "https://api.emailnameextractor.com/?q=test@example.com&nocache=true"

# With debug logs (development)
curl "https://api.emailnameextractor.com/?q=test@example.com&debug=true"

Extraction Methods

The API uses 6 different extraction methods depending on email pattern complexity:

Method Description Example Confidence
first_last Standard two-part name martin.webb@domain.com 90-100%
first_middle_last Three-part name with middle maria.fernanda.garcia@domain.com 95-100%
initial_last Initial + surname j.smith@domain.com 85-95%
initial_compound Initial + compound surname mwebb@domain.com 80-90%
last_first_reversed Reversed name order silva.joao@domain.com 70-80%
department_detection Department email support@domain.com 100%

Live API Tester

Test the API directly from this page with real data:

API Response: