This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The ReportingObserver() constructor of the Reporting API creates a new ReportingObserver object instance, which can be used to collect and access reports.


new ReportingObserver(callback[, options]);


A callback function that runs when the observer starts to collect reports (i.e. via ReportingObserver.observe()). The callback function is given two parameters:
  • reports: A sequence of Report objects representing the reports collected in the observer's report queue. This is probably the most common way to retrieve the reports.
  • observer: A reference to the same ReportingObserver object, allowing for recursive report collection, etc.
options Optional
An ReportingObserverOptions object allowing you to set the options for creating the object. The available options are:
  • types: An array of strings representing the types of report to be collected by this observer. Available types include deprecation, intervention, and crash (although this last type usually isn't retrievable via a ReportingObserver).
  • buffered: a boolean that defines whether the reports that were generated before the observer was able to be created should be observable (true) or not (false).


let options = {
  types: ['deprecation'],
  buffered: true

let observer = new ReportingObserver(function(reports, observer) {
  reportBtn.onclick = () => displayReports(reports);
}, options);


Specification Status Comment
Reporting API
The definition of 'ReportingObserver()' in that specification.
Editor's Draft  

Browser compatibility

Update compatibility data on GitHub
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
ReportingObserver() constructor
Chrome Full support 69Edge Full support 79Firefox No support NoIE No support NoOpera Full support 56Safari No support NoWebView Android Full support 69Chrome Android Full support 69Firefox Android No support NoOpera Android Full support 48Safari iOS No support NoSamsung Internet Android Full support 10.0


Full support  
Full support
No support  
No support
Experimental. Expect behavior to change in the future.
Experimental. Expect behavior to change in the future.

See also