use strict; use warnings; use URI::Escape 'uri_escape'; use HTTP::Tiny; use Try::Tiny; my $api_key = 'Your Secret Key'; my $email = 'example@example.com'; my $url = 'https://api.zerobounce.net/v1/validate'; my $params = '?apikey=' . $apikey . '&email=' . $email; my $api_url = uri_escape( $url . $params ); my $ua = HTTP::Tiny->new( timeout => 15 ); # seconds my $response_string; my $api_error; try { my $res = $ua->get( $api_url ); if ( $res->{'success'} ) { $response_string = $res->{'content'}; } else { $api_error = $res->{'status'} . ' ' . $res->{'reason'}; } } catch { # Handles exceptions warn 'Something really bad happened: ' . $_; }; __END__