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

To capture network requests and complete response data in Chrome, open DevTools before reproducing the page activity, use the Network panel, enable Preserve log when navigation matters, inspect the request’s detail tabs, and export a sanitized HAR when you need to save or share the session. Copy an individual response separately when you need its exact body; a HAR is a broader session record and should not be treated as a guarantee that every response body is included.

Start a clean capture in Chrome DevTools

  1. Open the page where the problem occurs.
  2. Open Chrome DevTools with F12, Ctrl+Shift+I (Windows/Linux), or Command+Option+I (macOS).
  3. Select the Network panel.
  4. Click the clear button if you want a focused log, and confirm recording is active.
  5. Reproduce the action, submit the form, or reload the page. DevTools records requests while it is open.

If DevTools was opened after the page had already loaded, earlier requests may be missing. Reload and perform the flow again. This is especially important when investigating an initial document request, authentication redirect, or startup API call.

Keep requests when the page reloads

Check Preserve log in the Network panel before reproducing the issue. Without it, a reload or navigation normally clears the entries you need to compare. Preserve log keeps the existing entries across loads, but it cannot recover requests made before DevTools started recording.

Use Disable cache deliberately

In the Network panel, enable Disable cache when you need to test a fresh network load while DevTools remains open. It is useful when cached resources are causing provisional or incomplete-looking header information, but it does not guarantee that every header will always be available; invalid resources and security restrictions can produce similar messages.

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.

Find the request that matters

The Requests table can show a request’s name, status, type, initiator, transferred size, resource size, timing, and waterfall. Use the filter field and resource-type filters to narrow the list, but do not assume every relevant call is an XHR or fetch request. Documents, scripts, stylesheets, images, WebSockets, redirects, and other resource types can all explain a failure.

Useful ways to narrow a noisy log

  • Search for part of the URL, endpoint name, file name, or status code.
  • Filter by resource type when you know whether the issue involves a document, script, stylesheet, media file, or fetch.
  • Sort or scan the waterfall to identify the request that starts after your reproduction step.
  • Check the Initiator column to connect a request with the script or document that triggered it.
  • Use the status and timing columns to separate successful responses from redirects, client errors, server errors, and stalled requests.

Inspect request and response details

Select a request to open its detail pane. Chrome exposes different information in separate tabs, so inspect more than just the preview.

Headers

Headers contains general information plus request and response headers. Check the URL, method, status, remote address, caching fields, content type, redirects, authentication-related headers, and security headers. Chrome also provides a source view for header ordering when you need the raw arrangement rather than the parsed display.

A message about provisional headers can occur when a resource came from local cache, is invalid, or is unavailable for security reasons. Disable cache and reproduce the request if caching is a plausible explanation, while recognizing that the setting is not a universal fix.

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

Payload

Payload shows query-string parameters and submitted form data when those sections exist. This is where you verify values sent by a form or JavaScript call. Use the source view when you need the raw form representation.

Response and Preview

Response displays the returned response body. It is the primary place to read JSON, HTML, text, or other body content for the selected request. Preview offers a more interpretive view that can make structured responses easier to scan. Compare both when the rendered preview hides formatting that matters.

Timing and related tabs

Use timing information to distinguish DNS, connection, request-wait, download, and blocking delays. The exact tabs shown can vary by request type and Chrome version, so treat the selected request’s available details as authoritative.

How do I see the full response body in DevTools?

Select the request in the Network list and open Response. Scroll within the response viewer or use its search controls to locate text. If the body is JSON, Preview may show a formatted tree, while Response preserves the returned text. If no body appears, verify that you selected the final request rather than a redirect or preflight request, check the status and content type, and reproduce the action with recording enabled.

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

Copy one response body

Right-click the request, open the Copy menu, and choose Copy response. Paste it into a file or editor immediately if you need an exact standalone body. Treat the copied data as sensitive: response content can contain personal information, account data, tokens, or internal details.

Copy a reproducible request

The same context menu can provide Copy as cURL and Copy as fetch. These commands may include cookies, authorization headers, request bodies, or other credentials. Remove secrets before placing a command in a ticket, chat, gist, or bug report, and rotate a credential if it was exposed.

How do I save a HAR file in Chrome?

  1. Capture the complete flow in the Network panel. Turn on Preserve log first if navigation or reloads are part of the issue.
  2. Filter the table if you only want a particular set of listed requests.
  3. Right-click in the request table and choose Copy > Save all [listed] as HAR (sanitized), or use the Network panel’s HAR export control.
  4. Save the file with a descriptive name and inspect it before sharing.

