Verify550 is the ultimate tool for validation and verification all in one easy step. Validation (eHygienics technology) removes threats like bots, traps, protestors, litigators, syntax and checks the mx records for inconsistencies, while verification performs smtp handshakes recording the result giving you accurate information on soft or hard bounces. You can verify emails with our online application or with our real-time API. Our real-time API is available in PHP, Python, Node.js, and .net. Follow along below to learn how to use Verify 550 to securely, easily, and efficiently validate and verify your list of email addresses with detailed reports. To begin using Verify 550 you will first need to create a free account. You can sign up by visiting the link here: https://app.verify550.com/users/signup Look for a confirmation link and confirm you signed up. Login and you will see the main console. Utilize the drag-and-drop functionality to seamlessly transfer your list from your local drive directly into the designated area indicated by the dotted outline. Alternatively, opt for the ‘Import lists’ option and proceed through the straightforward steps to upload your list. Upon successful upload, designate your file by selecting it, then initiate the processing by clicking ‘Start List.’ Allow a brief moment for the system to process the data, after which you’ll be able to download a thoroughly verified list. Keep in mind, the processing duration scales with the size of the list, necessitating patience for larger datasets. Our API can be integrated into your web applications to verify email addresses in real time. Using the API requires only a few lines of code. For more details, please visit our Developer API section below. Developer API Verify 550 provides a developer API to integrate the email verification process with your service. Our API provides the ability to check individual email addresses and can accept an email list through file upload. Our Guarantee The verification & validation process of Verify 550 always provides 100% accurate results in real-time. For each email address, we present a detailed validation status. We are extremely confident about the level of accuracy we provide, and we are sure that none of your emails will bounce after getting checked with Verify 550. Verify 550 uses a prominent mail transfer protocol called SMTP (Simple Mail Transfer Protocol) to check if the user’s email address is invalid or non-working without sending actual emails to that recipient address. Although this is a simple approach, there is an overhead involved with SMTP, and email servers often behave unexpectedly. Therefore, many companies rely on Verify 550 to provide email verification. We have been in the email and security industry for the last 10 years and have gained a reputation in the email verification process. Here are our steps we use for emails validation and verification: Email deduplication – Domains that match our existing database of invalid emails are removed Domain validation – DNS entries for every email address are checked and validated Spam-trap removal – Spam-traps and disposable emails are detected Spamcop removal – Matches and removes against updated static list of 9 million spamcop traps Risk validation – Remove all of the domains that match our existing database of invalid emails Syntax verification – Email address syntax is verified according to IETF standard MTA validation – Checks if a Mail-Transfer-Agent has a valid MX Record Protestor removal – Matches against updated static list of 300 million protestors and growing Litigator removal – Matches against updated static list of 12,000 litigators worldwide Botclickers removal – Matches against updated domain, email and IP’s of known botclickers Department role removal – Matches against emails that are shared with groups or departments Domain blacklist – Matches and removes against known blacklist domains Disposable removal – Matches and removes against temporary and/or disposable emails Verify 550 provides multiple avenues for importing your email address list for verification purposes. You have the option to upload CSV, XLS, and TXT files directly from your local computer drive or from cloud storage platforms like Google Drive. Additionally, you can fetch the list from a web server for seamless integration To upload a file, scroll to Verification on your dashboard, click on Import lists and then specify where your file resides. You can also drag and drop your files from your computer to the dotted area in your dashboard. While you are uploading a file, make sure the following conditions are met for the process process to work smoothly: Below is a screen shot of a file of email addresses to show you how the file should be properly formatted before verification: Once a list has been processed by Verify 550, a Result column is added in the list to categorize the status of each email. Read more about these statuses at our Result Guide section. This is how a processed list generally looks: After the verification process, retrieve the results effortlessly in CSV or XLSX formats through a variety of options: opt for a single suppression category, amalgamate multiple suppression categories, isolate deliverables exclusively, or compile all outcomes into a unified file. To access the verified results, proceed to the ‘Verification’ section within your dashboard. From the ‘Imported Lists’ section, select your desired file, then click ‘Download Results.’ A prompt will appear, allowing you to specify the file category (Deliverable/All Results/Custom Results) and format preference (XLSX/CSV).” Downloading All Results You can download your entire list by choosing All Results and then clicking on your desired file type. Downloading Custom Results If you want to specify the results downloaded, you can choose Custom Results to specify your criteria and then click on your desired file type. Verify 550’s validation first scans to identify disposable, spam-trap, complaint (protestors), botclicker, litigator, spamcop and domain blacklist emails and then runs the email identification process for verification. After your file has been validated and verified, each email address in the list will be labeled with one of the following statuses: Prefix “t“ mean “temporary“, “p_“ mean “permanent“. Prefix very useful because giving additional information about situation:”p_email_disabled” – it means that server say that email is permanently disabled”t_attempt_rejected” it can happens when server just overloaded, and temporary reject verification”p_error” – no information about email existing, but no chance to deliver email in future too”terror” – no information about email existing, but there is some chance that email is alive. Sub-statuses with prefixes very powerful weapon for email results understanding and choosing email list for mailing. Learn more about your result codes You will have the following five tabs under Account Settings which you can use to manage your account: Our API makes use of api key based authentication. You can retrieve your API key by visiting the API section of your dashboard. APIKey Email Validation API Verify 550 provides a developer API to integrate the email verification process with your service. Our API provides the ability to check individual email addresses and can accept an email list through file upload. /verifyEmail Submits an email address for verification. We provide the following API libraries: Code source: GET Single Verification [sourcecode lang=”python”] [sourcecode language=”python”] [sourcecode language=”python”] [sourcecode language=”python”] [sourcecode language=”python”] [sourcecode language=”python”] [php] $response = curl_exec($curl); echo $response; [/php] [php] $curl = curl_init(); $response = curl_exec($curl); echo $response; [sourcecode language=”text”] { For other programming languages, please check: https://documenter.getpostman.com/view/17752819/2s8Z73yqwM#402f0c0f-211e-48d8-a237-c07a5269f6ad Go to language tab and change it accordingly with your needs. The response will be returned in the form of a plain text string: When the response is fail it can be for one of the following reasons: PARAMETERS Query Parameters ? email string Required Email address to test. 200 OK RESPONSE SCHEMA String /verifyApiFile Submit a list of emails for verification. Upload a file containing your list of emails and it will be returned with an additional field that assigns each email a verification status. This endpoint expects the file to be in the same format as described in our File Verification section. The updated file will have an additional field attached as described in our Result Guide section. The response will be returned in the form of a plain text string: After receiving the upload-id, you can check the processing status and retrieve the finished results using the /getApiFileInfo endpoint. PARAMETERS Query Parameters ? filename string Required Filename of uploaded file. FormData Parameters ? file_contents file Required File contents attached using Content/Type: multipart/form-data. Responses 200 OK RESPONSE SCHEMA String /getApiFileInfo Returns the processed file submitted using the /verifyApiFile endpoint or its current processing status. If the file is still being processed, a response like this will be returned: 10700|my_emails.txt|no|200|150|progress|1445878121|| If the file is ready for downloading, the response will look like this: 10700|my_emails.txt|no|200|200|finished|1445878121|https://apps.verify550.com/app/webroot/files/52/655/result_ok_10700_2015-10-26.csv|https://apps.verify550.com/app/webroot/files/52/655/result_all_10700_2015-10-26.csv The returned response takes the following form: {file_id}|{filename}|{unique}|{lines}|{lines_processed}|{status}|{timestamp}|{link_ok}|{link_all} If an error occurred, one of the following responses will be returned: PARAMETERS Query Parameters ? id string The upload id as supplied by the /verifyApiFile endpoint. Responses 200 OK RESPONSE SCHEMA String Verify550 is the ultimate tool for phone validation. Unlike generic phone validators that rely on outdated databases — with our proprietary “Carrier-Direct Line Intelligence” Verify550 taps directly into carrier networks in real-time to confirm number activity and line status ensuring true validation, not just a surface-level check. You can verify emails with our online application or with our real-time API. Our real-time API is available in PHP, Python, Node.js, and .net. Discover how to use Verify 550 to securely, easily, and efficiently validate your list of phone numbers with detailed reports. Let’s get started. To begin using Verify 550 services you will first need to create a free account. You can sign up by visiting the link here: https://app.verify550.com/signup Verify550 provides multiple avenues for importing your phone list for validation. You have the option to upload CSV and TXT files directly from your local computer drive or from cloud storage platforms like Google Drive. You can use the drag-and-drop feature to transfer your list from your local drive directly into the designated area indicated by the dotted outline. Alternatively, you can use the ‘Import lists’ option and follow the straightforward steps to upload your list. You can also fetch the list from a web server for seamless integration. While uploading a file, make sure the following conditions are met for the process process to work smoothly:There is only one phone number in each row Our API can be integrated into your web applications to validate phone numbers in real time. Using the API requires only a few lines of code. Developer APIVerify550 provides a developer API to integrate the phone validation process with your service. Our API provides the ability to check individual phone numbers and can accept a list of phone numbers phone through file upload. Bulk Phone List Upload (/bulkPhoneList) Submits a list of phone numbers contained within a file for bulk validation. Parameters: Example Request ( cURL): [sourcecode language=”python”] curl –request POST \ [/sourcecode] We can provide other example requests: Python [sourcecode language=”python”] Ruby [sourcecode language=”python”] url = URI("https://app.verify550.com/api/bulkPhoneList?%20secret=YOUR_API_KEY&filename=phone_list_upload.csv") http = Net::HTTP.new(url.host, url.port) request = Net::HTTP::Post.new(url) response = http.request(request) PHP [php] $curl = curl_init(); curl_setopt_array($curl, [ $response = curl_exec($curl); curl_close($curl); if ($err) { [/php] Example Success Response: [sourcecode language=”python”] Our Guarantee The validation process Verify550 provides 99% accurate results in real-time. With our proprietary “Carrier-Direct Line Intelligence” we provide detailed validation status. With 20 years of marketing experience under our belts, we were not satisfied with off the shelf phone validation solutions, so we built our own. Our proprietary “Carrier-Direct Line Intelligence” uses a multi multi-pronged approach that connects directly to carriers using CNAM, LRN and other protocols. This multi pronged approach gives us the most accurate results in the industry. After the validation process, you can download the results in CSV or XLSX formats through a variety of options: You can download “all results”, or opt to download only the “valid” or “invalid” phone numbers. As part of our service we identify whether the line is a mobile line and append the person’s name to the file if available. A prompt will appear, allowing you to specify the file category (all results, valid, or invalid) and format preference (XLSX/CSV). You can then download the zipped file. Once a list has been processed by Verify550, a “result” column is added as the first column of the list to indicate whether the phone number is valid or not. A result of “ok” means the line is active, while “inactive” means the line is not in use. We also append the following information to your file if available: Result_line_type Result_carrier Result_location Result_country_name Result_country_timezone Result_country_code Result_country_utcoffset Result_country_dstobservedhrs Result_international_format Result_local_format Result_e164_format Result_can_be_internationally_dialled Result_validated_at Result_cnam_name.
1.Getting Started
2.Sign Up
3.Validating & Verifying Email Addresses
4. Verify 550 API
5.How Verify 550 Works
6.File Verification
7.Downloading and Exporting Results
8.Result Guide
Color Code Status Description good ok All is OK. The server is saying that it is ready to receive a letter to this address and no tricks have been detected caution ok_for_all The email server is saying that it forwards this email to a catch all caution threat_string Curse words, code, bot and seed strings inside emails caution accept_all The server is set to accept all emails at a specific domain. These domains accept any email you send to them caution seed Artificial email addresses which an email marketer owns caution threat_domains Domains of spam fighters and known complainers caution department Email belonging to a group of people or a role caution sleeper_cell Emails hosted on a spam fighter server caution threat_endings Government and University mail exchanges do not mail syntax_error There is a syntax error in the email address do not mail error The server is saying that delivery failed, but no information about,the email exists do not mail p_error Permanent: The server is saying that delivery failed, but no information about,the email exists do not mail dead_server The email server is dead, and no connection to it could be established do not mail unknown The email delivery failed, but no reason was given do not mail disposable The email is a temporary address to receive letters and expires after certain time period do not mail spam_traps The email address is maintained by an ISP or a third party, which neither clicks nor opens emails do not mail bounces Static list of verified hard bounces – 1 billion do not mail liti Litigators and lawyers whom sue email marketers (traps) do not mail lash Lashback compliance traps do not mail proof Proofpoint spamtrap do not mail mx Mail exchange is not setup correctly do not mail protestors Complainers, screamers and grumblers do not mail spamcop_traps Spamcop traps do not mail spamtrap Confirmed spam fighter trap do not mail syntax_error Leading, trailing spaces, unicode, latin and other characters do not mail disp Domains of temporary email addresses do not mail smtp_error The SMTP answer from the server is invalid or the destination server reported an internal error to us do not mail smtp_protocol The destination server allowed us to connect but the SMTP session was closed before the email was verified do not mail unknown_email The server said that the delivery failed and that the email address does not exist do not mail p_unknown_email Premanant: The server said that the delivery failed and that the email address does not exist do not mail t_unknown_email Temporary: The server said that the delivery failed and that the email address does not exist do not mail attempt_rejected The delivery failed; the reason is similar to “rejected” do not mail p_attempt_rejected Permanent: The delivery failed; the reason is similar to “rejected” do not mail t_attempt_rejected Temporary: The delivery failed; the reason is similar to “rejected” do not mail relay_error The delivery failed because a relaying problem took place do not mail p_relay_error Permanent: The delivery failed because a relaying problem took place do not mail t_relay_error Temporary: The delivery failed because a relaying problem took place do not mail antispam_system Some anti-spam technology is blocking the verification progress do not mail p_antispam_system Permanent: Some anti-spam technology is blocking the verification progress do not mail t_antispam_system Temporary: Some anti-spam technology is blocking the verification progress do not mail email_disabled The email account is suspended, disabled, or limited and cannot receive emails do not mail p_email_disabled Permanent: The email account is suspended, disabled, or limited and cannot receive emails do not mail t_email_disabled Temporary: The email account is suspended, disabled, or limited and cannot receive emails do not mail Error email The server is saying that delivery failed, but no information about,the email exists do not mail domain_error The email server for the whole domain is not installed or is incorrect, so no emails are deliverable do not mail invalid vendor response
The response from the email verification service provider (the “vendor”) is unexpected, malformed, or does not conform to the standard expected by the user or system requesting the verification. 9.Account Settings
10.API
Security scheme type: API Key query parameter name: secret Language API Library Python Ruby C# Python
OneByOne Verification:
import requests url = "https://app.verify550.com/api/singlemail?secret=YOUR_API_KEY&email=exemple@domain.com"
payload={} headers = {} response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
[/sourcecode]Bulk Verification – Upload file
import requests
url = "https://app.verify550.com/api/bulk?secret=YOUR_API_KEY&filename=emailtest2c.csv"
payload={}
files=[
('file_contents',('emailtest2c.csv',open('/Users/mac/Downloads/emailtest2c.csv','rb'),'text/csv'))
]
headers = {}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
[/sourcecode] Bulk Verification – Download ready file
import requests
url = "https://app.verify550.com/api/details?secret=YOUR_API_KEY&id=File_id"
payload={}
headers = {}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
[/sourcecode] 2. Ruby
Single verification
require "uri"
require "net/http"
url = URI("https://app.verify550.com/api/singlemail?secret=YOUR_API_KEY&email=exemple@domain.com")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
response = https.request(request)
puts response.read_body&
[/sourcecode]Bulk verification
require "uri"
require "net/http"
url = URI("https://app.verify550.com/api/bulk?secret=YOUR_API_KEY&filename=emailtest2c.csv")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Post.new(url)
form_data = [['file_contents', File.open('/Users/mac/Downloads/emailtest2c.csv')]]
request.set_form form_data, 'multipart/form-data'
response = https.request(request)
puts response.read_body
[/sourcecode]Bulk Verification – Download ready file
require "uri"
require "net/http"
url = URI("https://app.Everify550.com/api/details?secret=YOUR_API_KEY&id=File_id")
https = Net::HTTP.new(url.host, url.port)
https.use_ssl = true
request = Net::HTTP::Get.new(url)
response = https.request(request)
puts response.read_body<
[/sourcecode]3. PHPApi One By One
$curl = curl_init('https://".env('HOSTNAME')."/api/verifyemail?secret={{API_SECRET}}&email={{EMAIL_ADDRESS}}');
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_close($curl);Api – Bulk emails verification
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://".env('HOSTNAME')."/api/bulk?secret={{API_SECRET}}&filename=example.csv',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => array('file_contents'=> new CURLFILE('path/to/your/file.csv')),
));
curl_close($curl);
[/php]Bulk Verification – Response
"success":true,
"message":"",
"id":"12702",
"job_id":"1706543459",
"filename":"example.csv"
}
[/sourcecode]
API results guideStatus Status2 Description good OK All is OK. The server is saying that it is ready to receive a letter to this address and no tricks have been detected fail antispam_system Some anti-spam technology is blocking the verification progress caution ok_for_all The email server is saying that it forwards this email to a catch all fail p_unknown_email Permanent: The server said that the delivery failed and that the email address does not exist fail t_email_disabled Temporary: The email account is suspended, disabled, or limited and cannot receive emails fail spamtrap Confirmed spam fighter trap fail disposable The email is a temporary address to receive letters and expires after certain time period fail complainers Consumers or businesses that have complained directly to the ISP (not related to any report spam buttons) Response Description ok The supplied email address has passed all verification tests fail The supplied email address has failed one or more tests unknown The supplied email address can not be accurately tested incorrect No email address was provided in the request or it contains a syntax error key_not_valid No api key was provided in the request or it was invalid missing parameters There are no validations remaining to complete this attempt Reason The address provided does not exist The mailbox is full The address provided is a disposable email address The address provided is not in a valid format The address provided is a role account The address provided does not have a valid dns The address provided does not have a mx server The address provided was found in your internal blacklist containing previously failed addresses The domain provided was found in your domain blacklist Response Description <upload-id> A number representing the file being processed. no_credit Your current account balance is $0. cannot_upload_file The uploaded file could not be processed due to incorrect formatting or broken upload. key_not_valid No api key was provided in the request or it was invalid. missing parameters There are no validations remaining to complete this attempt. Field Description {upload_id} The upload id provided. {filename} Filename for the results file, sames as provided to the /verifyApiFile endpoint. {unique} Will be “yes” or “no”. Indicates if the remove duplicates option was selected during file upload. {lines} Total number of parsed emails in the file. {lines_processed} Number of currently processed emails. {status} File status. It will be one of “new”, “parsing”, “incorrect”, “waiting”, “progress”, “suspended”, “canceled”, “finished”. {timestamp} Date and time when the file was uploaded (in unix format). {link_all} Link to the report containing all supplied email addresses. Will be empty if the file has not finished processing. {link_ok} Link to the report containing email addresses that have passed verification. Will be empty if the file has not finished processing. Error Description error_file_not_exists Supplied upload id does not exist under your account. key_not_valid The provided api key is invalid. missing parameters There are no validations remaining to complete this attempt. 11.Phone Validation - the ultimate tool for phone validation
12.Getting Started
13.Sign up

