Migrating to AtData’s SafeToSend® API from TowerData

Why migrate?  

AtData’s SafeToSend® service is where the company is adding new functionality and focusing future Product & Engineering efforts. While we don’t have plans to deprecate the TowerData API any time soon, we highly recommend upgrading to SafeToSend to take advantage of existing enhancements and future upgrades. 

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

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

The key differences between the legacy Tower Data and AtData’s SafetoSend API are changes to the email response codes returned in your validation data.  

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. Any references to TowerData ‘valid’ status should be updated to use ‘safetosend’. 
  • valid - The email address passed the majority of SafeToSend checks; however, it could not be confirmed as deliverable and may still bounce. SafeToSend ‘valid’ is comparable to TowerData ‘unknown’ for status codes 10 and 20. 
  • 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 TowerData ‘risky’ 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. References to TowerData ‘unverifiable’ should be updated to ‘catchall’. 
  • unknown - We could not complete any checks on the address. Messages to these addresses may see bounces. This status will be returned for status codes 5, timeout, or 999, error. 
  • 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. 

Key Changes and Upgrades for SafeToSend 

(as compared to TowerData API responses) 

Status Codes with notable changes: 

  • unknown status codes 10 and 20 are now considered Valid with the SafeToSend service 
  • unverifiable, status code 45, is now labeled as a “catchall” in SafeToSend (the domain is a catch all and does not support validation) 
  • risky 525  is now labeled as a "trap" in SafeToSend (the address is a spamtrap, a known complainer or is suppressed);  
  • Note that this is an upgrade from TowerData which previously reported a count of traps but did not code them so that they could be identified) 

New Statuses added to SafeToSend: 

  • Safetosend 50 – our new “marquee” status for valid emails that meet all enhanced SafeToSend checks and criteria, with guaranteed results 
  • Valid 55 - Address is allowed by client-configured exceptions 
  • Invalid 255 - Address is not allowed by client-configured suppressions 
  • Invalid 515 - Address was rejected during our manual review process 
  • trap 525  - Address is a spamtrap, a known complainer or is suppressed. 
  • trap  535  - Address is on the ANA's "Do Not Email List" 

TowerData status codes removed from SafeToSend: 

  • Invalid 135 - Address has unbalanced parentheses. 
  • Invalid 205 - IP address is not allowed as a domain. 
  • Invalid 315 - Domain doesn’t have a valid IP address. 

Below is a comparison chart to help illustrate the key differences between AtData’s SafeToSend output versus the older Tower Data output: 

AtData SafeToSend Output 

 

TowerData Output 

Status 

Code 

Description 

 

Status 

Code 

Description 

unknown 

Timeout. Did not get a response in time. 

  

unknown 

Timeout. Did not get a response in time. 

valid 

10 

Syntax OK. 

  

unknown 

10 

Syntax OK. 

valid 

20 

Syntax OK and the domain is valid. 

  

unknown 

20 

Syntax OK and the domain is valid. 

catchall 

45 

Domain is a catch all and does not support validation. 

  

unverifiable 

45 

Domain is a catch all and does not support validation. 

safetosend 

50 

Valid email address. 

  

valid 

50 

Valid email address. 

valid 

55 

Address is allowed by client-configured exceptions 

  

  

  

  

invalid 

100 

General syntax error. 

  

invalid 

100 

General syntax error. 

invalid 

110 

Invalid character in address. 

  

invalid 

110 

Invalid character in address. 

invalid 

115 

Invalid domain syntax. 

  

invalid 

115 

Invalid domain syntax. 

invalid 

120 

Invalid username syntax. 

  

invalid 

120 

Invalid username syntax. 

invalid 

125 

Invalid username syntax for that domain. 

  

invalid 

125 

Invalid username syntax for that domain. 

invalid 

130 

Address is too long. 

  

invalid 

130 

Address is too long. 

removed 

  

invalid 

135 

Address has unbalanced parentheses. 

invalid 

140 

Address doesn’t have a username. 

  

invalid 

140 

Address doesn’t have a username. 

invalid 

145 

Address doesn’t have a domain. 

  

invalid 

145 

Address doesn’t have a domain. 

invalid 

150 

Address doesn’t have an @ sign. 

  

invalid 

150 

Address doesn’t have an @ sign. 

invalid 

155 

Address has more than one @ sign. 

  

invalid 

155 

Address has more than one @ sign. 

invalid 

200 

Invalid top-level domain (TLD) in address. 

  

invalid 

200 

Invalid top-level domain (TLD) in address. 

removed 

  

invalid 

205 

IP address is not allowed as a domain. 

invalid 

210 

Address contains an extra space or character. 

  

invalid 

210 

Address contains an extra space or character. 

invalid 

215 

Unquoted spaces not allowed in email addresses. 

  

invalid 

215 

Unquoted spaces not allowed in email addresses. 

invalid 

255 

Address is not allowed by client-configured suppressions 

  

  

  

  

invalid 

310 

Domain doesn’t exist. 

  

invalid 

310 

Domain doesn’t exist. 

removed 

  

invalid 

315 

Domain doesn’t have a valid IP address. 

invalid 

325 

Domain can’t receive email. 

  

invalid 

325 

Domain can’t receive email. 

invalid 

400 

Mailbox doesn't exist. 

  

invalid 

400 

Mailbox doesn't exist. 

invalid 

410 

The mailbox is full and can’t receive email. 

  

invalid 

410 

The mailbox is full and can’t receive email. 

invalid 

420 

Mail isn't accepted for this domain. 

  

invalid 

420 

Mail isn't accepted for this domain. 

invalid 

500 

Emails with that username aren’t accepted. 

  

invalid 

500 

Emails with that username aren’t accepted. 

invalid 

505 

Emails with that domain aren’t accepted. 

  

invalid 

505 

Emails with that domain aren’t accepted. 

invalid 

510 

That address isn’t accepted. 

  

invalid 

510 

That address isn’t accepted. 

invalid 

515 

Address was rejected during our manual review process 

  

  

  

  

invalid 

520 

Address matched to known bouncers (optional feature). 

  

invalid 

520 

Address matched to known bouncers (optional feature). 

trap 

525 

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

  

risky 

525 

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

risky 

530 

Address has opted out from commercial email. 

  

risky 

530 

Address has opted out from commercial email. 

risky 

535 

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

  

  

  

  

unknown 

999 

System error. 

  

unknown 

999 

System error. 

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