# Network Logs

Network logs show what your app sent and received during a session. Use them to debug API failures, auth issues, and slow pages.

<figure><img src="https://3820804400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfW6XSzJSKsNyZnOkSJPt%2Fuploads%2FXnroftiyakZ7PFZVwPra%2FCleanShot%202026-02-10%20at%2015.33.04%402x.png?alt=media&#x26;token=80152670-a0f9-4298-8857-8801952c72bf" alt=""><figcaption></figcaption></figure>

### Availability

Network logs are only available for certain capture types:

* ✅ Chrome extension recordings
* ✅ Replay-style captures (for example, Instant Replay)
* ✅ Standard customer-submitted recordings

{% hint style="info" %}
If you don’t see a **Network** tab, the recording type likely doesn’t support network capture.
{% endhint %}

### What gets captured

You can expect to see:

* Fetch/XHR requests
* Page navigations and redirects
* Static assets (JS, CSS, images, fonts)
* Third-party requests (analytics, CDNs)
* WebSocket connections (when present)

Per request, you typically get URL, method, status, timing, and a waterfall. You may also see headers, payload, and response data.

### Where to find it

{% stepper %}
{% step %}
**Open the recording**

Open the recording or capture in Screendesk.
{% endstep %}

{% step %}
**Open the Network tab**

Click **Network** in the developer tools panel.

<figure><img src="https://3820804400-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FfW6XSzJSKsNyZnOkSJPt%2Fuploads%2FzmimaOLEa4rnx4gvEzOJ%2FCleanShot%202026-02-10%20at%2015.41.06%402x.png?alt=media&#x26;token=43eb208d-821f-41aa-93d3-1ab753c6a926" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}
**Filter to what matters**

Start with **XHR/Fetch**. Then enable **Errors only** if needed.
{% endstep %}
{% endstepper %}

### How to use network logs (fast workflow)

{% stepper %}
{% step %}
**Find the failing request**

Look for `4xx`, `5xx`, or `Failed`.
{% endstep %}

{% step %}
**Inspect details**

Check **Headers**, then **Payload**, then **Response**.
{% endstep %}

{% step %}
**Copy and reproduce**

Use **Copy as cURL** to reproduce outside the browser.

```bash
curl 'https://api.example.com/users/12345' \
  -H 'Authorization: Bearer [REDACTED]' \
  -H 'Content-Type: application/json'
```

{% endstep %}
{% endstepper %}

<details>

<summary>Common status codes and what to do</summary>

**`0` / Failed**

Usually CORS, blocked requests, timeouts, or a dropped connection.

Check console logs for CORS errors. Check system info for VPN/network hints.

**`401` Unauthorized**

Token missing or expired. Session issues are common.

Ask the user to log out/in. Check auth refresh logic.

**`403` Forbidden**

Auth is present. Permission is not.

Check roles, entitlements, and feature flags.

**`404` Not Found**

Bad URL or missing resource.

Check routing, environment (staging vs prod), and ID validity.

**`5xx` Server error**

Usually an engineering escalation.

Include URL, payload, response body, and timestamp in the ticket.

</details>

### Privacy and security

{% hint style="danger" %}
Network logs can include sensitive data. Treat them like production logs.
{% endhint %}

Be careful with auth headers, cookies, and PII in payloads/responses.

Recommended practices:

* Restrict access to technical roles.
* Redact tokens before sharing externally.
* Avoid screenshots of raw headers/payloads.

### Limitations

* Large request bodies may be truncated.
* File uploads can show as `[Binary Data]`.
* Some third-party requests may omit bodies due to browser restrictions.
* Static assets can appear, but the full body might not be stored.

### Related pages

* [Console logs and Network](https://docs.screendesk.io/~/revisions/pAg2d5GCwbZlpJ20UTRh/request-screen-recording/developer-tools/console-logs)
* [System Info](https://docs.screendesk.io/~/revisions/pAg2d5GCwbZlpJ20UTRh/request-screen-recording/developer-tools/system-info)
