Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Some links on this page are affiliate links: if you buy through them we may earn a commission, at no extra cost to you.

Use Chrome DevTools’ Network panel to record requests, inspect complete response bodies, copy individual responses, and export a session as a HAR file. Open DevTools before reproducing the problem, enable Preserve log when navigation is part of the flow, and treat every capture as potentially sensitive.

Start a complete capture in Chrome DevTools

  1. Open the page where the behavior occurs.
  2. Open DevTools with F12, Ctrl+Shift+I (Windows/Linux), or Command+Option+I (macOS), then select Network.
  3. Confirm recording is active. The record control should be enabled; click it if necessary.
  4. Click the clear button if you want a focused session rather than requests already listed.
  5. Enable Preserve log before a reload, redirect, login transition, or other navigation that you need to compare.
  6. Reproduce the action, or reload the page and perform the steps again. DevTools records while it is open, so requests made before you opened it may be missing.

If the request list is empty or incomplete, reload with DevTools open and repeat the flow. Preserve log keeps entries across navigation; it cannot recover requests that happened before recording began.

Find the request that matters

The Requests table can show the request name, status, type, initiator, transferred size, resource size, timing, and waterfall. Use the filter box and type filters to narrow the list. Do not assume every useful call is an XHR or fetch request: documents, scripts, stylesheets, images, fonts, WebSockets, and other resource types can all explain a failure.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Useful ways to narrow the list

  • Filter by part of a URL, filename, domain, or status code.
  • Use the resource-type controls to focus on fetch/XHR, document, script, stylesheet, image, or other categories.
  • Sort or scan the waterfall to find the request that starts immediately after the user action.
  • Check the Initiator column to trace a request back to a script or document.

Select a row to open its detail pane. A request can remain in the list after it fails, redirects, is served from cache, or is blocked, so inspect its status and timing instead of relying only on whether the page appeared to work.

See the full response body and what was sent

With a request selected, use these tabs:

Headers

Headers contains general information plus request and response headers, including the status, URL, method, cache-related fields, content type, cookies, and security headers when Chrome received them. Chrome also provides a source view for the raw header sections when ordering or exact formatting matters.

Payload

Payload shows query-string parameters and submitted form data. For JSON or another raw request body, use the available source view. This is the place to verify that the browser sent the expected identifier, filter, form field, or JSON value.

Response

Response displays the returned response body. For JSON, this is the complete text Chrome received, not merely the fields your page chose to render. Use the response view when you need to copy an API error, inspect an unexpected HTML page returned by an API URL, or verify that a redirect target returned the content you expected.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Preview

Preview offers a more readable interpretation for formats Chrome can parse. Compare it with Response when a rendering issue could hide escaping, whitespace, a type mismatch, or an invalid value.

When headers say “Provisional headers are shown”

Chrome can show provisional headers when a resource came from local cache, is invalid, or is unavailable for security reasons. If the cache explanation fits, enable Disable cache while DevTools is open and reproduce the request again. Disabling cache does not guarantee that every header will become visible; security restrictions and an invalid resource can still limit the display.

Copy one response or reproduce one request

Right-click a request in the table and open the Copy menu.

  • Copy response copies the selected request’s response body.
  • Copy as cURL creates a command that can reproduce the request outside Chrome.
  • Copy as fetch creates JavaScript suitable for a browser or Node-style fetch workflow.

These copies can contain session cookies, authorization headers, personal data, query parameters, or tokens. Remove secrets before placing a command in a ticket, chat, repository, or bug report.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How do I save a HAR file in Chrome?

A HAR (HTTP Archive) preserves a broader Network-panel session for later inspection or sharing. In the Network panel, use its export HAR action, or right-click in the request table and choose Copy > Save all [listed] as HAR (sanitized). The listed wording reflects the current DevTools workflow; Chrome can export the requests currently shown after filtering, not necessarily every request made during the entire browsing session.

Sanitized versus sensitive HAR export

Chrome’s sanitized export omits sensitive headers including Cookie, Set-Cookie, and Authorization. DevTools also has a preference that permits sensitive-data export: open Settings > Preferences > Network and enable Allow to generate HAR with sensitive data. Do this only when a controlled diagnostic requires it, and disable it afterward.

