Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.requestly.com/llms.txt

Use this file to discover all available pages before exploring further.

The rq.response object provides access to all details of the API response in your Requestly scripts. You can use these properties and methods primarily in post-response scripts to process, validate, and extract data from API responses.

Properties and Methods

rq.response.body

The body of the response as a string. Example:
console.log("Response Body:", rq.response.body);

rq.response.responseTime

The time taken by the request to complete, in milliseconds. Example:
console.log("Response Time:", rq.response.responseTime);

rq.response.headers

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

rq.response.code

The HTTP status code of the response. Example:
console.log("Response Code:", rq.response.code);
rq.test("Status is 200", () => {
  rq.response.to.have.status(200);
});

rq.response.json()

Parses the response body as JSON and returns it as a JavaScript object. Example:
console.log("Response JSON:", JSON.stringify(rq.response.json()));

rq.response.text()

Returns the response body as a plain string. Example:
console.log("Response Body as String:", rq.response.text());

Common Use Cases

Validate Response Code

Check if the API returned the expected status code:
if (rq.response.code !== 200) {
  console.error("Unexpected Response Code:", rq.response.code);
} else {
  console.log("Request successful!");
}

Extract Data from JSON Response

Parse the response and extract specific fields:
const responseData = rq.response.json();
const userId = responseData.id;
const userName = responseData.name;

console.log("User ID:", userId);
console.log("User Name:", userName);

// Store extracted data for use in other requests
rq.environment.set("user_id", userId);

Check Response Time

Monitor API performance:
if (rq.response.responseTime > 1000) {
  console.warn("Slow response detected:", rq.response.responseTime + "ms");
} else {
  console.log("Response time OK:", rq.response.responseTime + "ms");
}

Extract Authentication Token

Get auth token from response and save it:
const responseData = rq.response.json();
if (responseData.token) {
  rq.environment.set("authToken", responseData.token);
  console.log("Auth token saved successfully");
}

Access Response Headers

rq.response.headers.forEach((header) => {
  console.log(`${header.key}: ${header.value}`);
});

Validate Response Structure

const data = rq.response.json();
if (data.error) {
  console.error("API Error:", data.error);
} else if (!data.id) {
  console.error("Missing expected field: id");
} else {
  console.log("Response validation passed");
}