14.File Uploading process

Phone numbers should appear in the same column
The field names should appear in the first row of the list in order to categorize the list
There is a 25MB file size limit for phone validations. 15.Validating phone numbers using the Verify550 API
Query Parameters:
secret(string, Required): Your Verify550 API Key.
filename(string, Required): The name you want the uploaded file to have (e.g.,my_phones.csv ,list_to_validate.txt ).
Form Data ( multipart/form-data ):
file_contents(file, Required): The actual file containing the phone numbers list (one perline, ensure correct column formatting if applicable as per section 14).
–url 'https://app.verify550.com/api/bulkPhoneList?
secret=YOUR_API_KEY&filename=phone_list_upload.csv' \
–header 'content-type: multipart/form-data' \
–form 'file_contents=@/path/to/your/local/phone_list.csv'
import http.client
conn = http.client.HTTPSConnection("app.verify550.com")
payload = "—–011000010111000001101001\r\nContent-Disposition: form-data; name=\"file_contents\"; filename=\"phone_list.csv\"\r\nContent-Type: text/csv\r\n\r\n\r\n—–011000010111000001101001–\r\n"
headers = { 'content-type': "multipart/form-data; boundary=—011000010111000001101001" }
conn.request("POST", "/api/bulkPhoneList?%20secret=YOUR_API_KEY&filename=phone_list_upload.csv", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
[/sourcecode]
require 'uri'
require 'net/http'
require 'openssl'
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request["content-type"] = 'multipart/form-data; boundary=—011000010111000001101001'
request.body = "—–011000010111000001101001\r\nContent-Disposition: form-data; name=\"file_contents\"; filename=\"phone_list.csv\"\r\nContent-Type: text/csv\r\n\r\n\r\n—–011000010111000001101001–\r\n"
puts response.read_body
[/sourcecode]
<?php
CURLOPT_URL => "https://app.verify550.com/api/bulkPhoneList?%20secret=YOUR_API_KEY&filename=phone_list_upload.csv",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "\r\nContent-Disposition: form-data; name=\"file_contents\"; filename=\"phone_list.csv\"\r\nContent-Type: text/csv\–\r\n",
CURLOPT_HTTPHEADER => [
"content-type: multipart/form-data;"
],
]);
$err = curl_error($curl);
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Upon successful submission, the API will likely return a JSON response similar to the email bulk
upload, containing an identifier for the submitted job:
{ "success": true,
"message": "File uploaded successfully for phone validation.",
"id": "unique_job_id",
"filename": "phone_list_upload.csv" }
[/sourcecode] 16.How it works
17.Downloading and exporting results








