Get Ad Audience
Business Email to SHA256
The Business Email to SHA256 API converts a business email address into SHA256-hashed personal email addresses, for privacy-safe identity resolution and paid advertising audience matching.
The hashes it returns can be uploaded directly to Meta, Google, LinkedIn, TikTok, and other ad platforms that support customer match or custom audience workflows. Use this to retarget known contacts across their personal devices without exposing raw personal email data.
Use this endpoint to:
- Build customer match audiences for Meta, Google, LinkedIn, or TikTok
- Retarget contacts on their personal devices without exposing raw email addresses
- Bridge business contacts to privacy-safe advertising identifiers
Fair Use Policy: This API is subject to our Fair Use Policy for Enrichment.
POST
/
business_email_to_sha256
Business Email to SHA256
curl --request POST \
--url https://api.moltsets.com/api/v1/tools/business_email_to_sha256 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "john.smith@example.com"
}
'import requests
url = "https://api.moltsets.com/api/v1/tools/business_email_to_sha256"
payload = { "email": "john.smith@example.com" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'john.smith@example.com'})
};
fetch('https://api.moltsets.com/api/v1/tools/business_email_to_sha256', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.moltsets.com/api/v1/tools/business_email_to_sha256",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => 'john.smith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.moltsets.com/api/v1/tools/business_email_to_sha256"
payload := strings.NewReader("{\n \"email\": \"john.smith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.moltsets.com/api/v1/tools/business_email_to_sha256")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"john.smith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moltsets.com/api/v1/tools/business_email_to_sha256")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"john.smith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"results": {
"personal_email_SHA256": [
"e187e84b06e1e6577bcebe42d3905434ddc89d2d5abaab8e85691882310XXXXX"
]
},
"status": "ok",
"metadata": {
"fair_use": {
"records_remaining_5h": 179999,
"records_reset_5h": "2026-07-15T18:53:16Z",
"records_remaining_1w": 899999,
"records_reset_1w": "2026-07-22T13:53:16Z"
}
}
}{
"error": "Bad Request",
"message": "The server cannot process the request due to a client error (400 Bad Request)."
}{
"error": "Unauthorized",
"message": "Invalid API key."
}{
"error": "Not Found",
"message": "No match was found for the data provided."
}{
"error": "Invalid Input",
"message": "Message describing the nature of the invalid input."
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Maximum 100 requests per second."
}{
"error": {
"code": "internal_error",
"message": "Unexpected connection error."
},
"metadata": {}
}⌘I
Business Email to SHA256
curl --request POST \
--url https://api.moltsets.com/api/v1/tools/business_email_to_sha256 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "john.smith@example.com"
}
'import requests
url = "https://api.moltsets.com/api/v1/tools/business_email_to_sha256"
payload = { "email": "john.smith@example.com" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({email: 'john.smith@example.com'})
};
fetch('https://api.moltsets.com/api/v1/tools/business_email_to_sha256', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.moltsets.com/api/v1/tools/business_email_to_sha256",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'email' => 'john.smith@example.com'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.moltsets.com/api/v1/tools/business_email_to_sha256"
payload := strings.NewReader("{\n \"email\": \"john.smith@example.com\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.moltsets.com/api/v1/tools/business_email_to_sha256")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"john.smith@example.com\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moltsets.com/api/v1/tools/business_email_to_sha256")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"email\": \"john.smith@example.com\"\n}"
response = http.request(request)
puts response.read_body{
"results": {
"personal_email_SHA256": [
"e187e84b06e1e6577bcebe42d3905434ddc89d2d5abaab8e85691882310XXXXX"
]
},
"status": "ok",
"metadata": {
"fair_use": {
"records_remaining_5h": 179999,
"records_reset_5h": "2026-07-15T18:53:16Z",
"records_remaining_1w": 899999,
"records_reset_1w": "2026-07-22T13:53:16Z"
}
}
}{
"error": "Bad Request",
"message": "The server cannot process the request due to a client error (400 Bad Request)."
}{
"error": "Unauthorized",
"message": "Invalid API key."
}{
"error": "Not Found",
"message": "No match was found for the data provided."
}{
"error": "Invalid Input",
"message": "Message describing the nature of the invalid input."
}{
"error": "Too Many Requests",
"message": "Rate limit exceeded. Maximum 100 requests per second."
}{
"error": {
"code": "internal_error",
"message": "Unexpected connection error."
},
"metadata": {}
}