SOAP lost to JSON because JSON was easier to handle in a browser or a shell script.

A parallel to JSON would be XML here.

A parallel to SOAP would be hypermedia and OpenAPI, which allow to dynamically discover the API by a remote call, and generate a matching set of request and response data structures to interact with that API.

SOAP was actually pretty cool, if a bit heavyweight. It's still very much alive in the corporate .NET world.

There definitely is a simplicity in that I don’t actually need to use OpenAPI to generate data structures and can quickly just do a JSON.parse and easily get to the field I want. With SOAP, you either generate a client or do some quite annoying walking of the XML tree. The hurdle for quick and dirty parsing is a lot higher with SOAP.