Content detection
Scrapeman auto-detects the response content type: JSON, HTML, XML, JavaScript, CSS, image, PDF, text, or binary.
View modes per content type
| Content type | Available modes |
|---|---|
SSE (text/event-stream) | Events (default), Raw |
| JSON | Raw, Pretty (CodeMirror syntax-highlighted), Tree (collapsible with JSONPath copy) |
| HTML | Raw, Pretty (CodeMirror syntax-highlighted), Preview (sandboxed iframe) |
| XML | Raw, Pretty (CodeMirror syntax-highlighted, indented) |
| JavaScript | Raw, Pretty (CodeMirror syntax-highlighted) |
| CSS | Raw, Pretty (CodeMirror syntax-highlighted) |
| Image | Raw (hex), Preview (rendered) |
| Raw, Preview (Chromium PDF viewer) | |
| Text / binary | Raw |
Pretty mode runs CodeMirror with the one-dark theme in dark mode. Syntax coloring follows the language grammar. The default view for JSON, HTML, XML, JavaScript, CSS, image, and PDF is the structured view (Tree / Pretty / Preview); Raw stays one click away.
Lazy parsing: JSON.parse and tree rendering only fire when you switch to Pretty
or Tree view.
HTML preview
The Preview mode for HTML runs the response inside a sandboxed iframe with no script execution. External CSS,
images, and fonts load (the prod CSP allows https: and http: for style, image, and
font sources). A <base href> is injected so relative URLs (/assets/main.css)
resolve to the originating server. The base href prefers the last redirect destination, then the executor's
sent URL, then the URL the user typed.
SSE Events mode
When the response is text/event-stream (or the executor populates sseEvents) the
viewer defaults to Events mode. Each event is shown in its own block with id,
event, retry in the header row and the data body below. Valid JSON
data renders as a collapsible JSON tree; otherwise it shows as monospace text.
Auto-scroll: the list follows new events as they arrive. Click Scroll: off
to pause; click again to resume. Export JSON saves the full sseEvents array.
Response body search
Search within the response body with highlight and previous/next navigation.
- Debounced input — the match scan runs 150 ms after you stop typing, so keystrokes feel instant on large bodies.
- Virtualized rendering — Raw views render only the visible lines; 5 MB bodies scroll and search without jank.
- Enter / Shift+Enter — jump to next / previous match; the viewport scrolls to centre the active match.
- Large body warning — switching to Pretty mode on a body over 500 KB shows a banner suggesting Raw for best performance. Applies to all syntax-highlighted kinds.
- The search query persists across sends and auto re-runs when a new response arrives.
Save response to file
The toolbar has a Save button that writes the decoded body to a file you choose, using the system save dialog.
Dev Tools tab
The Dev Tools tab appears next to Body and Headers after every response.
- Timing waterfall — DNS lookup, TCP connect, TLS handshake, TTFB, and download. Each segment is proportional to its share of total time and labelled with its exact millisecond value.
- Sent URL and headers — the actual URL and headers on the wire, after variable resolution, Scrape.do composition, and auth injection.
- Redirect chain — each 3xx hop with status and Location.
- TLS certificate — subject CN, issuer CN, validity dates, SHA-256 fingerprint. Days-remaining warning when fewer than 30 days remain.
- Remote address — IP and port of the server that answered, plus HTTP version and compressed-vs-decoded size.
- Script console — output from pre and post-request scripts.
Metrics
Every response shows: HTTP status, TTFB (time to first byte), download time, body size, and protocol (HTTP/1.1 or h2).