View Clean List Results
curl --request GET \
--url https://base.sanitizeemail.com/v1/api/cleanedemail/ \
--header 'X-API-KEY: <api-key>'import requests
url = "https://base.sanitizeemail.com/v1/api/cleanedemail/"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://base.sanitizeemail.com/v1/api/cleanedemail/', 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://base.sanitizeemail.com/v1/api/cleanedemail/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://base.sanitizeemail.com/v1/api/cleanedemail/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://base.sanitizeemail.com/v1/api/cleanedemail/")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://base.sanitizeemail.com/v1/api/cleanedemail/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 123,
"next": "<string>",
"previous": "<string>",
"results": [
{
"id": 123,
"workspace": {
"id": 123,
"name": "<string>",
"owner": 123
},
"clean_email": {
"id": 123,
"file_id": {
"id": 123,
"name": "<string>",
"file_name": "<string>",
"status": "<string>",
"clean_email_count": 123,
"bounce_rate": 123
}
},
"valid_email": "jsmith@example.com",
"created_date": "2023-11-07T05:31:56Z"
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}Get Results
View Clean List Results
This endpoint retrieves the results of a cleaned email list, showing all valid emails that passed the validation process. Use this to access the clean emails after the cleaning job is completed.
GET
/
v1
/
api
/
cleanedemail
/
View Clean List Results
curl --request GET \
--url https://base.sanitizeemail.com/v1/api/cleanedemail/ \
--header 'X-API-KEY: <api-key>'import requests
url = "https://base.sanitizeemail.com/v1/api/cleanedemail/"
headers = {"X-API-KEY": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-KEY': '<api-key>'}};
fetch('https://base.sanitizeemail.com/v1/api/cleanedemail/', 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://base.sanitizeemail.com/v1/api/cleanedemail/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://base.sanitizeemail.com/v1/api/cleanedemail/"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-KEY", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://base.sanitizeemail.com/v1/api/cleanedemail/")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://base.sanitizeemail.com/v1/api/cleanedemail/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-KEY"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"count": 123,
"next": "<string>",
"previous": "<string>",
"results": [
{
"id": 123,
"workspace": {
"id": 123,
"name": "<string>",
"owner": 123
},
"clean_email": {
"id": 123,
"file_id": {
"id": 123,
"name": "<string>",
"file_name": "<string>",
"status": "<string>",
"clean_email_count": 123,
"bounce_rate": 123
}
},
"valid_email": "jsmith@example.com",
"created_date": "2023-11-07T05:31:56Z"
}
]
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}{
"error": 123,
"message": "<string>"
}This endpoint retrieves the results of a cleaned email list, showing all valid emails that passed the validation process. Use this to access the clean emails after the cleaning job is completed.
How it Works
1
Complete Email Cleaning
First use the Clean Email List
endpoint to process your file
2
Check Processing Status
Monitor the cleaning progress using the View
File endpoint
3
Retrieve Clean Results
Once status is “cleaned”, use this endpoint to get the valid emails
4
Handle Pagination
Navigate through results using the pagination parameters
When to Use This Endpoint
After Cleaning Complete
Retrieve results only after the file status shows “cleaned”
Access Valid Emails
Get the list of emails that passed all validation checks
Download Clean Data
Access validated emails for your marketing campaigns
Review Cleaning Results
Examine the quality and quantity of your clean email list
Example Usage
curl -X GET "https://base.sanitizeemail.com/v1/api/cleanedemail/?file_id=757&size=20&page=1" \
-H "X-API-KEY: YOUR_API_KEY"
Response Format
Successful Response (With Results)
{
"count": 168,
"next": "https://base.sanitizeemail.com/v1/api/cleanedemail/?file_id=757&page=2&size=20",
"previous": null,
"results": [
{
"id": 3796123,
"workspace": {
"id": 100,
"name": "asim's Team",
"owner": 100
},
"clean_email": {
"id": 188,
"file_id": {
"id": 757,
"name": "Structured cleaned",
"file_name": "Marketing Agency Australia.xlsx",
"status": "cleaned",
"clean_email_count": 173,
"bounce_rate": 0
}
},
"valid_email": "info@agent6.com.au",
"created_date": "2025-07-14T15:41:41.921862+05:45"
}
]
}
Empty Response (No Clean Results)
{
"count": 0,
"next": null,
"previous": null,
"results": []
}
Understanding Empty Results
Empty Results: If the response contains no results, check the file
processing status using the View File
endpoint to determine the cause:
| File Status | Meaning | Action Required |
|---|---|---|
processing | Cleaning in progress | Wait for completion |
cleaned | Cleaning complete, no valid emails | All emails were invalid |
failed | Processing failed | Check error logs or retry |
Important Notes
File ID Required: The
file_id parameter is mandatory. You can only
retrieve results for files you have uploaded and processed.Check Status First: Always verify the file status is “cleaned” using the
View File endpoint before expecting
results.
Pagination
Large Result Sets: Use
size and page parameters to navigate through
large numbers of clean emails efficiently.Common Scenarios
Scenario 1: Processing Still in Progress
// File status check shows:
{
"status": "processing",
"progress_percentage": 75
}
// Clean results will be empty until processing completes
Scenario 2: All Emails Invalid
// File status shows:
{
"status": "cleaned",
"clean_email_count": 0,
"invalid_emails_count": 150
}
// Clean results will be empty because no emails passed validation
Scenario 3: Successful Cleaning
// File status shows:
{
"status": "cleaned",
"clean_email_count": 173,
"bounce_rate": 0
}
// Clean results will contain the valid emails
Error Responses
| Status Code | Description | Action |
|---|---|---|
400 | Invalid file_id or missing parameter | Check the file_id value |
401 | Unauthorized access | Verify your API key |
404 | File not found | Ensure file exists and belongs to you |
Prerequisites
Required Steps: 1. Upload file using File
Upload 2. Clean file using Clean Email
List 3. Wait for processing to complete
4. Retrieve results with this endpoint
Authorizations
API key for authentication
Query Parameters
The ID of the file for which to retrieve results.
Number of results to return per page.
Required range:
1 <= x <= 100Page number for pagination.
Required range:
x >= 1