Skip to main content
You can use the require method to import preloaded libraries or global helpers directly inside your Requestly Script Tab in API Client requests. The script environment supports JavaScript-based transformations, validations, and dynamic request logic for HTTP and GraphQL APIs.

require

The require method lets you import supported modules into your script. Declare the result as a variable to access functions or objects from that module.

Syntax

If the module provides functions or objects, assign it to a variable as shown above.

Example

Use Global Objects

Requestly script sandbox provides several global variables and utilities you can access directly.

Available Globals

Use External Libraries

The require method enables you to use preloaded libraries in the Requestly script environment. All supported modules are sandboxed for safe execution.

Supported Libraries

The following external libraries are available:

Install a package from npm

You are not limited to the libraries above. On the desktop app, require() any package from npm and Requestly installs it when the request is sent:
Search for and manage installed packages from the Package Library.
npm packages and Custom Packages are desktop-only. On the web app, require() resolves the built-in libraries listed above but has no user-package tier.

If your organization restricts external packages

An organization Owner or Admin can limit which external packages scripts may import, or block them entirely, from Settings > Organization > Resources. Where a package is not permitted, installing it is refused and a script that requires it is blocked when the request runs, with a message naming the package. Requestly’s built-in libraries are exempt and always resolve. See Organization resources.

Require your own code as a package

To reuse a helper across requests without repeating it, author it in the Package Library and require it by name with a .js suffix:
A Custom Package belongs to the project it was created in. To use one in another project, export it and import it there.
To share a helper only between the scripts of a single run — a collection-level script and the requests beneath it — you do not need a package at all. See Sharing code between scripts.
Example

Use Built-in Globals

Requestly also provides a few helper functions and contextual variables for working with request and response data.

Examples

Notes

  • A set of Node.js built-in modules is also available via require(). In Safe mode — the default — these resolve: crypto, buffer, events, util, stream, zlib.
  • These do not resolve in Safe mode and throw a guided error naming the reason: assert, path, punycode, querystring, string_decoder, url. Modules that need the filesystem, a network socket, or a child process (fs, net, child_process) are never available.
  • require('cheerio') does not currently load in Safe mode. Use Developer mode if you need it.
  • The built-in libraries need no installation or internet access; they are pre-bundled. Packages you install from npm are fetched once, then cached.
  • The sandbox is isolated for security: require() cannot reach system-level Node APIs.
These restrictions apply in Safe Mode, the default. A package that needs a native add-on or file-system access works only in Developer Mode. Asymmetric signing itself is not restricted — it is require('crypto')’s asymmetric functions (createSign, generateKeyPair and friends) that are unavailable in Safe mode, while a pure-JavaScript library such as jsrsasign signs RS256 in either mode. See Script execution modes.