Flight RPC and Flight SQL clients are language-specific drivers that interact with databases using the Arrow in-memory format and the Flight RPC protocol. Apache Arrow Flight RPC and Flight SQL protocols define APIs for servers and clients. > [!Note] > #### Use InfluxDB 3 client libraries > > We recommend using [InfluxDB 3 client libraries](/influxdb3/version/reference/client-libraries/v3/) for integrating InfluxDB 3 with your application code. > Client libraries wrap Apache Arrow Flight clients > and provide convenient methods for [writing](/influxdb3/version/write-data/client-libraries/), [querying](/influxdb3/version/query-data/execute-queries/client-libraries), and processing data stored in {{% product-name %}}. **Flight RPC clients** can use SQL or InfluxQL to query data stored in an {{% product-name %}} database. Using InfluxDB 3's IOx-specific Flight RPC protocol, clients send a single `DoGet()` request to authenticate, query, and retrieve data. **Flight SQL clients** use the [Flight SQL protocol](https://arrow.apache.org/docs/format/FlightSql.html) for querying an SQL database server. They can use SQL to query data stored in an {{% product-name %}} database, but they can't use InfuxQL. Clients are maintained by Apache Arrow projects or third-parties. For specifics about a Flight client, see the client's GitHub repository. {{< children >}}