Personally I prefer to expose REST APIs for the external (Internet) facing services for simplicity. For internal APIs I prefer gRPC for performance reasons.
The real question is that if there are no technical limitations (HTTP 1.1 vs 2 etc, bi-directional and communication etc), which style of API would you prefer and why?
For internal APIs I'd recommend RPC and REST/GraphQL to create an API consumed by third parties.<p>Wildcard's readme elaborates more on RPC vs REST: <a href="https://github.com/reframejs/wildcard-api" rel="nofollow">https://github.com/reframejs/wildcard-api</a><p>(Wildcard is RPC implementation for Node.js and the browser.)
I prefer REST especially for public/external APIs. It's more empathetic towards third party developers who may not be as intimate with your API as your internal team. For example, much easier to reason a few well-understood entities like items, users, and orders if I was building an e-commerce API then a list of RPC operations. I would add GraphQL can also be easier to understand as long as the entity relations make sense. Lot's of exciting stuff happening in the GraphQL world but it does have disadvantages also.