Skip to main content

The rq.request object provides access to all details of the API request in your Requestly scripts. You can use these properties and methods in both pre-request and post-response scripts to read and manipulate request data.

Properties and Methods

rq.request.method

Use this property to get the Request’s method. The HTTP method of the request (e.g. GET, POST, PUT, OPTION, DELETE, PATCH, HEAD). Example:
console.log("Request Method: ", rq.request.method);

rq.request.headers

An list of header rows each having key, value & isEnabled for each custom header you create. Example:
console.log("Headers: ", JSON.stringify(rq.request.headers));

rq.request.body

The body of the request, accessible as a string. If you have selected Form under Body it would be returned in object format. Example:
console.log("Body:", JSON.stringify(rq.request.body));

rq.request.url

The full URL of the API request. Example:
console.log("Request URL:", rq.request.url);

rq.request.queryParams

An object containing rows of query parameters each having key, value & isEnabled. Example:
console.log("Query Params:", JSON.stringify(rq.request.queryParams));

Common Use Cases

Logging Request Details

console.log("Making " + rq.request.method + " request to " + rq.request.url);
console.log("Request headers:", JSON.stringify(rq.request.headers));
console.log("Request body:", JSON.stringify(rq.request.body));

Conditional Logic Based on Request Method

if (rq.request.method === "POST" || rq.request.method === "PUT") {
    console.log("Sending data:", rq.request.body);
}

Accessing Query Parameters

rq.request.queryParams.forEach(param => {
    if (param.isEnabled) {
        console.log(`Query param ${param.key}: ${param.value}`);
    }
});