ua-tracer
by Paul Kinlan
ua-tracer
what does a user agent actually fetch, follow & run?
Trace NxT39zQF
First seen: 2026-06-23 10:47:33.443 UTC
User-Agent: Scrapy/2.16.0 (+https://scrapy.org)
What this user agent did
Directly-referenced assets:
✗ fetched CSS
✗ fetched JS
✗ fetched image
✗ fetched font (HTML)
Document-level link hints:
✓ fetched favicon
✓ fetched apple-touch-icon
✗ fetched web manifest
✗ fetched preload
✗ fetched prefetch
Second-level follows (proves it parsed the linking file):
✗ followed CSS background-image
✗ followed CSS @font-face
✗ followed manifest icon
✗ followed CSS @import
Frames (does it descend into iframes?):
✗ fetched iframe document
✗ descended into iframe (loaded inner image)
Reporting (a report-only CSP is violated by inline styles; reports can arrive via HTTP headers with no JS, or via in-page beacons):
✗ sent a CSP/Reporting report (any path)
✗ delivered via report-uri/Report-To header (no JS)
✗ delivered via in-page beacon (securitypolicyviolation / ReportingObserver)
Social embed (Open Graph / Twitter card images):
✗ fetched og:image
✗ fetched twitter:image
JavaScript execution:
✗ EXECUTED classic JS
✗ EXECUTED ES module
✗ posted client timing
Server-side request waterfall
Every request the server received for this trace, in receive order. +ms is the delta from the
homepage request.
| Received | Δ | Kind | Method | User-Agent |
|---|---|---|---|---|
| 2026-06-23 10:47:33.443 UTC | +0 ms | homepage | GET | Scrapy/2.16.0 (+https://scrapy.org) |
request headers (8){
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"accept-encoding": "gzip, deflate",
"accept-language": "en",
"host": "uatracer.com",
"traceparent": "00-2484074f5f0071bd1aa6c80433e0b139-b6f9ebe4703828cd-01",
"tracestate": "",
"user-agent": "Scrapy/2.16.0 (+https://scrapy.org)",
"via": "HTTP/1.1 ams.vultr.prod.deno-cluster.net"
}
|
||||
| 2026-06-23 10:50:52.410 UTC | +198967 ms | apple-touch-icon | GET | Scrapy/2.16.0 (+https://scrapy.org) |
request headers (8){
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"accept-encoding": "gzip, deflate",
"accept-language": "en",
"host": "uatracer.com",
"traceparent": "00-0675fd2a166d0832b63cae1ec7cd1ae3-1f65b646d20c5b97-01",
"tracestate": "",
"user-agent": "Scrapy/2.16.0 (+https://scrapy.org)",
"via": "HTTP/1.1 ams.vultr.prod.deno-cluster.net"
}
|
||||
| 2026-06-23 10:50:52.413 UTC | +198970 ms | favicon | GET | Scrapy/2.16.0 (+https://scrapy.org) |
request headers (8){
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
"accept-encoding": "gzip, deflate",
"accept-language": "en",
"host": "uatracer.com",
"traceparent": "00-11ca4de7cae34e7aed772dc40983bfbe-e3d30dd2850c5d86-01",
"tracestate": "",
"user-agent": "Scrapy/2.16.0 (+https://scrapy.org)",
"via": "HTTP/1.1 ams.vultr.prod.deno-cluster.net"
}
|
||||