Dry-run-first client for mock or live read-only OpenAI Ads account, campaign, ad, and insights retrieval plus non-persisting Conversions API validation.
First run:python3 scripts/openai_ads_client.py --mode mock account
Setup required
For live reads, create an account-scoped Ads API key in OpenAI Ads Manager.
Keep API keys in environment variables outside agent context.
Current limits
Campaign, ad-group, ad, file, and feed mutations are intentionally excluded.
Remote conversion requests validate events without saving them.
Automatic pagination, retries, and rate-limit backoff are not included in this first client.
Classification: declared
Operational Summary
Connected system: OpenAI Advertiser API and Ads Conversions API
Access level: read-only
Trust boundary: third-party-hosted
Approval boundary: Advertiser operations are GET-only; Conversions API requests always force validate_only true and cannot persist events.
Status
Readiness: Experimental
Security reviewed: no
Lifecycle: Active
Runtime & Dependencies
ID: adtech/openai-ads-api-client
Runtimes: codex, claude, generic
Auth required: OPENAI_ADS_API_KEY for live Advertiser API reads, OPENAI_ADS_PIXEL_ID and OPENAI_ADS_CONVERSIONS_API_KEY for remote conversion validation
Dependencies & Setup
MCP servers: Not documented
APIs: OpenAI Advertiser API, OpenAI Ads Conversions API
Local tools: python3
Capabilities
Read ad-account metadata.
List campaigns and ads.
Retrieve account, campaign, ad-group, or ad insights.
Validate conversion event batches locally or through validate-only server mode.