Just from that one error message we can infer the following issues:
1. Not using the built-in WP_Http class or related helper methods (wp_remote_get) that provide headers, timeouts, useragent, auth, etc.
2. Unserialising remote, untrusted PHP objects (!) (Why does Vimeo provide/encourage this?)
3. Not handling HTTP error response codes.
4. PHP errors are not hidden from users.