Capture API calls by recording a journey
Use the Requestly browser extension to record a journey from Load Testing, capture the API calls your app makes, filter them, and run them as a load test.
When you record a journey from Load Testing, the Requestly browser extension intercepts your browser’s network traffic and captures the API calls behind each action, such as POST /api/cart/add or GET /api/products. You navigate through your app once, and Load Testing turns those captured calls into a Requestly collection that you can run as an API or hybrid load test. You don’t add or import endpoints by hand.
Prerequisites
Before you start, make sure you have:
- A BrowserStack login linked to a Requestly account. If you don’t have one, sign up on the Requestly website. Your account links to your BrowserStack login on first use.
- A Load Testing project to report results to.
Capturing API calls by recording is available for API and hybrid load tests.
Record API calls
Follow these steps:
Create a load test
Open your Load Testing project on the Load Testing dashboard and click Create Load Test.

On Step 1/3: Basic Details, enter a project and load test name. Under Select type of load test to run, choose API Only. To also generate browser load, choose Hybrid (API & Browser). Click Configure Load Sources.

Choose to record a user journey
On Step 2/3: Load Sources, under Select API Load Source, select Create Script. Under Choose a method, select Record user journey to capture live browser traffic through Requestly.

Install the Requestly extension
The first time you record, the panel asks you to install the Requestly browser extension. Click Install extension, add it to your browser, then click Refresh page so Load Testing detects it.

Start the recording
In the URL to record field, enter the page where your journey starts, such as https://bstackdemo.com/. To change how traffic is captured, expand Recorder Settings. For what each option does, see Recorder settings. Click Start recording.

Record your journey
Load Testing opens the URL in a new tab with the Requestly extension recording. Navigate through your app as a real user would: sign in, browse, and check out. The extension captures the API calls behind each action. When you finish, click Stop.

Filter the captured requests
On the Filter requests screen, narrow the capture down to the API calls you want to load test. The Will be included count updates live as you adjust each control. For details on each one, see Filter captured requests. Click Save when the request list is correct.

Save the collection
Name the collection and select the Requestly project to save it in, then click Save. Load Testing saves the captured requests as a Requestly collection you can reuse for other load tests or edit in Requestly.

Configure load and run
On Step 3/3: Load Configuration, set how to apply load to your application, such as the load profile, virtual users, and load zones. Click Run Test. For details on each option, see Configure load parameters.

Recorder settings
Before recording starts, you can expand Recorder Settings to change how the Requestly extension captures traffic. These settings apply to the current recording only and don’t change your saved Requestly preferences. The defaults suit most API load tests.
| Setting | What it does | When to turn it off | Default |
|---|---|---|---|
| Disable Browser Cache | Forces every request to hit the network instead of being served from the browser cache, so the recording reflects a first-time visitor. | When you want to test a returning user whose browser already has assets cached. | On |
| Wipe Service Workers | Clears any service worker for the site before recording, so requests it would otherwise serve from cache stay visible to the Requestly extension. | When you want to test how returning users behave with an installed service worker. | On |
| Record Ajax Requests | Captures the XHR and fetch() calls your app makes after the page loads. These are the API calls an API load test relies on. |
Only when you record for page-load performance, not backend load. | On |

Recorder settings apply to the current recording only. They don’t change your saved Requestly preferences or affect other recordings.
Filter captured requests
A single journey can capture hundreds of requests, including static assets, analytics, and third-party calls you don’t want to load test. On the Filter requests screen, narrow the capture down to the API calls that matter. The Will be included count updates live as you adjust each control.
| Control | What it does | Default |
|---|---|---|
| Hosts | Select which captured hosts to include. The host you recorded on is preselected, and third-party hosts, such as analytics or payment providers, are listed separately and stay off until you add them. | Recording host kept |
| Include static assets | Includes or excludes static files such as CSS, JavaScript, images, and fonts, which add load but rarely test backend behavior. | Excluded |
| URL patterns | Keeps or drops URLs by path pattern, such as dropping health checks or isolating checkout endpoints. | No patterns |
| HTTP method | Selects which methods to include, such as GET, POST, PUT, PATCH, and DELETE, in the request preview. | All methods kept |
Edit the collection in Requestly
You edit a saved collection in Requestly. Open the collection from your Requestly project to change request payloads, headers, variables, and the order of requests. Your changes sync back automatically, and the next time you run the test, Load Testing pulls the latest version of the collection.
Related topics
- Run a Requestly collection as a load test from the CLI: Run an existing Requestly collection from the command line.
- Use Requestly environment variables: Parameterize a Requestly collection with environment variables.
- Get started with API load testing: Other ways to create and run an API load test.
- Configure load parameters: Set virtual users, load zones, ramp profiles, and thresholds.
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
We're sorry to hear that. Please share your feedback so we can do better
Contact our Support team for immediate help while we work on improving our docs.
We're continuously improving our docs. We'd love to know what you liked
Thank you for your valuable feedback!