A sanitized HAR excludes sensitive headers such as Cookie, Set-Cookie, and Authorization. Chrome also has a sensitive-export preference at Settings > Preferences > Network > Allow to generate HAR with sensitive data. Do not enable that option as a routine step. Use it only when a controlled investigation requires those headers, then protect the file as confidential.

HAR safety checklist

  • Prefer the sanitized export for support requests.
  • Open the HAR as text or inspect it with a trusted viewer before sending it.
  • Look for cookies, authorization values, signed URLs, personal identifiers, form fields, passwords, API keys, and private response bodies.
  • Remove or redact sensitive entries and confirm that the resulting file still reproduces the diagnostic question.
  • Share through an approved private channel, not a public repository or forum post.

Even a sanitized HAR can contain URLs, query parameters, payloads, response content, timing data, and internal hostnames. Sanitization is not a promise that the entire capture is harmless.

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

Choose the right capture method

Need Use Limitation
Inspect one response body Select request > 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 sanitized HAR Sensitive headers are omitted, and a HAR is not interchangeable with manually copying every response body.
Keep entries through reloads Enable Preserve log It preserves entries across loads but cannot capture activity from before DevTools opened.
Programmatically retrieve response content Use chrome.devtools.network and call getContent() Requires a Chrome DevTools extension.

When a DevTools extension needs the data

The chrome.devtools.network API exposes request information in HAR form for DevTools extensions. For efficiency, HAR request content may be omitted; call getContent() on the request API object to retrieve response content. An extension opened after page load can also miss earlier requests, so reload the page while the extension’s DevTools panel is active.

Troubleshooting missing or incomplete captures

The request is not in the list

Open DevTools before reproducing the action, clear the list if necessary, then reload or repeat the exact steps. Check filters that may hide the resource and remember that service workers, redirects, documents, and WebSockets may not appear under the filter you expected.

Reload erased the evidence

Enable Preserve log before reloading. If the original load happened before DevTools opened, reload again; Preserve log cannot backfill an earlier session.

The response tab is empty

Confirm that you selected the final response rather than an OPTIONS preflight or redirect. Check the status and content type, reproduce the request, and look for blocked, cancelled, or failed indicators. A response may legitimately have no body.

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

Headers say “provisional”

Try reproducing with Disable cache enabled. Chrome documents local cache, invalid resources, and security reasons as possible causes, so a missing header is not necessarily a server defect.

The HAR is too large

Clear the log, reproduce only the necessary steps, and export the listed requests after applying a filter. Do not enable sensitive export merely to reduce omissions; it increases disclosure risk.

A copied cURL command fails elsewhere

Copied commands can depend on cookies, headers, origin state, CSRF tokens, browser authentication, or a short-lived URL. Remove secrets before sharing, and if you are testing privately, verify that the command still has the required non-secret headers and body fields.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Or skip the browser setup

When your goal is a clean screenshot of a page rather than a diagnostic request log, ScreenshotNeo provides a one-call website screenshot API and MCP server. It accepts consent banners before capture and removes more than 60 known consent platforms, newsletter popups, and chat widgets; each cleanup step can be switched off. Bot checks, CAPTCHAs, 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 tools—take_screenshot, get_page_info, and capture_pdf—work with Claude, Cursor, and other MCP clients.

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

See the ScreenshotNeo documentation for request options and authentication. This cURL example captures Stripe as WebP:

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

Python:

import requests
r = requests.get("https://api.screenshotneo.com/v1/shot", params={"access_key": "YOUR_API_KEY", "url": "https://stripe.com"}, timeout=90)
open("shot.webp", "wb").write(r.content)

Node.js:

const q = new URLSearchParams({ access_key: 'YOUR_API_KEY', url: 'https://stripe.com' });
const res = await fetch(`https://api.screenshotneo.com/v1/shot?${q}`);

Every plan includes its features. The Free plan provides 1,000 screenshots each month without a card; paid plans start at $5 for 3,000 shots. Create a free ScreenshotNeo account to try it.

Frequently asked questions

Does Chrome record requests before DevTools opens?

No. Open DevTools first, then reload or reproduce the activity to populate the complete log.

Can I import a HAR into Chrome?

Yes. Chrome DevTools supports importing a HAR by dragging it into the Network panel or using its import control.

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

Should I share a full HAR with a support team?

Use a sanitized export, inspect it for URLs, payloads, response data, and identifiers, and redact anything unnecessary before sharing.

Frequently Asked Questions

Does Chrome record requests before DevTools opens?

No. Open DevTools first, then reload or reproduce the activity.

Can I import a HAR into Chrome?

Yes. Drag the HAR into the Network panel or use its import control.

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.

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