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

# Google DoubleClick Bid Manager API

The DoubleClick Bid Manager API (DBM, part of Display & Video 360) lets advertisers create, run, and download reports that aggregate spend, impressions, clicks, and conversions across DV360 campaigns, line items, and creatives. Reports are defined as queries with metrics, dimensions, filters, and a schedule, then run on demand or on a recurring cadence. The API exposes the full query lifecycle plus access to historical report files. It is the canonical reporting interface for programmatic display and video buying inside Display & Video 360.

## For AI agents

Create, run, and download Display & Video 360 reports that aggregate programmatic spend, impressions, clicks, and conversions across campaigns, line items, and creatives.

## Scope

Does not manage campaigns, line items, creatives, or audience targeting - use for DV360 reporting query and report file access only.

## Capabilities

- Create a saved report query with chosen metrics, dimensions, filters, and schedule
- List existing report queries belonging to the authenticated DV360 partner or advertiser
- Run a saved query on demand and receive a report ID for download
- List historical report files generated for a query and download their CSV results
- Delete a saved query that is no longer needed and stop its recurring runs
- Get a single report by ID to retrieve metadata, status, and signed download URL

## Use cases

### Programmatic Spend Reconciliation

Media operations teams pull DV360 spend, impressions, and clicks daily into their data warehouse to reconcile with finance and performance dashboards. The API lets them define a query once with the dimensions and metrics they need, schedule it, and download CSV outputs as they are produced. End-to-end pipeline setup typically takes a day or two, replacing manual UI exports.

Example prompt: Create a query with metrics IMPRESSIONS, REVENUE_USD and dimension ADVERTISER for the last 30 days, run it, and return the download URL once the report file is READY.

### Campaign Performance Dashboards

Analytics teams feed DBM CSVs into BI tools to build dashboards showing campaign and line item performance against pacing and goal CPA. Recurring queries deliver the latest data on a schedule; the API surfaces the file URL for each run, which pipelines can fetch without UI access. Adding a new dashboard typically takes hours rather than waiting on manual exports.

Example prompt: List queries via GET /queries, identify the daily campaign performance query, fetch the latest report from /queries/{queryId}/reports, and load the CSV into BigQuery.

### Conversion Attribution Audits

When marketers compare DV360 reported conversions against third-party measurement, they pull both raw and modelled conversions from DBM and join them on click and conversion IDs. The API supports the conversion-rich dimensions and metrics needed for attribution reconciliation, and historical report files remain accessible by ID for re-pulls during audits.

Example prompt: Create a query with conversion metrics and click_id dimension for the audit window, run it, then GET /queries/{queryId}/reports/{reportId} to retrieve the file metadata and signed download URL.

### Agent-Generated Performance Briefings via Jentic

An AI agent producing a weekly programmatic performance brief calls DBM through Jentic to fetch the latest spend and conversion numbers, summarise them, and email the team. The agent does not need to wire up OAuth, query polling, or CSV parsing manually; Jentic returns the matching DBM operation and its schema for each step.

Example prompt: Search Jentic for 'run a DV360 report', load the schema for POST /queries/{queryId}:run, execute it, then poll the reports endpoint until the file is ready and download the CSV.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /queries | Create a saved report query |
| GET | /queries | List existing report queries |
| POST | /queries/{queryId}:run | Run a saved query on demand |
| GET | /queries/{queryId}/reports | List report runs for a query |
| GET | /queries/{queryId}/reports/{reportId} | Get a single report file's metadata and download URL |
| DELETE | /queries/{queryId} | Delete a saved query |

## Key resources

- **Queries** — Create, list, get, delete, and run saved report queries
- **Reports** — List and retrieve the report files generated by query runs

## Why Jentic

- **Setup:** Wiring the DoubleClick Bid Manager API by hand means standing up Google OAuth2 with the right scopes, targeting the doubleclickbidmanager.googleapis.com/v2 host, and building the query and report calls yourself. Through Jentic you install once, import the DoubleClick Bid Manager API from the API Directory, store the OAuth credential once, and your agent calls it.
- **Permission scoping:** DoubleClick Bid Manager puts the query id in the URL path (/queries/{queryId}/...), so a rule can pin your agent to one query: it can run that query and read its report files and nothing else. You choose the operations it may call, so destructive ones like deleting a query are not included unless you add them.
- **Credential handling:** Your Google OAuth credential for DoubleClick Bid Manager is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'run a DV360 report query' or 'download a report file', and Jentic returns the matching DoubleClick Bid Manager operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Display & Video 360 API** — Manages campaigns, line items, and creatives in DV360 itself
- **Search Ads 360 API** — Equivalent reporting and conversion upload for paid search
- **Real-time Bidding API** — Manages authorized buyers RTB endpoints and pretargeting

## FAQ

### What authentication does the DoubleClick Bid Manager API use?

DBM uses Google OAuth 2.0 with the doubleclickbidmanager scope. Both end-user OAuth and service account flows are supported. Through Jentic the credentials are stored in the encrypted vault and the agent receives scoped Bearer tokens only.

### Can I create scheduled reports with the DoubleClick Bid Manager API?

Yes. POST /queries accepts a schedule object with frequency and start/end dates so the report runs automatically. You can also call POST /queries/{queryId}:run to trigger an out-of-cycle run on demand.

### What are the rate limits for the DoubleClick Bid Manager API?

DBM enforces per-project quotas in the Google Cloud Console (typical default 4 queries per second per project) plus DV360-side limits on concurrent report generation per partner. Large reports may be queued behind the partner's concurrency limit.

### How do I download a DV360 report through Jentic?

Search Jentic for 'download a DV360 report', load the schema for GET /queries/{queryId}/reports/{reportId}, and execute it with the IDs returned by the run step. Jentic returns the report metadata including the signed Google Cloud Storage URL where the CSV can be fetched.

### Is the DoubleClick Bid Manager API free?

The API itself is free to use, but it requires an active DV360 (Display & Video 360) account, which is sold to advertisers and agencies and priced via direct contracts with Google.

### How do I run a saved query on demand?

POST /queries/{queryId}:run starts a new report run for an existing query and returns immediately. Poll GET /queries/{queryId}/reports until the latest entry has metadata.status == DONE, then read its googleCloudStoragePath.

### Can I limit what my agent is allowed to do with the DoubleClick Bid Manager API?

Yes. Jentic One runs self-hosted, so you set the rules that decide which DoubleClick Bid Manager operations and credentials your agent may use. Because the API carries the query id in the URL path (/queries/{queryId}/...), you can pin the agent to a single query so it only runs that query and reads its report files. You pick the exact operations it may call, so a destructive one like DELETE /queries/{queryId} stays off unless you explicitly grant it.
