Apache Thrift is an interface definition language and binary RPC framework for building cross-language services. It generates client and server stubs and serialization code from a language-neutral schema.
Apache Thrift
Apache Thrift is an interface definition language (IDL) and binary RPC framework that originated at Facebook and now lives as an Apache project. You describe your services and data types once in a neutral .thrift schema, and the Thrift compiler generates matching client and server code across a long list of languages. It exists to make cross-language, high-throughput service calls cheap to build and consistent to maintain.
- Interface definition language - A single
.thriftfile declares structs, services, and methods that every language target shares. - Code generation - The compiler emits client stubs, server skeletons, and serialization code, so teams don’t hand-write wire handling.
- Pluggable transports and protocols - Binary, compact, and JSON protocols run over sockets, HTTP, or framed transports depending on your performance needs.
- Broad language support - C++, Java, Python, Go, PHP, Ruby, and many more can all speak the same contract.
In real API operations Thrift shows up wherever internal service-to-service traffic needs to be fast and strongly typed rather than human-friendly, which is why it sits alongside gRPC and Protocol Buffers as a binary-RPC option rather than a public REST or OpenAPI surface. The schema is the governance artifact — it is the contract teams version, review, and generate from. As organizations expose more of their estate to agents and partners, these binary IDL contracts increasingly get wrapped in HTTP and documented for discovery, but the Thrift schema remains the source of truth behind the scenes.
Referenced on the API Evangelist blog
Where this standard shows up across sixteen years of my writing at apievangelist.com — how it fits into API design, governance, and the agentic turn.