Something I've read from others is that gRPC is not the easiest thing to use directly in SPA. If you have services exposed to a web front end and mobile, double exposing a REST-ish API + gRPC might not be worth it. This is a problem with which I'm currently struggling.
https://auth0.com/blog/beating-json-performance-with-protobu...
It will be huge when that's a reality and we start building all of our APIs around protobuf.
REST is the language the rest of the web speaks so if providing a consumer service that isn't latency sensitive you should feel at liberty to give a RESTful API.
If you're building internal services, consumed internally, gRPC is a decent way to go.
If say you're providing a logging service to a number of large customers you might want to provide a gRPC service for the performance characteristics.
gRPC also provides you the option to write all your services internally using gRPC and then you can expose a JSON service without having to write it yourself.