session_network
Read the session's network request log. filter="media" extracts playback/stream URLs (m3u8/HLS, mp4, dash, flv...) actually requested by the page's player at runtime - the reliable way to get a real video link, since links embedded in page HTML are often decoys. Media elements and player iframes the engine never fetches (video/audio/source/iframe src) are merged in as candidates: via="network" entries are confirmed requests, via="dom" entries are candidates carrying their tag (iframes = kind "iframe", navigate into them to sniff). Default returns every request as compact rows (method/url/status/type/size/nav); include_headers=true adds each request's outbound header set to its row (#97). Each row's nav is the navigation generation that issued it and the payload's top-level nav is the current one - a lower row nav belongs to an earlier (e.g. timed-out) navigation attempt (#101). Navigate to the video page first, let it load, then call this.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | "media" extracts playback/stream links (m3u8/HLS, mp4, dash, ...) from the requests the page actually issued - the reliable way to get a real video link, since URLs embedded in page HTML are often decoys. Media elements and player iframes the engine never fetches (video/audio/source src, iframe src) are merged in as candidates: entries carry via="network" (confirmed requests) or via="dom" (candidates, with their tag; iframes surface as kind "iframe" - player pages to navigate or sniff inside, not playable URLs). Omit to list every request as compact rows. | |
| session_id | Yes | Session ID | |
| url_contains | No | Narrow the `xhr` array to URLs containing this substring. | |
| body_max_chars | No | Per-body character cap for the `xhr` array (default 4000). | |
| include_bodies | No | Add an `xhr` array of background API responses (the page's own fetch/XHR traffic with retained bodies) alongside the request rows — the page's API face is often the cleanest structured read of its data. | |
| include_headers | No | Add each request's outbound header set to its row (`headers` on the compact rows, `request_headers` on the `xhr` rows) — what the page's JS actually sent, signed customs like x-s/x-s-common included. Off by default: headers can carry tokens. |