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.iterationData object provides access to data from CSV or JSON files when running collections with the Collection Runner. Each iteration of the collection run receives a different row (CSV) or object (JSON) from the data file, allowing you to parameterize your requests dynamically.
This feature works only when you run a collection with an attached data file, which is supported exclusively in the Desktop App. If you run a single request or a collection without a data file, rq.iterationData remains undefined.

Methods

rq.iterationData.get(key)

Retrieves the value for a specific key from the current iteration’s data. Parameters:
  • key (string): The name of the variable/column to retrieve
Returns: The value associated with the key, or undefined if the key doesn’t exist Example:
// For a CSV with columns: city, temperature
const city = rq.iterationData.get("city");
const temp = rq.iterationData.get("temperature");

console.log(`Weather in ${city}: ${temp}°C`);
// Output: Weather in Vancouver: 10°C

rq.iterationData.has(key)

Checks if a specific key exists in the current iteration’s data. Parameters:
  • key (string): The name of the variable/column to check
Returns: true if the key exists, false otherwise Example:
if (rq.iterationData.has("userId")) {
    const userId = rq.iterationData.get("userId");
    console.log("User ID:", userId);
} else {
    console.log("No user ID in this iteration");
}

rq.iterationData.unset(key)

Removes a specified variable from the iteration data during the the specific iteration.

rq.iterationData.toObject()

Returns all data from the current iteration as a JavaScript object. Returns: An object containing all key-value pairs from the current iteration Example:
const allData = rq.iterationData.toObject();
console.log("Current iteration data:", allData);
// Output: Current iteration data: { city: "Vancouver", temperature: 10 }

Use Cases

Conditional Logic Based on Data

// Pre-request script
const userType = rq.iterationData.get("userType");

if (userType === "admin") {
    rq.request.headers.push({
        key: "X-Admin-Token",
        value: "admin-secret-token"
    });
} else {
    rq.request.headers.push({
        key: "X-User-Token",
        value: "user-token"
    });
}

Validating Response Against Expected Data

// Post-response script
const expectedStatus = rq.iterationData.get("expectedStatus");
const actualStatus = rq.response.code;

rq.test(`Status code matches expected (${expectedStatus})`, function() {
    rq.expect(actualStatus).to.equal(parseInt(expectedStatus));
});

Data File Format Examples

CSV Format

city,temperature,humidity
Vancouver,10,75
Austin,24,60
London,12,80
Accessing in script:
const city = rq.iterationData.get("city");        // "Vancouver"
const temp = rq.iterationData.get("temperature"); // 10
const humidity = rq.iterationData.get("humidity"); // 75