The Advertiser API lets you manage ad campaigns, ad groups, ads, files, and reporting from one API. It supports CRUD-like functions with standard JSON content types.
Authentication
Issue an API key in the Settings tab of Ads Manager. Each key is scoped to one ad account.
Pass the key as a bearer token on every request:
Authorization: Bearer $OPENAI_ADS_API_KEY
The Ads API works in the context of one ad account. API partners should use the key associated with the client account they are configuring. See API partner setup. To request partner access, contact us.
Endpoints
| Resource | Use for |
|---|---|
| Campaigns | Create, list, retrieve, update, and change campaign state. |
| Ad Groups | Create, list, retrieve, update, and change ad group state. |
| Ads | Create, list, retrieve, update, and change ad state. |
| Bulk API | Create or update campaigns, ad groups, and ads in an asynchronous job. |
| Product feeds | Use a merchant catalog to create product-feed campaigns. |
| Files | Upload creative assets for use in ads. |
| Insights | Retrieve performance data across ad account, campaign, ad group, and ad scopes. |
| Conversions | Create pixels, server-side keys, and conversion event settings when enabled. |
Every resource belongs to the ad account associated with the API key. Programmatic brand updates and conversion management require account enablement. Contact your OpenAI partner representative if these operations are not available for the account.
Use the Quickstart for a minimal end-to-end workflow, or go directly to the API reference. API partners can start with API partner setup. To advertise from a merchant catalog, follow the product feeds guide.
Object Statuses
For an ad to show to users, the ad, and its parent ad group and campaign all have to be enabled. Further, the Ad has to be reviewed. Reviews typically only take a few minutes, you can monitor with the review_status field.
Rate limits
The Advertiser API enforces limits by both ad account and IP address:
| Scope | Limit |
|---|---|
| Per endpoint | 600 requests per minute |
| Overall | 1,200 requests per minute |
Requests must stay within both the ad-account and IP-address limits.
Bulk job creation has a separate limit of 10 requests per 10 seconds for each ad account. See Bulk API limits.
OpenAPI spec
Download the OpenAPI specChangelog
July 16th, 2026
- Added support for passing the Pixel browser reference as
events[].user.obrefin Conversions API requests.
June 16th, 2026
- Added conversion-optimized campaign bidding with
bidding_type: "conversions"and one standard conversion event setting.
June 11th, 2026
- Added segmented insights for product, country, and device breakdowns, plus zero-impression product expansion.
June 3rd, 2026
- Added location targeting support, including
/geo_lookup/searchand campaigntargeting.locations.includefor country, region, and DMA location IDs. - Added conversion setup and reporting endpoints for API keys, pixels, event settings, and conversion insights.
v1
- Published the initial API version.