How to record the API calls a website makes

Install RequestFox, open the site, press Start (or Alt Shift S) and use the site as usual. Every fetch, XMLHttpRequest, WebSocket frame and server-sent event is listed the moment it starts, and failed, slow and repeated calls are flagged for you.

A recording named Checkout flow on shop.example.com: 13 calls, with counts of duplicates, errors, slow calls and JS errors, and the calls listed newest first
A recording in progress.

Steps

  1. Install RequestFox

    Add it from the Chrome Web Store or Firefox Add-ons. There is nothing to sign up for.

  2. Open the site you want to test

    Any normal web page works. Browser pages such as the extensions page, a new tab or the Web Store cannot be recorded; RequestFox says so if you try.

  3. Press Start

    Click the RequestFox icon to open the side panel (the sidebar in Firefox) and press Start, or press Alt+Shift+S (Option+Shift+S on a Mac). The first time, the browser asks you to allow access to the site: allow it.

  4. Use the site as usual

    Click through the flow you are testing. Each call appears as it starts, tied to the click or form submit that caused it. To catch a page's very first calls (sign-in, config, feature flags), tick "Reload the page to catch its startup calls" before you press Start.

  5. Read the flags

    Calls that failed, were slow, fired twice or broke inside a 200 OK are marked. Open one to see its headers, body, timing and the reason in plain words.

  6. Stop, and keep the evidence

    Press Stop. The session is kept in History to reopen and compare. Export it as an HTML report, HAR, CSV or JSON, or copy one call as code.

If nothing shows up

  • The list says to open a site first: you pressed Start on a browser page. Open the site, then press Start.
  • You chose not to allow access: press Start again and allow it. You can remove the access later in your browser's settings for the extension.
  • The list is empty while recording: the page has made no calls yet. Click something that loads data, or reload the page.
  • The shortcut does nothing: another extension may use it. Set it again at chrome://extensions/shortcuts.

With the DevTools Network panel instead

Press F12, open Network and filter by Fetch/XHR. Tick Preserve log to keep requests across page loads. DevTools lists everything live but leaves the judging to you, and the list is gone when you close it. RequestFox vs the DevTools Network panel.

Next