Migrating to AtData’s SafeToSend® API from FreshAddress

Why migrate?  

AtData’s SafeToSend® service is where the company is adding new functionality and focusing future Product & Engineering efforts. In order to take advantage of existing enhancements and future upgrades, you’ll need to migrate to AtData SafeToSend.

By upgrading to AtData’s SafeToSend Email Verification and Hygiene, you’ll benefit from:

  • Machine Learning-based spam trap detection
  • AtData’s robust Real-time API and our List API, which can be used to quickly process customer files for Email Validation, Email Intelligence or Identity Matching
  • A more comprehensive set of integration options with email service providers to easily connect and sync your data
  • An enhanced List Guard® with improved reporting, a user interface, and ESP integrations
  • The AtData Engagement Score*, which goes beyond validation to tell you if an email address is active
  • A faster, more fault tolerant architecture with geographic load-balancing across the U.S.

*Please note that Engagement Score is included for free in SafeToSend for all AtData subscription customers.

The key differences between the legacy FreshAddress and AtData’s SafetoSend API are changes to the email response codes returned with your validation data. Whereas FreshAddress provides results using findings and comments, AtData SafeToSend describes results with a status and a numerical status code as shown in the API response of both services below. 

FreshAddress SafeToSend 

AtData SafeToSend 

  "EMAIL": "cmaher11@atdata.com", 

  "FINDING": "W", 

  "COMMENT": "invalid email account", 

  "COMMENT_CODE": "B", 

  "SUGG_EMAIL": "", 

  "SUGG_COMMENT": "suggestion not SafeToSend", 

  "ERROR_RESPONSE": "The email address you entered cannot be registered", 

  "ERROR": "", 

  "UUID": "67e1d87b-730d-4029-a086-dbbcd18667b9" 

  "safe_to_send": { 

    "status": "invalid" 

    "status_code": 400, 

    "address": "cmaher11@atdata.com", 

    "domain_type": "biz", 

  } 

 

AtData SafeToSend Statuses - Quick Summary: 

safetosend - The email address passed all checks of the SafeToSend process, is safe to mail, and is backed by our deliverability guarantee.  

valid - The email address passed the majority of SafeToSend checks; however, it could not be confirmed as deliverable and may still bounce.  

invalid - Do not mail. The email is invalid. It may lack the proper syntax, the domain may be dead, the mailbox does not exist, etc.. (see the list of codes for more granular details on invalid)  

trap - The email address is a spam trap, honeypot, disposable, or high risk. Don’t send email to these risky addresses that can impact your email delivery. References to FreshAddress ‘W - Warning - XP, XF” should be updated to ‘trap’. 

catchall - The domain doesn’t support a mailbox level check. Also known as an "accept all" or "catch all" domain. Emails in this category were designated as “valid” by FreshAddress SafeToSend. 

unknown - We could not complete any checks on the address. Messages to these addresses may see bounces.  

corrected - The email address is invalid because it had a syntax or spelling error, we fixed it and we validated the correction. This status only appears during batch processing and is not present in the real-time API. 

Compare the above statuses to those found in the FreshAddress SafeToSend: 

  • Finding "V" - valid: 
  • valid SafeToSend - The email address passed 100% of the SafeToSend process. 
  • valid - The email address passed the majority of our SafeToSend process however it cannot be 100% confirmed as deliverable and thus is not subject to our deliverability guarantee.  
  • customer override or client exception 
  • Finding "W" - Warning - email is invalid, suspicious, flagged 
  • Finding "D" - Duplicate 
  • Finding "E" - Error 
  • Ex: contains typos, bad top level domain, ends with a period 

Since the AtData status codes are numerical values, all references to FreshAddress comments or comment codes must be updated when migrating to AtData SafeToSend.  

In some cases, there are direct matches for individual codes.  For example:  

  • Valid CO/CE - customer override would be covered by: 
  •  valid 55  - Address is allowed by client-configured exceptions 
  • W - Warning XE - EMPS suppression XE - Email addresses belonging to DMA’s "Do Not Email List" would be covered by: 
  • trap 535 -Address is on ANA's "Do Not Email List"   
  • W - Warning - XP, XF (problematic or frequent complainer) would be covered by: 
  • "trap" in AtData’s SafeToSend (the address is a spamtrap, a known complainer or is suppressed);   

Also, AtData's SafeToSend provides detailed list of invalid codes (codes 100-520).  

Some of these match with FreshAddress codes fairly neatly.  For example, error codes A1, A2, A3, A4, C1, CC, DT, LN, ML, P2, P3, P4, P5 in FreshAddress are covered by invalid codes 100-215 in AtData's SafeToSend. However, some of the FreshAddress “Warning” codes are also considered “invalid” in AtData's SafeToSend.  

To make this easier to understand, below is a detailed breakdown of how all the statuses compare in the AtData SafeToSend Output vs the legacy FreshAddress output: 

AtData SafeToSend Output 

 

FreshAddress SafeToSend Output 

Status 

Code 

Description 

 

Status 

Code(s) 

Description 

unknown 

Timeout. Did not get a response in time. 

  

valid 

valid - The email address passed the majority of our SafeToSend process however it cannot be 100%  confirmed as deliverable and thus is not subject to our deliverability guarantee. 

valid 

10 

Syntax OK. 

  

valid 

20 

Syntax OK and the domain is valid. 

  

catchall 

45 

Domain is a catch all and does not support validation. 

  

safetosend 

