Skip to main content
No Result Found
Connect and get help from 7,000+ developers on our Discord community. Ask the CommunityAsk the Community

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.

The Create Load Test button on the Load Tests dashboard

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.

Basic Details step with API Only selected as the load test type

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.

Load Sources step with Create Script and the Record user journey method selected

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.

The Install extension prompt for the Requestly browser extension

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.

URL to record field, Recorder Settings, and the Start recording button

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.

The demo app in a new tab with the Requestly extension recording network traffic

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.

The Filter requests screen with host selection, a static assets toggle, and a live included-request count

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.

The Save collection dialog with a collection name and Requestly project

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.

Load Configuration step with the load profile, load zones, and the Run Test button

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 with Disable Browser Cache, Wipe Service Workers, and Record Ajax Requests selected

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.

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

Is this page helping you?

Yes
No

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!

Talk to an Expert
Download Copy Check Circle