---
title: Use the InfluxDB v1 HTTP query API and InfluxQL to query data
description: Use the InfluxDB v1 HTTP query API to query data in InfluxDB Clustered with InfluxQL.
url: https://docs.influxdata.com/influxdb3/clustered/query-data/execute-queries/influxdb-v1-api/
estimated_tokens: 2185
product: InfluxDB Clustered
version: clustered
---

# Use the InfluxDB v1 HTTP query API and InfluxQL to query data

-   InfluxQL

Use the InfluxDB v1 HTTP query API to query data in InfluxDB Clustered with InfluxQL.

The examples below use **cURL** to send HTTP requests to the InfluxDB v1 HTTP API, but you can use any HTTP client.

#### InfluxQL feature support

InfluxQL is being rearchitected to work with the InfluxDB 3 storage engine. This process is ongoing and some InfluxQL features are still being implemented. For information about the current implementation status of InfluxQL features, see [InfluxQL feature support](/influxdb3/clustered/reference/influxql/feature-support/).

Use the v1 `/query` endpoint and the `GET` request method to query data with InfluxQL:

[GET https://cluster-host.com/query](/influxdb3/clustered/api/data-api/query-data/)

Provide the following with your request:

-   **Headers:**
    -   **Authorization:** `Bearer DATABASE_TOKEN`
-   **Query parameters:**
    -   **db**: the database to query
    -   **rp**: Optional: the retention policy to query
    -   **q**: URL-encoded InfluxQL query

```sh
curl --get https://cluster-host.com/query \
  --header "Authorization: Bearer DATABASE_TOKEN" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

Replace the following configuration values:

-   `DATABASE_NAME`: the name of the [database](/influxdb3/clustered/admin/databases/) to query.
-   `DATABASE_TOKEN`: a [database token](/influxdb3/clustered/admin/tokens/#database-tokens) with *read* access to the specified database.

#### Authenticate with username and password

If using basic authentication or query string authentication (username and password) to interact with the v1 HTTP query API, provide the following credentials:

-   **username**: an arbitrary string *(InfluxDB Clustered ignores the username)*
-   **password**: a [database token](/influxdb3/clustered/admin/tokens/#database-tokens) with *read* access to the specified database.

<!-- Tabbed content: Select one of the following options -->

**Basic Auth:**

```sh
curl --get https://cluster-host.com/query \
  --header "Authorization: Basic ignored:DATABASE_TOKEN" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

**Query String Auth:**

```sh
curl --get https://cluster-host.com/query \
  --data-urlencode "u=ignored" \
  --data-urlencode "p=DATABASE_TOKEN" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

<!-- End tabbed content -->

## Return results as JSON or CSV

By default, the `/query` endpoint returns results in **JSON**, but it can also return results in **CSV**. To return results as CSV, include the `Accept` header with the `application/csv` or `text/csv` MIME type:

```sh
curl --get https://cluster-host.com/query \
  --header "Authorization: Token DATABASE_TOKEN" \
  --header "Accept: application/csv" \
  --data-urlencode "db=DATABASE_NAME" \
  --data-urlencode "q=SELECT * FROM home"
```

#### Related

[query](/influxdb3/clustered/tags/query/) [influxql](/influxdb3/clustered/tags/influxql/) [python](/influxdb3/clustered/tags/python/)