50 

valid - SafeToSend - The email address passed 100% of the SafeToSend process. Subject to deliverability guarantee. 

  

valid (STS) 

VS 

valid - SafeToSend - The email address passed 100% of the SafeToSend process. Subject to deliverability guarantee. 

valid 

55 

Address is allowed by client-configured exceptions 

  

valid 

CO/CE 

customer override  

invalid 

100 

General syntax error. 

  

E - Error 

A1, A2, A3, A4, C1, CC, DT, LN, ML, P2, P3, P4, P5 

Various invalid error: missing domain, multiple @,bad character ,double .com ,bad length,contains multiple typos,ends with period,period following @,starts with a period, etc.... 

invalid 

110 

Invalid character in address. 

  

invalid 

115 

Invalid domain syntax. 

  

invalid 

120 

Invalid username syntax. 

  

invalid 

125 

Invalid username syntax for that domain. 

  

invalid 

130 

Address is too long. 

  

invalid 

135 

Address has unbalanced parentheses. 

  

invalid 

140 

Address doesn’t have a username. 

  

invalid 

145 

Address doesn’t have a domain. 

  

invalid 

150 

Address doesn’t have an @ sign. 

  

invalid 

155 

Address has more than one @ sign. 

  

invalid 

200 

Invalid top-level domain (TLD) in address. 

  

invalid 

205 

IP address is not allowed as a domain. 

  

invalid 

210 

Address contains an extra space or character. 

  

invalid 

215 

Unquoted spaces not allowed in email addresses. 

  

invalid 

255 

Address is not allowed by client-configured suppressions 

  

W - Warning  

XC 

client restricted - Email address matches an entry on client provided suppression. 

invalid 

310 

Domain doesn’t exist. 

  

W - Warning  

DC, XH 

bad domain DC  Email address is associated with a domain with inactive mail servers. bogus XB NO Email address with a restricted handle and/or domain; error XH  Email address failed a domain specific rule, e.g. gmail.com does not allow underscores in the  address handle. 

invalid 

315 

Domain doesn’t have a valid IP address. 

  

invalid 

325 

Domain can’t receive email. 

  

invalid 

400 

Mailbox doesn't exist. 

  

invalid 

410 

The mailbox is full and can’t receive email. 

  

invalid 

420 

Mail isn't accepted for this domain. 

  

invalid 

500 

Emails with that username aren’t accepted. 

  

invalid 

505 

Emails with that domain aren’t accepted. 

  

invalid 

510 

That address isn’t accepted. 

  

W - Warning  

invalid email account B  Email address failed FreshAddress’s deliverability check.  

invalid 

515 

Address was rejected during our manual review process 

  

  

  

  

invalid 

520 

Address matched to known bouncers (optional feature). 

  

  

  

  

trap 

525 

Address is a spamtrap, a known complainer or is suppressed. 

  

W - Warning  

XP, XF 

problematic or frequent complainer  - Email address is considered as problematic – includes spamtraps and potentially toxic addresses. role account XR NO Email addresses such as sales@, info@ and webmaster@. frequent complainer XF  Email address owner is known to submit spam/abuse complaints.or  

risky 

530 

Address has opted out from commercial email. 

  

  

  

  

risky 

535 

Address is on ANA's "Do Not Email List" 

  

W - Warning  

XE 

EMPS suppression XE  Email addresses belonging to DMA’s "Do Not Email List" 

unknown 

999 

System error. 

  

  

  

  

  

  

  

  

W - Warning  

XW 

FCC wireless XW  Email address originates from an FCC wireless domain. 

 

Files and Delivery Methods 


File Delivery methods:
 

FreshAddress supports: 

1) FreshAddress Portal  

2) SFTP  

3) Real-time API 

AtData SafeToSend supports: 

1) InstantData Portal  

2) SFTP 

3) Real-time API 

4) List API 


File Contents:
 

AtData’s SafeToSend adds six fields to your email list:  

  • Verification Status 
  • Verification Code 
  • Domain Type 
  • Role Account 
  • Duplicate 
  • Valid Email 

Compared to FreshAddress SafeToSend which includes the following fields: 

  • Unique ID 
  • Email Address 
  • FINDING 
  • COMMENT 
  • COMMENT_CODE 
  • Sugg_Email 
  • Sugg_Comment 

API Comparison 

FA API Output:  

Example API Call & Result (w/ suggestion) 
GET https://[REQUEST URL]&email=nemo@comcast.com  
Response: 

    "EMAIL": "nemo@comcast.com", 

    "FINDING": "V", 

    "COMMENT": "valid", 

    "COMMENT_CODE": "V", 

    "SUGG_EMAIL": "nemo@comcast.net", 

    "SUGG_COMMENT": "", 

    "ERROR_RESPONSE": "", 

    "ERROR": "", 

    "UUID": "be6190ec-9a2d-4ca7-9e6a-5b3455838f8e" 

  

  

AD STS API Output: 

Invalid Email Request with Correction  

GET https://api.towerdata.com/v5/ev?email=info@@atdata,com&api_key={API-Key} 
Response: 

{   

  "safe_to_send": { 

    "status": "invalid", 

    "status_code": 155, 

    "address": "info@@atdata,com", 

    "role_account": true, 

    "email_corrections": [ 

      "info@atdata.com" 

    ] 

  } 

 

If you have additional questions regarding AtData’s SafeToSend, we encourage you to review our full SafeToSend documentation or contact us via customer support.