Requestly for Selenium
Add Network Interception & Modification powers to Selenium without code. Modify Headers, Insert Custom Scripts, Set up Redirects, Add Throttles and much more to Selenium using Requestly.

The @requestly/selenium package is deprecated. Use @requestly/rq-automation instead for integrating Requestly with your automation framework.
Takes less than a minute
Use Boilerplate Code
Turn your E2E tests into power tools with Requestly. Use the @requestly/rq-automation package to integrate easily, create rules without code, and apply them using a shared list URL or API key.
const {
addRequestHeaderUrl, addRequestHeadersUrl,
removeRequestHeaderUrl, removeRequestHeadersUrl,
addResponseHeaderUrl, addResponseHeadersUrl,
removeResponseHeaderUrl, removeResponseHeadersUrl,
importRules,
closeWelcomePage,
} = require("@requestly/rq-automation");
const { Builder } = require("selenium-webdriver");
const chrome = require("selenium-webdriver/chrome");
const { getExtension } = require("@requestly/rq-automation");
async function setupDriver() {
const options = new chrome.Options();
// Load Requestly extension
const extensionPath = getExtension("unpacked");
options.addArguments(`--load-extension=${extensionPath}`);
options.addArguments(`--disable-extensions-except=${extensionPath}`);
const driver = await new Builder()
.forBrowser("chrome")
.setChromeOptions(options)
.build();
return driver;
}
async function seleniumExample() {
const driver = await setupDriver();
await closeWelcomePage(driver);
// Add a single request header
await driver.get(addRequestHeaderUrl("X-Custom-Header", "MyValue"));
// Add multiple request headers
await driver.get(
addRequestHeadersUrl({
Authorization: "Bearer token123",
"X-Another-Header": "AnotherValue",
})
);
// Remove a request header
await driver.get(removeRequestHeaderUrl("X-Another-Header"));
// Remove multiple request headers
await driver.get(
removeRequestHeadersUrl(["Authorization", "X-Custom-Header"])
);
// Add a response header
await driver.get(addResponseHeaderUrl("Access-Control-Allow-Origin", "*"));
// Add multiple response headers
await driver.get(
addResponseHeadersUrl({
"X-Response-Header": "ResponseValue",
"X-Another-Response-Header": "AnotherResponseValue",
})
);
// Remove a response header
await driver.get(removeResponseHeaderUrl("X-Another-Response-Header"));
// Remove multiple response headers
await driver.get(
removeResponseHeadersUrl(["X-Response-Header", "X-Another-Response-Header"])
);
// Import a shared list of rules
await driver.get(importRules("YOUR_API_KEY"));
// Your test code here
await driver.get("https://example.com");
await driver.quit();
}
seleniumExample();
Loved by developers around the World
Developers around the world trust us to simplify debugging, speed up workflows, and make development more efficient.
Requestly is the first API client that has genuinely replaced Postman for me. Everything runs locally, so my API data never has to go through a cloud server. There’s no mandatory login, no unnecessary bloat, and no pressure to upgrade just to keep using the same workflow. It feels faster, simpler, and much more aligned with how developers actually want to work.

Postman stopped fitting the way our team works. We wanted our API collections in Git, not locked inside another tool. Requestly stores everything as plain JSON files in a local directory, which gives us full control over versioning, reviews, and collaboration.

My absolute favorite web debugging proxy and API client. I use it nearly every day for work to modify HTTP requests, test and mock API calls, inject JS snippets into sites, etc. The Requestly team is incredible — I once submitted a bug report and it was closed out within an hour. Also just kind, passionate people. I can't recommend Requestly enough.

Absolutely love the API Client feature! It’s like Postman, but better integrated into my daily workflow. Modifying API responses directly from the same tool I use for debugging is such a time-saver. Great job, Requestly team, for constantly innovating!


We recently migrated from Postman to Requestly’s API Client, and it has been a great experience. The ability to store collections locally, keep them in Git, and work with simple JSON files made the transition seamless and much more developer-friendly.


Requestly is an incredibly useful tool for developers working on a large team with multiple staging envs, or numerous app endpoints for various APIs in a local environment. The Sessions feature is especially useful for documenting solutions or sharing with others since it captures the relevant network traffic, and screen recording enables others to easily reproduce. Requestly combines all the power of complicated tools like Charles Proxy and Postman in one app/chrome extension. I highly recommend giving it a try if you haven't already–it will make your dev work so much easier. (Summarized)


Requestly is user-friendly, brilliant and easy-to-use. I use it on an daily basis and it makes my work easier. After using other tools like Charles - Requestly is a nice new breath of air that I highly vouch for. Apart from the tool being amazing - the support from the Requestly team is phenomenal with them always going above and beyond for their clients.


App works as expected! Ran into some small issues while creating the rules but the support team was able to help and overcome those.








