No, it doesn't verify ssl by default. HTTP::Tiny does require IO::Socket::SSL for connecting over SSL, however. Your Perl program is not throwing the 500, it is throwing an error because the server you're connecting to is responding with a 500 error. It's the server itself that is generating the 500.