Unit tests shouldn't interact with the outside world. The best e qualityquality of unit tests tests is that they should be fast, and interacting with the outside world isn't going to be fast. The majority of your tests, especially tests that tests for error handling and corner cases should be a unit test.
However, not all automated tests are unit tests. If you're connecting to third party APIs, you should also have an automated tests that make an actual connections to a real server, either with a dedicated test account on the target APIs production server or on their staging server. If these live testing are significantly slower than the rest of your tests, you may want to consider setting up these live tests so they only run when explicitly requested.
The problem with unit tests is that unit tests only tests your implementations against your assumptions of how the API behave; and your assumptions are formed usually by reading documentations or some manual prodding to see how the service behaves. I've seen way too many instances when doing integrations where API documentations aren't in line with their actual implementation, or the APIs docs are unclear or unambiguous, and you ended up implementing the API in a way that is not supported by the implementation, and which just flat out doesn't work or breaks later on when the API provider make future updates.
Automating live testing simplifies QA, as it allows you to quickly check that the basic functionalities of your integration still actually work.
I generally keep these live testing to a minimum, usually testing only the "happy path", as setting up to generate errors in real server are often fairly tricky. There's usually a diminishing return in any testing, and live testing in particular diminishes rapidly beyond the happy paths.