I don’t know if this is a best practice, but my experience has been that when integrating with other APIs, one client per API works best. Each API tends to have its own quirks with regards to error handling, headers, serialisation, etc., and those things can often be more conveniently configured for the whole HTTP client than for an individual request.