canonical: https://jentic.com/apis/googleapis.com/abusiveexperiencereport

# Google Abusive Experience Report API

The Abusive Experience Report API exposes Google's findings on sites that show abusive experiences such as fake messages, deceptive ads, and unexpected redirects. It returns the abusive status (Failing, Passing, or Not Reviewed) for a single site and a list of all sites currently failing the report. Publishers and ad-quality teams use it to monitor whether their domains are at risk of having Chrome filter abusive ads.

## For AI agents

Check whether a site is failing Google's Abusive Experience Report and list all currently violating domains, so an agent can flag sites at risk of Chrome ad filtering.

## Scope

Does not handle ad creative review, content moderation, or Chrome enforcement actions - use for reading abusive experience status on publisher sites only.

## Capabilities

- Read the abusive experience status for a specific site as currently scored by Google
- List every site that is failing the Abusive Experience Report at the time of the call
- Surface the report URL where a site owner can review violations and request re-review
- Track whether a domain has moved between Failing, Passing, and Not Reviewed states across reports
- Power compliance dashboards that flag publisher domains before Chrome enables ad filtering

## Use cases

### Publisher Compliance Monitoring

An ad operations team checks the Abusive Experience Report status of every domain in its portfolio on a daily schedule. The siteSummary endpoint returns the abusive status for a single site, and a Failing result triggers an internal ticket so the team can investigate the offending creatives before Chrome begins filtering ads on that domain.

Example prompt: For each domain in the portfolio list, call sites.get and emit a ticket whenever the abusiveStatus changes from PASSING to FAILING.

### Industry-wide Abuse Tracking

A research team pulls the full list of sites currently failing the Abusive Experience Report to study trends in deceptive advertising. The violatingSites.list endpoint returns every flagged domain in a single call, which the team joins with traffic and category data to produce an industry report.

Example prompt: Call violatingSites.list, store the returned domains in a database, and compute the count of newly flagged sites since the previous run.

### AI Agent Ad Quality Triage

An AI agent embedded in an ad-ops console uses Jentic to call the Abusive Experience Report API whenever a publisher onboards a new domain. The agent returns the current status, the report review URL, and a recommendation for whether the domain is safe to monetise immediately.

Example prompt: Given a new publisher domain, call sites.get and reply with the abusiveStatus, the reportUrl, and a one-line recommendation.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v1/violatingSites | List all sites failing the Abusive Experience Report |
| GET | /v1/{+name} | Get the abusive experience status for a single site |

## Key resources

- **Sites** — Get the abusive experience status for a single site identified by URL
- **ViolatingSites** — List all sites currently failing the Abusive Experience Report

## Why Jentic

- **Setup:** Wiring the Abusive Experience Report API by hand means running Google's OAuth 2.0 flow against abusiveexperiencereport.googleapis.com, refreshing access tokens, and formatting the site resource name its get endpoint expects yourself. Through Jentic you install once, import the Abusive Experience Report API from the API Directory, store the refresh token once, and your agent calls it.
- **Permission scoping:** This API exposes only two read endpoints, listing violating sites and reading one site's status by resource name, so scope the agent to the operations it needs. You choose whether it may list all violating sites or only read a named site's status, and no write operation exists to include.
- **Credential handling:** Your Google refresh token is stored once, encrypted, by your own Jentic One instance and exchanged for a short-lived access token at execution time. The refresh token never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'check a site's abusive experience status', and Jentic returns the matching sites.get or violatingSites.list operation with its input schema so the agent calls the right endpoint without reading the reference.

## Related APIs

- **Ad Experience Report API** — Companion API that flags sites with annoying ads rather than abusive experiences
- **Google Search Console API** — Verify ownership and read search performance for the same publisher domains
- **AdSense Management API** — Read AdSense earnings and ad unit data for the same publisher

## FAQ

### What authentication does the Abusive Experience Report API use?

It uses Google OAuth 2.0 with the https://www.googleapis.com/auth/xapi.zoo scope. The site owner must have verified the property in Search Console under the same Google account. Jentic stores the refresh token in its encrypted vault and exchanges it for short-lived access tokens at request time.

### Can I check a site I do not own with the Abusive Experience Report API?

The sites.get endpoint requires that the calling Google account is a verified owner of the site in Search Console. You can call violatingSites.list to read the full set of flagged domains regardless of ownership, but per-site detail is restricted to verified owners.

### What are the rate limits for the Abusive Experience Report API?

Google does not publish a hard quota for this API and traffic is shared with the Search Console quota pool. In practice, polling sites.get more than once per minute per domain returns stale data because the underlying review cycle runs daily, so caching results for an hour is sufficient.

### How do I list all violating sites through Jentic?

Run jentic search 'list violating sites in abusive experience report', load the returned operation, and execute it. The agent receives a typed response containing every domain currently flagged, with siteUrl, abusiveStatus, and the reportUrl for review.

### Is the Abusive Experience Report API free?

Yes. The API is free to use under Google's standard API terms - there is no per-call charge. Quota usage counts against the project's shared Google APIs quota pool.

### Can I limit what my agent is allowed to do with the Abusive Experience Report API?

Yes. Because Jentic One is self-hosted, your own rules decide which of this API's two read operations the agent may call and which credentials it may use. This API has no write operations, so you can allow the agent to list all violating sites, restrict it to reading a single named site's status, or permit both.
