---
title: Import Node.js modules
source: https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/scripting-monitors/import-nodejs-modules
---

In addition to the standard synthetic monitoring's WebDriverJS-based scripting environment, New Relic supports many popular Node.js modules to enhance your [scripted browsers](https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/scripting-monitors/writing-scripted-browsers) and API tests.

## Import optional modules [#import-procedure]

To import a supported module, follow the standard importing procedure for it. For example:

-   To import `crypto-js`, call:

    ```js
    var crypto = require('crypto-js');
    ```
-   To import `chai`, call:

    ```js
    var assert = require('chai').assert;
    ```

## Supported third-party modules

Different synthetic scripted monitor versions support different third-party modules. For information on modules supported by different monitor versions, see the [monitor version comparison table](https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/scripting-monitors/scripted-monitor-runtime-environment).

## Supported Node.js core modules [#supported-core-modules]

**Chrome 100+, Node.js 16.10, or Newer**

All [Node.js core modules](https://nodejs.org/docs/latest-v16.x/api/all.html) are available in the Chrome 100, Node.js 16.10, or newer runtimes.

**Legacy Runtimes**

New Relic's legacy synthetic monitoring runtime also supports the following optional Node.js core modules:

-   [`assert`](http://nodejs.org/api/assert.html)
-   [`crypto`](http://nodejs.org/api/crypto.html)
-   [`dns`](https://nodejs.org/api/dns.html)
-   [`fs`](https://nodejs.org/api/fs.html)
-   [`net`](https://nodejs.org/api/net.html)
-   [`querystring`](http://nodejs.org/api/querystring.html)
-   [`timers`](http://nodejs.org/api/timers.html)
-   [`tls`](https://nodejs.org/api/tls.html)
-   [`url`](http://nodejs.org/api/url.html)
-   [`util`](http://nodejs.org/api/util.html)
-   [`zlib`](https://nodejs.org/api/zlib.html)

## Unsupported modules

You can use custom node modules in a [Synthetics Job Manager](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/private-locations/install-job-manager/). For instructions on how to configure custom modules for a Synthetics Job Manager, see [Job Manager configuration](https://docs.newrelic.com/docs/synthetics/synthetic-monitoring/private-locations/job-manager-configuration#custom-modules).

Unsupported modules are not guaranteed to work, and they are outside the [scope of New Relic Support](https://docs.newrelic.com/docs/licenses/license-information/general-usage-licenses/global-technical-support-offerings/#scope-support).
