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
Therequire method lets you import supported modules into your script. Declare the result as a variable to access functions or objects from that module.
Syntax
Example
Use Global Objects
Requestly script sandbox provides several global variables and utilities you can access directly.Available Globals
Use External Libraries
Therequire 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:
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:
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.
