Help build the future of open source observability software Open positions

Check out the open source projects we support Downloads

The actually useful free plan

Grafana Cloud Free Tier
check

10k series Prometheus metrics

check

50GB logs, 50GB traces, 50GB profiles

check

500VUk k6 testing

check

20+ Enterprise data source plugins

check

100+ pre-built solutions

Featured webinar

Getting started with grafana LGTM stack

Getting started with managing your metrics, logs, and traces using Grafana

Learn how to unify, correlate, and visualize data with dashboards using Grafana.

What’s new in the Infinity data source for Grafana: support for JQ parser, additional HTTP methods, and more

What’s new in the Infinity data source for Grafana: support for JQ parser, additional HTTP methods, and more

2025-09-04 5 min

Since its launch in 2020, the Infinity data source for Grafana has become the go-to solution to seamlessly query and visualize data from JSON, CSV, XML, and GraphQL endpoints within Grafana. 

Allowing users to integrate diverse data formats via HTTP-based APIs, the Infinity data source has enabled a wide range of use cases within our community over the years — from visualizing cloud computing costs to popular Pokémon games.

Recently, we’ve made several updates to improve the functionality, performance, and ease of use of this universal data source. Read on to learn more about the latest features in our Infinity data source for Grafana, and check out the video below for a general overview. 

Note: In August 2025, a Server-Side Request Forgery (SSRF) vulnerability (CVE-2025-8341) was discovered in older versions of the Infinity data source. This vulnerability was fixed in version 3.4.1. For Grafana Cloud users, we have automatically updated older versions of the data source to the patched version. For all on-premises users, we strongly recommend upgrading to the latest version of the data source.

Powerful JSON transformation: support for the JQ backend parser 

One of the most requested features from the community is finally here: support for JQ parsing! 🎉

Until now, the only backend parser available in the Infinity data source was JSONata. While powerful, its syntax is unfamiliar to many users. JQ, on the other hand, is widely known, well-documented, and already familiar to many developers. This makes it a much more approachable option for advanced JSON transformations.

To use it:

  1. In the query editor, set the Parser option to JQ.
  2. In the Root Selector, write your JQ expression (e.g. .[], .data[], or any valid JQ filter).
  3. Run the query to transform and visualize your JSON response.

A screenshot of a query setup for the Infinity data source, displaying JSON data parsing and error message about non-portable GNU extension.
The JQ backend parser also supports computed fields, filtering, and summarization. For examples and syntax help, check out the JQ parser documentation. And If you want to try it out, check out Grafana Play.

Note: With the addition of the JQ parser, the existing backend parser has been renamed to JSONata to better reflect its underlying syntax and capabilities.

Increased flexibility when working with different APIs

The latest version of the Infinity data source delivers a number of new features that provide greater flexibility and control when interacting with APIs. 

Customizing OAuth2 tokens

Infinity now supports customization for OAuth2.0 client credentials/JWT authentication. This is especially useful when interacting with APIs that expect non-standard token headers or formats.

You can now:

  • Use custom header names such as X-API-Key instead of the default Authorization
  • Customize token value format (e.g., Token ${__oauth2.access_token} instead of Bearer ${__oauth2.access_token})
  • Leverage multiple token properties like access token, refresh token, and token type

These settings are available in the data source configuration under authHeader and tokenTemplate. They give you more control over how tokens are passed in requests and allow you to integrate with APIs that don’t follow standard OAuth2 conventions. For detailed setup instructions and examples, see the OAuth2 custom tokens documentation.

Passing metadata to APIs via headers or query parameters

The Infinity data source plugin now allows passing Grafana metadata, such as the user ID and data source UID, to underlying APIs as headers or query parameters. This feature gives admins more control over how metadata is passed to external APIs, ensuring consistency and security.

With this update, admins can configure these settings at the data source level, preventing users from overriding metadata values in individual queries. This adds flexibility, as different APIs may require metadata in different formats (headers or query parameters). It’s also important to note that metadata is handled securely at the backend and is not automatically forwarded in headers.

A screenshot of a settings page for configuring the Infinity data source, showing options for HTTP headers and query parameters with 'configured' status and reset buttons.
For more information and examples, check out our documentation

Proxy username and password for individual data source instances

The Infinity data source always sends API requests from Grafana server to the underlying downstream server. In some cases, these requests need to be routed through a proxy server. To support this and help with authentication needs, we’ve added an option to configure proxy settings directly in the data source configuration. When using a custom proxy for an individual data source instance, you can now also provide a username and password for the proxy authentication. You’ll find this option in the Network section of the data source settings.

Support for PATCH, PUT, and DELETE HTTP methods

Infinity now supports additional HTTP methods—PATCH, PUT, and DELETE—via the allowDangerousHTTPMethods configuration. Previously, only GET and POST methods were supported, which were sufficient for read-only queries. However, some use cases require modifying data, such as updating, creating, or deleting records.

A screenshot of a dropdown menu with HTTP methods: GET, POST, PUT, PATCH, DELETE.

These new methods provide greater flexibility when interacting with APIs that require these actions. Since these methods can perform potentially destructive actions, they are disabled by default. To enable them, simply toggle the allowDangerousHTTPMethods setting in your data source configuration.

A screenshot of the toggle button for allowing dangerous HTTP methods.
Once enabled, these methods will appear in the query editor UI. These methods support request bodies similar to POST.

Enhanced dashboard performance with gzip compression 

The Infinity data source now automatically supports gzip compression for outgoing requests. This reduces payload size and improves data transfer efficiency, which is particularly beneficial for users working with large datasets or real-time dashboards.

With this new update, the Accept-Encoding: gzip header is included by default. This improves dashboard performance and reduces network strain, making it easier to work with large amounts of data.

Improved compatibility with Grafana backend features

Infinity now defaults to the backend parser when creating new queries in dashboards or Explore. Previously, the frontend parser was the default, which limited access to backend features like alerts, SQL expressions, and shared dashboards.

With this update, new queries will automatically be set to use the backend parser, improving compatibility with Grafana’s backend features from the start. Existing queries using the frontend parser will continue to work as before, and users can manually switch the parser if needed.

Try these new features today

These new updates to the Infinity data source significantly enhance its flexibility, performance, and compatibility with Grafana’s backend features. 

To start using these new features, please make sure to update the Infinity data source. You can also learn more about the data source in our technical docs, plugin catalog and release notes.