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

# Google AdMob API

The AdMob API lets mobile app publishers programmatically read account, app, ad unit, and reporting data from their AdMob account. It exposes endpoints to list AdMob accounts the caller has access to, enumerate apps and ad units under each account, and generate network and mediation reports against custom date ranges and dimensions. App publishers and analytics teams use it to feed AdMob earnings into BI dashboards, monitor ad-unit fill rate, and produce reconciliation reports without scraping the AdMob UI.

## For AI agents

Read AdMob account, app, and ad-unit data and generate network or mediation reports so an agent can report on mobile ad earnings and fill rate without using the AdMob UI.

## Scope

Does not handle creative trafficking, mediation group configuration changes, or in-app purchase data - use for reading AdMob account, app, ad-unit, and report data only.

## Capabilities

- List the AdMob accounts and publisher IDs the calling Google account has access to
- Enumerate apps registered under an AdMob account, including app store identifiers
- List ad units configured on each app, with their format and reward settings
- Generate network reports across dimensions such as country, format, ad unit, and date
- Generate mediation reports broken down by mediation group and ad source
- Stream long-running reports as gRPC-style server-sent rows for large date ranges

## Use cases

### Mobile Earnings Dashboard

A mobile publisher pipes AdMob earnings into an internal BI dashboard alongside in-app purchase revenue. The networkReport:generate endpoint accepts a date range, dimensions (such as APP and COUNTRY), and metrics (estimated earnings, impressions, eCPM), returning streamed rows that the pipeline writes to a warehouse.

Example prompt: Generate a network report for accounts/pub-1234 covering the last 30 days, grouped by APP and DATE, with ESTIMATED_EARNINGS and IMPRESSIONS metrics, and write each row to BigQuery.

### Ad Unit Inventory Sync

A mobile platform team syncs the catalogue of AdMob ad units into a configuration store so client SDKs can pick the right unit at runtime. Apps.list and adUnits.list under an account return the app and ad unit identifiers, which the team caches keyed by app store ID.

Example prompt: List apps under accounts/pub-1234 and, for each app, list its ad units, then upsert {appId, adUnitId, format} rows into the platform config store.

### Mediation Performance Review

An ad-ops team reviews mediation performance every week to decide which networks to keep in the waterfall. The mediationReport:generate endpoint groups metrics by mediation group and ad source, producing the eCPM and match rate that drive the team's priority adjustments.

Example prompt: Generate a mediation report for accounts/pub-1234 covering last week, grouped by AD_SOURCE and MEDIATION_GROUP, sort by eCPM, and reply with the top 5 underperforming sources.

### AI Agent Revenue Insights

An AI agent embedded in a mobile growth tool answers questions like 'which country drove the most AdMob revenue last week?' through Jentic. The agent calls networkReport:generate with the right dimensions, normalises the streamed response, and replies with a one-paragraph answer.

Example prompt: Given the question 'which country drove the most AdMob revenue last week', call networkReport:generate grouped by COUNTRY, sort rows by ESTIMATED_EARNINGS descending, and return the top country with its earnings figure.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /v1/accounts | List AdMob accounts the caller can access |
| GET | /v1/{+parent}/apps | List apps under an AdMob account |
| GET | /v1/{+parent}/adUnits | List ad units under an AdMob account |
| POST | /v1/{+parent}/networkReport:generate | Generate a network report for an account |
| POST | /v1/{+parent}/mediationReport:generate | Generate a mediation report for an account |

## Key resources

- **Accounts** — List AdMob accounts the caller can access
- **Apps** — Enumerate apps registered under an account, with store identifiers
- **Ad Units** — List ad units configured on each app with format and reward settings
- **Network Report** — Generate streamed network reports across configurable dimensions and metrics
- **Mediation Report** — Generate streamed mediation reports broken down by mediation group and ad source

## Why Jentic

- **Setup:** Wiring the AdMob API by hand means configuring Google OAuth 2.0, exchanging a refresh token for short-lived access tokens, and pointing read and report calls at the admob.googleapis.com host. Through Jentic you install once, import the AdMob API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** AdMob puts the account resource in the URL path (/v1/{+parent}/apps, /adUnits), so a rule can pin your agent to one AdMob account: it can read that account's apps and ad units and nothing else. You choose the operations it may call, so report generation like networkReport or mediationReport is not included unless you add them.
- **Credential handling:** Your Google OAuth credential is stored once, encrypted, by your own Jentic One instance and exchanged for short-lived access tokens at execution time. The refresh token never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'generate an AdMob network report' or 'list ad units', and Jentic returns the matching AdMob operation with its input schema, so the dimension and metric fields are pre-typed and the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **AdSense Management API** — Reporting and inventory API for AdSense web publishers
- **DoubleClick Bid Manager API** — Reporting on Display & Video 360 buying activity
- **Play Developer Reporting API** — Read Play Console app reliability and engagement metrics

## FAQ

### What authentication does the AdMob API use?

It uses Google OAuth 2.0 with the https://www.googleapis.com/auth/admob.readonly or admob.report scope. The calling Google account must have access to the target AdMob publisher account. Jentic stores the OAuth credential in its encrypted vault and exchanges it for short-lived access tokens at request time.

### Can I get yesterday's AdMob earnings through the API?

Yes. POST /v1/{parent=accounts/*}/networkReport:generate with a dateRange of yesterday, dimensions=[DATE], and metrics=[ESTIMATED_EARNINGS] returns the previous day's earnings as soon as Google has finalised the day's data, typically within a few hours after midnight Pacific Time.

### What are the rate limits for the AdMob API?

The default quota is 60 queries per minute per project. Report generation calls are streamed and count as a single request regardless of the number of returned rows, so batching dimensions tightly keeps quota usage low. Long-running reports must be consumed within the response timeout or restarted.

### How do I list ad units for an AdMob app through Jentic?

Run jentic search 'list admob ad units', load the accounts.adUnits.list operation, and execute it with parent set to accounts/{publisherId}. The agent receives a typed list of ad units with adUnitId, format, and adFormat fields, ready to feed into a downstream config sync.

### Is the AdMob API free?

Yes. The AdMob API has no per-call fee and is available to anyone with an AdMob publisher account. Earnings reported by the API reflect the standard AdMob revenue share.

### Can I limit what my agent is allowed to do with the AdMob API?

Yes. Because you run Jentic One yourself, your own rules decide which AdMob operations and credentials the agent may use. Since AdMob puts the account in the URL path (/v1/{+parent}/apps and /adUnits), you can pin the agent to a single AdMob account so it only reads that account's apps and ad units. You also pick the exact operations it may call, so report generation such as networkReport:generate or mediationReport:generate is excluded unless you add it.
