The honest comparison nobody asked for but everyone needs.

REST: The Default That's Fine

REST works. It's been working since 2000. Every developer knows it. Every tool supports it. Every proxy, cache, CDN, and load balancer understands HTTP verbs and status codes.

Choose REST when: Your API serves multiple clients with straightforward CRUD operations. Your team is small or mixed-experience. You need HTTP caching. You want the broadest tooling ecosystem.

REST hurts when: Mobile clients need 6 endpoints to render one screen (over-fetching). Different clients need different fields from the same resource (under-fetching/over-fetching). Your API surface is large and documentation gets stale.