> For the complete documentation index, see [llms.txt](https://docs.pinot.apache.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pinot.apache.org/build-with-pinot/connectors-clients-apis/rest-grpc-apis.md).

# REST / gRPC APIs

Use Pinot APIs when you need programmatic access rather than a direct client library or BI connector. The main surfaces are broker query APIs for SQL, broker gRPC for higher-throughput query clients, and controller APIs for cluster and table administration.

## What belongs here

| Surface                | Best for                                                    | Notes                                                                                           |
| ---------------------- | ----------------------------------------------------------- | ----------------------------------------------------------------------------------------------- |
| Broker REST query APIs | SQL queries from applications or scripts                    | The broker exposes the query endpoints used by the query console and the standard SQL docs.     |
| Broker gRPC API        | Higher-throughput query clients                             | The gRPC surface supports binary transport and client-specific encoding or compression options. |
| Controller admin APIs  | Cluster, schema, table, segment, quota, and task operations | The controller is the management surface and is what the Admin UI exposes through Swagger.      |

## How to choose

Use broker REST if you want the most familiar query flow and do not need gRPC transport. Use broker gRPC when you care about client-side efficiency or want a gRPC transport layer. Use controller APIs when you are changing metadata or managing the cluster rather than querying data.

The detailed endpoint inventory belongs in Reference > API reference. This page stays intentionally light and points you toward the right surface instead of duplicating every endpoint.

## Detailed docs

* [API reference](/reference/api-reference.md)
* [Broker Query API](/reference/api-reference/query-api.md)
* [Query Response Format](/reference/api-reference/query-response-format.md)
* [Broker gRPC API](/reference/api-reference/broker-grpc-api.md)
* [Controller API Examples](/reference/api-reference/controller-api.md)
* [Controller Admin API](/reference/api-reference/controller-admin-api.md)

## What this page covered

This page covered the three programmatic API surfaces most users reach for: broker REST queries, broker gRPC queries, and controller administration.

## Next step

Use the broker query docs for SQL access or the controller docs for metadata and cluster operations, then move to Reference for the full endpoint inventory.

## Related pages

* [Client libraries](/build-with-pinot/connectors-clients-apis/client-libraries.md)
* [Querying Pinot](/build-with-pinot/querying-and-sql/querying-pinot.md)
* [Configuration reference](/reference/configuration-reference.md)
* [API reference](/reference/api-reference.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.pinot.apache.org/build-with-pinot/connectors-clients-apis/rest-grpc-apis.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
