How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Which API style should I choose — REST, GraphQL, gRPC, or event-driven?

architecture Design & Architecture Updated August 12, 2026

Short answer

All of them, deliberately. Mature organizations run a diverse toolbox with HTTP at the pragmatic center and the others deployed where they genuinely earn their cost.

The question assumes a competition that does not exist. API is not just REST, and it has not been for a long time. REST, hypermedia, GraphQL, gRPC, event-driven — and now MCP — are tools in a diverse toolbox, each suited to different problems.

Here is how I would actually decide. Use resource-oriented HTTP for anything broadly consumed, publicly exposed, or long-lived: it is the most accessible, most cacheable, most tooled, and most governable option, and it should be your default. Use gRPC for internal high-performance service-to-service work where you own both ends. Use GraphQL where the data is genuinely graph-shaped and consumers need flexible assembly. Use event-driven where consumers need to react to things happening rather than ask repeatedly whether anything has happened. Use MCP where the consumer is an agent.

The mistake is not picking the “wrong” one. The mistake is picking several by accident, over years, and then governing only the HTTP ones — so the event-driven estate grows up with no discovery, no contracts, no lifecycle discipline, and no idea who consumes what.

Choose deliberately, document the choice, and hold every protocol to the same standard: a machine-readable contract, a named owner, a security model, a versioning policy, and a place in the catalog.

Go deeper in the guidance

This answer is distilled from the API Evangelist guidance catalog — the long-form treatment of each topic, with its own citations back into sixteen years of writing.

Read the original writing

The posts on apievangelist.com this answer is built on.