Even a sanitized HAR can reveal private information through URLs, query strings, POST bodies, response content, page titles, internal hostnames, or identifiers. Open the file and inspect it before sharing. Redact credentials, personal data, reset links, access tokens, and proprietary payloads. A HAR is a session record, not a promise that every response body is present in a form you can safely distribute; copy an individual body separately when that is the actual requirement.

Import a HAR later

To review a saved capture, open DevTools’ Network panel and use its import control, or drag the HAR into the request area. Imported entries let you inspect the recorded metadata without repeating the original browsing session.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Which capture method should you use?

Need Use Important limitation
Inspect one response body Select the request, then open Response Only the selected response is shown.
Copy one body Request context menu > Copy response Review copied content before sharing.
Save a request session Export or copy as a sanitized HAR Sensitive headers are omitted, and a HAR is not the same as manually copying every response body.
Keep entries during reloads Enable Preserve log It preserves entries across loads but cannot capture requests made before DevTools opened.
Automate response retrieval in an extension Use chrome.devtools.network and call getContent() Requires Chrome extension code and DevTools API access.

Keeping requests when you reload or navigate

Turn on Preserve log before performing the action that triggers navigation. This is essential for login redirects, payment flows, single-page-app route changes, and errors that occur only after a reload. Clear the list first if you need a clean baseline, then reproduce the complete sequence with DevTools already open.

If a service worker or cache changes the result between runs, enable Disable cache while DevTools remains open. Remember that this affects the debugging session and can make timings differ from a normal visit.

Programmatic access for a DevTools extension

Manual capture is enough for most debugging. An extension can use the chrome.devtools.network API to receive request information in HAR form. For efficiency, the API can omit request content; call the request object’s getContent() method to retrieve response content when it is available.

An extension also has the same timing concern as manual inspection: if DevTools opens after the page has loaded, earlier requests may be absent. Reload the page while the extension’s DevTools panel is open to populate the complete set.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Troubleshooting missing or misleading data

The request is not listed

Open DevTools before reproducing the action, clear any restrictive filters, and reload. Check that recording is enabled and that you are viewing the correct tab or frame.

The page changed but the old entries disappeared

Enable Preserve log before navigating. Entries made before that setting was enabled cannot be restored.

The response body is blank

Confirm you selected the request that actually returned data, then check its status and content type. A redirect, blocked request, cached result, streaming response, or response with no body can look different from a normal JSON response. Try the request again with cache disabled if local caching is suspected.

Only provisional headers appear

Repeat the request with Disable cache enabled. If the resource is invalid or Chrome is withholding information for security reasons, some headers may remain unavailable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The HAR contains more data than expected

Export only after applying the filters you want, choose the sanitized option, and inspect the resulting file. Remove sensitive URLs, bodies, and identifiers before sharing.

A copied cURL command fails elsewhere

The command may depend on an expired cookie, an authorization header, a browser-only origin, or a request body that changed. Remove secrets, then replace temporary credentials with a safe test credential and verify the URL, method, headers, and body.

Or skip the browser setup

ScreenshotNeo is for capturing a rendered webpage image or PDF, not for exporting Chrome’s request log or HAR. If your goal is to document what a page visibly looks like while investigating a site, its API can produce a clean capture without opening DevTools:

Read the ScreenshotNeo API documentation, then run:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Before the capture, ScreenshotNeo accepts cookie or consent banners and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be disabled. Bot checks, blank pages, timeouts, failed loads, and cache hits are not billed, and the response identifies the result with X-Page-Verdict and X-Billed headers. Its MCP server provides take_screenshot, get_page_info, and capture_pdf tools for Claude, Cursor, and other MCP clients. The Free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account.

FAQ

Does opening DevTools capture requests that already happened?

No. Open DevTools before the action, then reload and reproduce the flow.

Can a sanitized HAR include response bodies?

A HAR can contain recorded session data, but you should not assume it includes every response body you need. Use Copy response for a specific body.

Should I enable sensitive HAR export for routine debugging?

No. Prefer the sanitized export and enable sensitive-data export only for a controlled need after reviewing the security implications.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.