• Log inStart now

Insights query API

The New Relic Insights query API is a REST API for making NRQL queries.

Tip

This API is no longer the preferred way to query New Relic data. Please use NerdGraph to do that.

Requirements and recommendations

This API is no longer the preferred way to query New Relic data. Please use NerdGraph to do that.

Use of this API may be restricted by role-related user permissions.

To add custom data to New Relic, you'd use our data ingest APIs.

If your account hosts data in the EU data center, ensure you are using the proper API endpoints for EU region accounts.

1. Register an API key

To use the Insights query API, you need a query key. You can have multiple query keys, and any query key can be used to initiate any Insights API query. If you have multiple systems querying Insights or different data destinations, New Relic recommends you use multiple query keys to enhance data security.

For security reasons, query keys cannot be altered or read using the API. To change or read a query key, use the New Relic UI.

Tip

This API is no longer the preferred way to query New Relic data. Please use NerdGraph to do that.

To create a new query key:

  1. Go to insights.newrelic.com > Manage data > API keys.
  2. Select the plus icon next to the Query keys heading.
  3. Enter a short description of the key.
  4. Select Save your notes.

2. Create the API query request

When you create or edit a query key, you will see an example curl query that you can use as a template. The example query won't work unless you follow these query rules:

  • The NRQL query string must be URL-encoded.
  • The query string must be less than 4000 bytes.
  • The URL must contain a valid account ID.
  • The X-Query-Key must contain a valid query key.
  • The Content-Type must be application/json.

Linux

Here is a curl example:

curl -H "Accept: application/json" -H "X-Query-Key: YOUR_QUERY_KEY" "https://insights-api.newrelic.com/v1/accounts/YOUR_ACCOUNT_ID/query?nrql=YOUR_URL_ENCODED_QUERY"

Microsoft Windows

You can use Powershell to query events via API:

Invoke-WebRequest -Uri https://insights-api.newrelic.com/v1/accounts/YOUR_ACCOUNT_ID/query?nrql=YOUR_URL_ENCODED_QUERY -Headers @{"X-Query-Key"="YOUR_QUERY_KEY"} -ContentType "application/json" -Method GET

3. Process the returned JSON

The query API returns results in JSON format. There is a limit of 2,000 results per request.

The structure of the JSON data depends on the NRQL that you used in the request: Different combinations of SELECT statements, clauses, and functions each return an appropriate response. When writing your code to process the JSON, you should do a test run of your query and examine the resulting JSON.

Example

The Insights query API returns JSON data. Here's an example of a query, its query request format, and its returned data:

Rate limiting guidelines

We have query rate limits. You likely won't encounter these limits, especially if you follow these general guidelines:

  • Limit the amount of requests with complex queries (for example, queries with FACET or TIMESERIES clauses, or queries of over a million events) run at the same time.
  • Limit the amount of requests run concurrently over extended periods of time to a maximum of 5, especially if they include complex queries.

If New Relic applies rate limits on your account for the number of queries per minute, the query API returns a 429 error. If New Relic applies rate limits on your account for records inspected, the query API returns a 503 error and your charts may display timeout error messages.

Copyright © 2022 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.