Edit: source - https://grpc.io/blog/state-of-grpc-web/
gRPC was designed with http2, so it's not like you can swap out the transport with websockets.
There is the grpc-web project which uses HTTP1, but it sacrifices a lot of features that the http2 version offers that you might as well just use REST instead for public-facing services.
It's much easier to do it with REST. In docs you can just have a _curl_ example. And the JSON req/resp are easy to copy-paste anywhere else. You can start experimenting immediately, even in the same browser tab with js console.
With protobuf there is an initial barrier, because before you start you have to download proto definitions or a client library.
Tho i think it's just a cultural, rather than a technical blockage. REST just has more mindshare, and web developers (who make up the majority of devs using public apis) are pushing JSON based REST as the default.