canonical: https://jentic.com/apis/doubleverify.com/doubleverify

# DoubleVerify API

Jentic publishes the only available OpenAPI specification for DoubleVerify API, keeping it validated and agent-ready. DoubleVerify provides digital advertising verification - measuring viewability, brand safety, fraud, and audience accuracy across digital campaigns. The API exposes campaign listing and metrics, advertiser metadata, and a reporting subsystem that can create, list, and download verification reports. Authentication uses an Authorization header API key, suitable for scheduled reporting jobs and automated campaign monitoring.

## For AI agents

Pull DoubleVerify campaign metrics, advertiser metadata, and verification reports so an agent can monitor brand safety and viewability for digital advertising.

## Scope

Does not handle ad serving, bid management, or creative production - use for ad verification metrics and reports only.

## Capabilities

- List campaigns visible to the authenticated DoubleVerify account
- Retrieve viewability and brand safety metrics for a specific campaign
- Create a verification report job and poll for completion
- Download a generated verification report file once it is ready
- List advertisers and pull individual advertiser metadata
- Drive scheduled brand-safety dashboards from DoubleVerify campaign metrics

## Use cases

### Daily Brand Safety Monitoring

Pull campaign-level brand safety and viewability metrics from DoubleVerify each morning to flag any campaign with degraded scores. The agent lists campaigns via GET /campaigns, then iterates GET `/campaigns/{campaignId}/metrics` to compare against thresholds. Issues are escalated to the trading team before the day's spend ramps up.

Example prompt: List campaigns via GET /campaigns, fetch metrics for each via GET `/campaigns/{campaignId}/metrics`, and report any campaign with viewability below 60%.

### Scheduled Verification Reporting

Create scheduled DoubleVerify reports, wait for them to render, and download the file to a shared analytics warehouse. The agent calls POST /reports to start the job, polls GET `/reports/{reportId}` until status is ready, then downloads via GET `/reports/{reportId}/download.` This automates a workflow that brand safety teams typically run by hand each week.

Example prompt: Create a weekly verification report via POST /reports, poll GET `/reports/{reportId}` until ready, and download the file via GET `/reports/{reportId}/download` into S3.

### Advertiser Onboarding Audit

When onboarding a new advertiser, list current advertisers via GET /advertisers and pull each via GET `/advertisers/{advertiserId}` to confirm metadata and access scope. This sanity check catches missing or duplicated advertiser records before campaigns are mapped, avoiding measurement gaps later in the quarter.

Example prompt: List advertisers via GET /advertisers and fetch GET `/advertisers/{advertiserId}` for any new entry to confirm the metadata is complete.

### AI Agent Verification Insights

Through Jentic, an AI agent can take 'how did our display campaigns perform on viewability last week' and resolve it to the DoubleVerify campaigns and metrics endpoints without browsing docs. Jentic injects the API key from the vault and validates the campaign id parameter. End-to-end setup is under an hour from sign-up.

Example prompt: Use Jentic search for 'get DoubleVerify campaign metrics', load the `/campaigns/{campaignId}/metrics` operation, and execute it for campaign id 'CMP-1024'.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/campaigns` | List campaigns |
| GET | `/campaigns/{campaignId}/metrics` | Get campaign metrics |
| POST | `/reports` | Create a verification report |
| GET | `/reports/{reportId}` | Get report status |
| GET | `/reports/{reportId}/download` | Download a report |
| GET | `/advertisers` | List advertisers |
| GET | `/advertisers/{advertiserId}` | Get advertiser metadata |

## Key resources

- **Campaigns** — List campaigns and pull viewability and brand safety metrics.
- **Reports** — Create, list, and download verification reports.
- **Advertisers** — List advertisers and pull individual advertiser metadata.

## Why Jentic

- **Setup:** Wiring the DoubleVerify API by hand means placing your key on the Authorization header and threading campaign, advertiser, and report ids through its routes before you can pull verification metrics. Through Jentic you install once, import the DoubleVerify API from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** DoubleVerify puts the campaign and advertiser ids in the URL path (`/campaigns/{campaignId}/metrics`, `/advertisers/{advertiserId}`), so a rule can pin your agent to one campaign or advertiser: it reads that entity's metrics and nothing else. You choose the operations it may call, so report creation is not included unless you add it.
- **Credential handling:** Your DoubleVerify API key is stored once, encrypted, by your own Jentic One instance and injected at execution time on the Authorization header. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get DoubleVerify campaign metrics', and Jentic returns the matching campaigns or reports operation with its input schema so the agent calls the right endpoint without reading the docs.

## Related APIs

- **Google Drive API** — Drop downloaded DoubleVerify report files into Drive for sharing across the trading team.
- **Facebook Graph API** — Facebook Graph runs the campaign delivery; DoubleVerify measures viewability and brand safety on the same inventory.
- **Monday.com API** — Push DoubleVerify alerts as items into a Monday board so the brand-safety team has a single inbox.

## FAQ

### Why is there no official OpenAPI spec for DoubleVerify API?

DoubleVerify does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call DoubleVerify API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the DoubleVerify API use?

DoubleVerify uses an API key passed in the Authorization request header. Through Jentic, that key is stored encrypted in the vault and injected at execution time, so it never appears in the agent's context.

### Can I pull campaign-level brand safety metrics?

Yes. GET `/campaigns/{campaignId}/metrics` returns viewability and brand safety figures for the specified campaign. Use GET /campaigns first to discover campaign ids visible to the authenticated account.

### How do I generate a verification report through Jentic?

Run pip install jentic, search for 'create a DoubleVerify report', load the POST /reports operation, and execute it with the report parameters. Then poll GET `/reports/{reportId}` until status is ready and download via GET `/reports/{reportId}/download.`

### Can I list advertisers programmatically?

Yes. GET /advertisers returns the advertisers visible to the authenticated account, and GET `/advertisers/{advertiserId}` returns metadata for a specific advertiser.

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

The published spec does not declare explicit per-endpoint limits. Build retry-with-backoff into reporting jobs and treat 429 responses as the signal to slow down. Confirm production thresholds with DoubleVerify directly.

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

Yes. Jentic One is self-hosted, so your own rules decide which DoubleVerify operations and credentials the agent may use. Because campaign and advertiser ids sit in the URL path, such as GET `/campaigns/{campaignId}/metrics` and GET `/advertisers/{advertiserId}`, you can pin the agent to a single campaign or advertiser and let it read only that entity's metrics. You also choose the exact operations it may call, so report creation via POST /reports stays off unless you add it.
