/Web APIs


The ReportBody interface of the Reporting API represents the body of a report. Individual report types inherit from this interface, adding specific attributes relevant to the particular report.

Reports that inherit from ReportBody

An instance of ReportBody is returned as the value of Report.body. The interface has no constructor.

Instance methods


A serializer which returns a JSON representation of the ReportBody object.


In this example we create a new ReportingObserver to observe intervention reports. The InterventionReportBody interface inherits from ReportBody.

const options = {
  types: ["intervention"],
  buffered: true,

const observer = new ReportingObserver(([firstReport], observer) => {
  console.log(firstReport.type); // intervention
}, options);


Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
ReportBody 69 79 No No 56 16.4 69 69 No 48 16.4 10.0
toJSON 69 79 No No 56 16.4 69 69 No 48 16.4 10.0

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.