This example returns a inventory of network requests observed on the most recent page scans from runs within the last 30 days. It lists request and response details so you can export or post-process as needed.
- The filter
IS_MOST_RECENT_PAGE_SCAN = 1
ensures you only see the latest scan per page. - The filter
IS_MOST_RECENT_RUN = 1
limits results to the latest run per property. - The relative date filter restricts to page visits started in the last 30 days.
- Values like
REQUEST_RESOURCE_TYPE
,REQUEST_COUNTRY_CODE
,REQUEST_METHOD
, and other attributes are numeric enums. You will need to make a call to gather thenetwork-requests
schema.
Network request data can be very large, and can produce tens or hundreds of millions of rows. Large unfiltered queries may time out. We strongly recommend applying filters to limit to a reasonable time window and to the most recent page scans and audit runs, as shown above.
POST to https://api.observepoint.com/v3/reports/grid/network-requests
{
"columns": [
{ "columnId": "REQUEST_URL" },
{ "columnId": "REQUEST_RESOURCE_TYPE" },
{ "columnId": "REQUEST_STATUS_CODE" },
{ "columnId": "REQUEST_COUNTRY_CODE" },
{ "columnId": "REQUEST_NETWORK_ERROR" },
{ "columnId": "REQUEST_METHOD" },
{ "columnId": "REQUEST_SERVER_IP_ADDRESS" },
{ "columnId": "REQUEST_HTTP_VERSION" },
{ "columnId": "RESPONSE_CONTENT_SIZE" },
{ "columnId": "RESPONSE_CONTENT_MIME_TYPE" },
{ "columnId": "RESPONSE_CONTENT_ENCODING" },
{ "columnId": "RESPONSE_LAST_MODIFIED" },
{ "columnId": "COOKIES_SET" }
],
"filters": {
"conditionMatchMode": "all",
"conditions": [
{
"args": [1],
"negated": false,
"operator": "integer_in",
"filteredColumn": { "columnId": "IS_MOST_RECENT_PAGE_SCAN" }
},
{
"args": [1],
"negated": false,
"operator": "integer_in",
"filteredColumn": { "columnId": "IS_MOST_RECENT_RUN" }
},
{
"startDuration": 30,
"startUnit": "day",
"negated": false,
"operator": "date_time_relative",
"filteredColumn": { "columnId": "ABSOLUTE_PAGE_VISIT_START_TIME" }
}
],
"allAccounts": false
},
"sortBy": [],
"page": 0,
"size": 10000
}
Grid API Response JSON
// Notes:
// Each row is a single network request from a most recent page scan
// Some columns return numeric enums that you can map to labels
{
"metadata": {
"pagination": {
"totalCount": 10000,
"totalPageCount": 0,
"pageSize": 10000,
"currentPageSize": 10000,
"currentPageNumber": 0
},
"headers": [
{ "column": { "columnId": "REQUEST_URL" } }, // The full URL that the tag requested.
{ "column": { "columnId": "REQUEST_RESOURCE_TYPE" } }, // Code for the resource type requested (for example script, image, stylesheet, XHR).
{ "column": { "columnId": "REQUEST_STATUS_CODE" } }, // The HTTP status code returned by the tag request (e.g., 200 for success, 404 for not found).
{ "column": { "columnId": "REQUEST_COUNTRY_CODE" } }, // The country code (ISO 3166-1 alpha-2 format) representing the geographic location of the server responding to the request.
{ "column": { "columnId": "REQUEST_NETWORK_ERROR" } }, // Any network-level error that prevented the request from completing (e.g., DNS failure or timeout).
{ "column": { "columnId": "REQUEST_METHOD" } }, // The HTTP method used to make the request (for example GET or POST).
{ "column": { "columnId": "REQUEST_SERVER_IP_ADDRESS" } }, // The IP address of the server that responded (IPv4 or IPv6).
{ "column": { "columnId": "REQUEST_HTTP_VERSION" } }, // The HTTP protocol version negotiated (for example HTTP/1.1, HTTP/2, HTTP/3).
{ "column": { "columnId": "RESPONSE_CONTENT_SIZE" } }, // The size of the tag’s response payload in bytes.
{ "column": { "columnId": "RESPONSE_CONTENT_MIME_TYPE" } }, // The MIME type of the tag’s response (e.g., application/javascript, image/png).
{ "column": { "columnId": "RESPONSE_CONTENT_ENCODING" } }, // The encoding used in the response payload (e.g., gzip, br, or identity).
{ "column": { "columnId": "RESPONSE_LAST_MODIFIED" } }, // The date and time when the requested resource was last modified on the server, if available.
]
},
"rows": [
[
"https://www.example.com/resource1",
13,
200,
240,
null,
1,
"123.456.789.123",
"http/2.0",
500,
"application/javascript",
"br",
"Wed, 01 Jan 2025 00:00:00 GMT"
],
[
"https://www.example.com/resouce2Fails",
null,
400,
240,
"net::ERR_FAILED",
3,
"987.654.321.987",
"http/2.0",
0,
"image/jpeg",
null,
null
]
// ... more rows omitted for brevity
]
}