REST vs GraphQL vs SOAP — Pick Once, Live With It for Years

Published 2026-03-04 · 9 min read
You can ship any product with any of the three. The question is what you trade for what. Here is a decision guide written by people who have shipped all three in production.

The one-line summary

Decision matrix

ConcernRESTGraphQLSOAP
Caching (HTTP-native)ExcellentHard (POST-only)Hard
Over-fetching avoidanceManual (sparse fieldsets)Built-inOperation-shaped
Tooling ubiquityUniversalStrongStrong (in enterprise)
Contract enforcementOpenAPI (by convention)Schema (built-in)WSDL (machine-checked)
Mobile latency on slow networksMany round tripsOne requestHeavy XML
File uploadsEasyAwkward (multipart)MTOM (workable)
Public consumer DXBestGoodPainful
Enterprise integration suitesOKRareNative

How to choose

  1. Public API consumed by unknown clients? → REST with OpenAPI.
  2. One mobile app, one website, both consuming the same complex graph? → GraphQL.
  3. You're being told to integrate with an existing WSDL? → SOAP. Don't fight it.
  4. Internal microservices? → gRPC usually beats all three.

The dirty secret

Most production systems use two or three. REST for the public API, GraphQL for the app's BFF, SOAP for the legacy partner integration. Pick per surface, not per company.

Try the same data behind all three

The TotalShiftLeft sandbox exposes the same users / products / orders model behind all three protocols. Run identical scenarios and compare the wire-level shapes:

Frequently asked questions

What about gRPC?

For internal service-to-service it usually beats all three on performance and contracts. We did not include it because the question was specifically REST/GraphQL/SOAP.

Can a single backend serve all three?

Yes — that is exactly what this sandbox does. One data store, three protocol fronts.

Other free public APIs in this sandbox

Ready to try it?

Open the live sandbox — REST, GraphQL, SOAP and auth in one place. No signup, no API key.

Open the API Sandbox →

Topics: REST vs GraphQL vs SOAP · when to use REST/GraphQL/SOAP · API protocol comparison · GraphQL vs REST · SOAP vs REST