chatgpt-ads.
Connect
Node
ancha connect chatgpt-ads --lang ts prints. Creates accept an idempotency-key header.
Endpoints
All endpoints are partial. Unsupported methods, routes and fields return HTTP 501 withx-ancha-gap: 1.
Ad account
Campaigns
Ad groups
Ads
Insights
Behavior
- Lists are scoped to the account, with an exact name filter and forward and backward ID cursors.
- Updates replace budgets; archiving is permanent and archived objects cannot change.
- Review. New ads are reviewed by a local rule and approved 60 simulated seconds after creation.
- Insights are historical hourly delivery, grouped by none or by day in the account’s time zone.
- Rate limits. 600 requests a minute per endpoint and 1,200 per account, in simulated time.
Starter data
Thechatgpt-ads-starter dataset is the ad account Acme (adacct_acme, USD, America/Los_Angeles).
Hourly insights exist for “Pipeline clarity”, for example 1,200 impressions and 36 clicks in one hour. A second account, Helix Manufacturing (
adacct_helix), with a paused campaign, exists to test that the key stays inside its own account.
Checks
ChatGPT Ads has no state checks. Use trace checks, for example{ called: "POST /v1/campaigns/cmpn_acme_pilot/pause" }.
Limits
- Single-image chat cards only; no file uploads.
- No auction, spend, destination crawling or conversion attribution.