coderef

Reporting APIBaseline · Newly available

The Reporting-Endpoints HTTP header and ReportingObserver() API send selected reports, such as Content Security Policy (CSP) violation reports or crash reports, to a nominated URL or callback function.

Works in the latest version of every major browser, but older devices may not support it yet. Baseline since Mar 24, 2026.

Browser support

DesktopChrome
1–95Not supported
96+Supportedsince Nov 15, 2021
Current: 155
Edge
12–95Not supported
96+Supportedsince Nov 19, 2021
Current: 154
Firefox
1–148Not supported
149+Supportedsince Mar 24, 2026
Current: 157
Safari
1–16.3Not supported
16.4+Supportedsince Mar 27, 2023
Current: 27
MobileChrome Android
18–95Not supported
96+Supportedsince Nov 15, 2021
Current: 155
Firefox Android
4–148Not supported
149+Supportedsince Mar 24, 2026
Current: 157
Safari iOS
1–16.3Not supported
16.4+Supportedsince Mar 27, 2023
Current: 27

How to use

Every current browser supports this, but it only became Baseline on Mar 24, 2026. Use it as a progressive enhancement, or keep a fallback if you support older devices.

Example

Full syntax and examples are on MDN: ReportingObserver.

Feature detection

JS · check before using
if ("ReportingObserver" in globalThis) {
  // ReportingObserver is available
} else {
  // load a polyfill or use a fallback
}

Sub-features

Support for each part of the feature (9). The overall table above shows when the whole feature works.

Sub-featureChromeEdgeFirefoxSafariChrome AndroidFirefox AndroidSafari iOS
ReportingObserver697914916.46914916.4
ReportingObserver.ReportingObserver697914916.46914916.4
ReportingObserver.ReportingObserver.options_parameter697914916.46914916.4
ReportingObserver.ReportingObserver.options_parameter.types_property697914916.46914916.4
ReportingObserver.disconnect697914916.46914916.4
ReportingObserver.observe697914916.46914916.4
ReportingObserver.takeRecords697914916.46914916.4
ReportingObserver.worker_support8484149✕84149✕
http.headers.Reporting-Endpoints969613016.49613016.4