Documentation

JavaScript client library for web browsers

Use the InfluxDB JavaScript client library to interact with the InfluxDB v2 API in browsers and front-end clients. This library supports both front-end and server-side environments and provides the following distributions:

  • ECMAScript modules (ESM) and CommonJS modules (CJS)
  • Bundled ESM
  • Bundled UMD

This guide presumes some familiarity with JavaScript, browser environments, and InfluxDB. If you’re just getting started with InfluxDB, see Get started with InfluxDB.

Tokens in production applications

The examples below configure the authentication token in source code for demonstration purposes only. To protect your data, take the following steps:

  1. Avoid sending tokens to public clients such as web browsers and mobile apps. Regard any application secret sent to client devices as public and not confidential.

  2. Use short-lived, read-only tokens whenever possible to prevent unauthorized writes and deletes.

Before you begin

  1. Install Node.js to serve your front-end app.

  2. Ensure that InfluxDB is running and you can connect to it. For information about what URL to use to connect to InfluxDB OSS or InfluxDB Cloud, see InfluxDB URLs.

Use with module bundlers

If you use a module bundler like Webpack or Parcel, install @influxdata/influxdb-client-browser. For more information and examples, see Node.js.

Use bundled distributions with browsers and module loaders

  1. Configure InfluxDB properties for your script.

    <script>
      window.INFLUX_ENV = {
        url: 'http://localhost:8086',
        token: 'YOUR_AUTH_TOKEN'
      }
    </script>
    
  2. Import modules from the latest client library browser distribution. @influxdata/influxdb-client-browser exports bundled ESM and UMD syntaxes.

    <script type="module">
      import {InfluxDB, Point} from 'https://unpkg.com/@influxdata/influxdb-client-browser/dist/index.browser.mjs'
    
      const influxDB = new InfluxDB({INFLUX_ENV.url, INFLUX_ENV.token})
    </script>
    
    <script src="https://unpkg.com/@influxdata/influxdb-client-browser"></script>
    <script>
      const Influx = window['@influxdata/influxdb-client']
    
      const InfluxDB = Influx.InfluxDB
      const influxDB = new InfluxDB({INFLUX_ENV.url, INFLUX_ENV.token})
    </script>
    

After you’ve imported the client library, you’re ready to write data to InfluxDB.

Get started with the example app

This library includes an example browser app that queries from and writes to your InfluxDB instance.

  1. Clone the influxdb-client-js repo.

  2. Navigate to the examples directory:

    cd examples
    
  3. Update ./env_browser.js with your InfluxDB url, bucket, organization, and token

  4. Run the following command to start the application at http://localhost:3001/examples/index.html

    npm run browser
    

    index.html loads the env_browser.js configuration, the client library ESM modules, and the application in your browser.


Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

InfluxDB v3 enhancements and InfluxDB Clustered is now generally available

New capabilities, including faster query performance and management tooling advance the InfluxDB v3 product line. InfluxDB Clustered is now generally available.

InfluxDB v3 performance and features

The InfluxDB v3 product line has seen significant enhancements in query performance and has made new management tooling available. These enhancements include an operational dashboard to monitor the health of your InfluxDB cluster, single sign-on (SSO) support in InfluxDB Cloud Dedicated, and new management APIs for tokens and databases.

Learn about the new v3 enhancements


InfluxDB Clustered general availability

InfluxDB Clustered is now generally available and gives you the power of InfluxDB v3 in your self-managed stack.

Talk to us about InfluxDB Clustered

InfluxDB Cloud powered by TSM