---
title: "Integrations - OpenAI Ads"
url: "https://docs.unified.to/integrations/openaiads"
description: "Build OpenAI Ads integrations faster with our Unified API — Advertising data, API key, real-time sync."
date: "2026-10-01T23:34:56.864Z"
updated: "2026-11-13T02:07:04.157Z"
---

# OpenAI Ads integration

> What this integration supports through the Unified.to API, by object. Live data: `GET https://api.unified.to/unified/integration?type=openaiads` with your workspace API key (or Core MCP `list_unified_integrations` with `type: "openaiads"`). All integrations: https://docs.unified.to/integrations.md

## Overview

- **Type:** `openaiads`
- **Categories:** [Advertising](https://docs.unified.to/ads/overview.md), [Passthrough](https://docs.unified.to/passthrough/overview.md)
- **Website:** https://chatgpt.com
- **Vendor API docs:** https://developers.openai.com/ads/api-quickstart
- **Launched:** 2026-05-15

## How end users connect

- **API key** entered by the end user: `Ads API key`
    - Create an API key in the Settings tab of your OpenAI Ads Manager account (see Authentication in the Ads API docs).
    - Use the Ads API host https://api.ads.openai.com — this is separate from api.openai.com platform keys.

## Supported objects

| Object | Methods | Webhooks |
| --- | --- | --- |
| [ads_ad](#ads_ad) | list, get, create, update, remove | none |
| [ads_campaign](#ads_campaign) | list, get, create, update, remove | none |
| [ads_creative](#ads_creative) | create | none |
| [ads_group](#ads_group) | list, get, create, update, remove | none |
| [ads_organization](#ads_organization) | list, get | none |
| [ads_report](#ads_report) | list | none |
| [ads_target](#ads_target) | list, get | none |
| [passthrough](#passthrough) | none | none |

Values below come from the integration's support data. "Required list filters" must be sent on list calls; "Required on create" fields must be sent when creating. Webhook events are `native` (pushed by the vendor) or `virtual` (polled by Unified.to). Anything not listed is not supported; an unsupported method returns `501`.

### ads_ad

- **Methods:** `list`, `get`, `create`, `update`, `remove`
- **Webhooks:** none
- **List filters:** `list_group_id`, `list_limit`, `list_offset`, `list_query`
- **Readable fields:** `ad_type`, `created_at`, `creative_asset_url`, `creative_ids`, `description`, `final_url`, `group_id`, `headline`, `id`, `name`, `status`, `updated_at`
- **Writable fields:** none
- **Required on create:** `creative_ids`, `description`, `final_url`, `group_id`, `headline`, `name`, `status`
- **Vendor objects:** `ad`
- **Model:** https://docs.unified.to/ads/ad/model.md

### ads_campaign

- **Methods:** `list`, `get`, `create`, `update`, `remove`
- **Webhooks:** none
- **List filters:** `list_limit`, `list_offset`, `list_query`
- **Readable fields:** `budget_amount`, `budget_period`, `created_at`, `end_at`, `goal`, `id`, `name`, `start_at`, `status`, `targeting`, `updated_at`
- **Writable fields:** `end_at`, `goal`, `start_at`, `targeting`
- **Required on create:** `budget_amount`, `budget_period`, `name`, `status`
- **Vendor objects:** `campaign`
- **Model:** https://docs.unified.to/ads/campaign/model.md

### ads_creative

- **Methods:** `create`
- **Webhooks:** none
- **Readable fields:** `asset_urls`, `creative_type`, `id`
- **Writable fields:** none
- **Required on create:** `asset_urls`
- **Vendor objects:** `file`
- **Model:** https://docs.unified.to/ads/creative/model.md

### ads_group

- **Methods:** `list`, `get`, `create`, `update`, `remove`
- **Webhooks:** none
- **List filters:** `list_campaign_id`, `list_limit`, `list_offset`, `list_query`
- **Readable fields:** `bid_amount`, `bid_strategy`, `billing_event`, `campaign_id`, `created_at`, `id`, `name`, `optimization_goal`, `status`, `updated_at`
- **Writable fields:** `bid_amount`, `bid_strategy`, `billing_event`, `optimization_goal`
- **Required on create:** `campaign_id`, `name`, `status`
- **Vendor objects:** `ad_group`
- **Model:** https://docs.unified.to/ads/group/model.md

### ads_organization

- **Methods:** `list`, `get`
- **Webhooks:** none
- **List filters:** none
- **Readable fields:** `currency`, `id`, `name`, `status`, `timezone`
- **Writable fields:** none
- **Vendor objects:** `ad_account`
- **Model:** https://docs.unified.to/ads/organization/model.md

### ads_report

- **Methods:** `list`
- **Webhooks:** none
- **List filters:** `list_ad_id`, `list_campaign_id`, `list_end_lt`, `list_group_id`, `list_limit`, `list_start_gte`
- **Readable fields:** `end_at`, `id`, `metrics`, `start_at`
- **Writable fields:** none
- **Vendor objects:** `insights`, `conversions_insights`
- **Model:** https://docs.unified.to/ads/report/model.md

### ads_target

- **Methods:** `list`, `get`
- **Webhooks:** none
- **List filters:** `list_limit`, `list_offset`, `list_query`, `list_type`
- **Readable fields:** `audience_count_max`, `audience_count_min`, `id`, `is_active`, `name`, `type`
- **Writable fields:** none
- **Vendor objects:** `target`, `custom_audience`, `geo_location`
- **Model:** https://docs.unified.to/ads/target/model.md

### passthrough

- **Methods:** none
- **Webhooks:** none
- **Readable fields:** none
- **Writable fields:** none
