InfluxDB Docs

Execute queries

There are multiple ways to execute queries with InfluxDB. This guide covers the different options:

  1. Data Explorer
  2. Influx REPL
  3. Influx query command
  4. InfluxDB API

Data Explorer

Queries can be built, executed, and visualized in InfluxDB UI’s Data Explorer.

Data Explorer with Flux

Influx REPL

The influx repl command starts an interactive read-eval-print-loop (REPL) where you can write and execute Flux queries.

influx repl --org org-name

Note: ctrl-d will close the REPL.

Influx query command

You can pass queries to the influx query command as either a file or raw Flux via stdin.

Run a query from a file
influx query @/path/to/query.flux
Pass raw Flux via stdin pipe
influx query - # Return to open the pipe

data = from(bucket: "example-bucket") |> range(start: -10m) # ...
# ctrl-d to close the pipe and submit the query

InfluxDB API

The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Query InfluxDB through the /api/v2/query endpoint. Queried data is returned in annotated CSV format.

In your request, set the following:

  • Your organization via the org or orgID URL parameters.
  • Authorization header to Token + your authentication token.
  • Accept header to application/csv.
  • Content-type header to application/vnd.flux.
  • Your plain text query as the request’s raw data.

InfluxDB returns the query results in annotated CSV.

Use gzip to compress the query response

To compress the query response, set the Accept-Encoding header to gzip. This saves network bandwidth, but increases server-side load.

Below is an example curl command that queries InfluxDB:

curl http://localhost:9999/api/v2/query?org=my-org -XPOST -sS \
  -H 'Authorization: Token YOURAUTHTOKEN' \
  -H 'Accept: application/csv' \
  -H 'Content-type: application/vnd.flux' \
  -d 'from(bucket:"example-bucket")
        |> range(start:-1000h)
        |> group(columns:["_measurement"], mode:"by")
        |> sum()'
curl http://localhost:9999/api/v2/query?org=my-org -XPOST -sS \
  -H 'Authorization: Token YOURAUTHTOKEN' \
  -H 'Accept: application/csv' \
  -H 'Content-type: application/vnd.flux' \
  -H 'Accept-Encoding: gzip' \
  -d 'from(bucket:"example-bucket")
        |> range(start:-1000h)
        |> group(columns:["_measurement"], mode:"by")
        |> sum()'