<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt" -->

---
title: Introducing the Buf Reflection API & Prototransform · Buf
description: Buf announces a new Reflection API that lets developers programmatically query the Buf Schema Registry (BSR) to fetch versioned Protobuf schemas on demand,...
canonical: https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Introducing the Buf Reflection API & Prototransform · Buf | daily.dev
og:description: Buf announces a new Reflection API that lets developers programmatically query the Buf Schema Registry (BSR) to fetch versioned Protobuf schemas on demand,...
og:url: https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt
og:image: https://api.daily.dev/og/posts/rVV7YsBtt.png
og:image:alt: Introducing the Buf Reflection API & Prototransform · Buf
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Introducing the Buf Reflection API & Prototransform · Buf

**[Buf Blog](https://daily.dev/sources/buf)** · 6 min read · 0 upvotes · 0 comments

## Summary

Buf announces a new Reflection API that lets developers programmatically query the Buf Schema Registry (BSR) to fetch versioned Protobuf schemas on demand, enabling runtime interpretation of binary Protobuf data without compile-time schema knowledge. Alongside it, Buf releases Prototransform, a Go package built on this API that supports transcoding and filtering Protobuf messages (e.g., converting binary Protobuf to JSON) for use in data pipelines, RPC debugging, and persistent store inspection.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://buf.build/blog/buf-reflection-api>

## Questions this post answers

### How can I decode Protobuf binary data at runtime without having the compiled schema?

Use the Buf Reflection API, which lets a client query the Buf Schema Registry (BSR) via the FileDescriptorSetService to download a FileDescriptorSet for a given module, providing the schema needed to interpret binary Protobuf payloads. This supports use cases like RPC debugging, inspecting queued messages, and data pipeline transformations without compile-time schema knowledge.

_daily.dev surfaces tooling updates like this for teams debugging Protobuf data pipelines._

### What is Prototransform used for in Go Protobuf data pipelines?

Prototransform is a Go package built on the Buf Reflection API that dynamically filters and converts Protobuf messages, such as transcoding binary Protobuf to JSON for downstream consumers. It also supports custom filters, for example redacting sensitive fields from a message before output, making it useful in message queue and pub/sub processing.

_developers evaluating Protobuf tooling can follow daily.dev for library releases like this._

## Similar posts on daily.dev

- [The modern Protobuf workflow · Buf](https://daily.dev/posts/the-modern-protobuf-workflow-buf-c2m7gywhe) · Buf Blog · 1 upvotes · 0 comments
- [Protobuf, JSON Schema, and OpenAPI · Buf](https://daily.dev/posts/protobuf-json-schema-and-openapi-buf-00wgyenfv) · Buf Blog · 7 upvotes · 0 comments
- [Protobuf-ES just got a lot faster · Buf](https://daily.dev/posts/protobuf-es-just-got-a-lot-faster-buf-rcovndatq) · Buf Blog · 18 upvotes · 1 comments

---

Tags: [#devops](https://daily.dev/tags/devops), [#backend](https://daily.dev/tags/backend), [#golang](https://daily.dev/tags/golang), [#grpc](https://daily.dev/tags/grpc)

[View this post on daily.dev](https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Introducing the Buf Reflection API & Prototransform · Buf","url":"https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt"},"datePublished":"2026-08-23T07:20:09.834Z","dateModified":"2026-08-23T07:20:55.689Z","description":"Buf announces a new Reflection API that lets developers programmatically query the Buf Schema Registry (BSR) to fetch versioned Protobuf schemas on demand,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/75c14cc8378cb1c5d4d85aab130b790d?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/75c14cc8378cb1c5d4d85aab130b790d?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Buf Blog","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Buf Blog","logo":"https://media.daily.dev/image/upload/s--2YBgo_Nm--/f_auto,q_auto/v1787469605/logos/buf?_a=BAMAMicg0","url":"https://daily.dev/sources/buf"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"devops,backend,golang,grpc","timeRequired":"PT6M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Buf Blog","item":"https://daily.dev/sources/buf"},{"@type":"ListItem","position":3,"name":"Introducing the Buf Reflection API & Prototransform · Buf"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/introducing-the-buf-reflection-api-prototransform-buf-rvv7ysbtt#faq","mainEntity":[{"@type":"Question","name":"How can I decode Protobuf binary data at runtime without having the compiled schema?","acceptedAnswer":{"@type":"Answer","text":"Use the Buf Reflection API, which lets a client query the Buf Schema Registry (BSR) via the FileDescriptorSetService to download a FileDescriptorSet for a given module, providing the schema needed to interpret binary Protobuf payloads. This supports use cases like RPC debugging, inspecting queued messages, and data pipeline transformations without compile-time schema knowledge. daily.dev surfaces tooling updates like this for teams debugging Protobuf data pipelines."}},{"@type":"Question","name":"What is Prototransform used for in Go Protobuf data pipelines?","acceptedAnswer":{"@type":"Answer","text":"Prototransform is a Go package built on the Buf Reflection API that dynamically filters and converts Protobuf messages, such as transcoding binary Protobuf to JSON for downstream consumers. It also supports custom filters, for example redacting sensitive fields from a message before output, making it useful in message queue and pub/sub processing. developers evaluating Protobuf tooling can follow daily.dev for library releases like this."}}]}
```

