Paid ads Created paused

ChatGPT Ads API Reach people while they are deciding

Connect your OpenAI Ads account once and run campaigns inside ChatGPT with the same API key you publish with. Ad spend stays on your own OpenAI billing.

POST /ads/chatgpt/promote
curl -X POST https://api.upload-post.com/api/uploadposts/ads/chatgpt/promote \
  -H 'Authorization: Apikey your-api-key-here' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Try the workspace planner",
    "body": "Coordinate tasks, docs and meetings in one place.",
    "target_url": "https://acme.example/planner",
    "image_url": "https://acme.example/card.png",
    "budget": 25,
    "max_bid": 0.06
  }'

From zero to a running ad

The slow part is OpenAI approving your advertiser account. Everything after that is one API call.

Step 1

Create your OpenAI Ads account

Sign up at ads.openai.com, enter your business details, pass identity verification and wait for OpenAI to approve the account. Then issue an API key in Settings → API keys.

Step 2

Connect it to Upload-Post

Paste the key once in your dashboard. We validate it against OpenAI, store it encrypted and never show it again. Each key covers one ad account; connect as many as you manage.

Step 3

Launch and measure

One call builds the campaign, ad group and ad. Everything is created paused, so you activate when you are ready — then read impressions, clicks and spend from the same API.

What you can do through the API

The full advertiser surface, wrapped in the same authentication and error handling as the rest of Upload-Post.

Campaigns, ad groups & ads

Full CRUD over the whole hierarchy: budgets, schedules, location and audience targeting, bids, creatives — plus activate, pause and archive on each object.

One-call launch

The promote endpoint uploads the creative and builds campaign, ad group and ad in a single request. Useful for turning a post you just published into an ad.

Creative upload

Send an image URL or a file and get back a reusable creative id for your chat-card ads.

Performance insights

Impressions, clicks, spend, CTR, CPC and CPM at ad account, campaign, ad group or ad level, by day, month or a single bucket.

Previews & review status

Generate a live preview of an ad, and track whether OpenAI has approved it before it serves.

Multiple ad accounts

Agencies can connect several ad accounts under one Upload-Post account and pick the target per request.

How a ChatGPT ad is put together

Three objects, each owning one decision. All of them have to be active — and the ad approved — before anything serves.

Campaign

Lifetime budget, start and end dates, and where the ads may appear: countries, regions or DMAs, plus custom audiences.

Ad group

The bid — a maximum per impression or per click — and free-form context hints about when your product is actually useful.

Ad

The chat card people see: a headline up to 50 characters, body copy up to 100, an image and the destination URL.

Amounts follow your ad account currency. Full field reference in the ChatGPT Ads documentation.

Frequently asked questions

ChatGPT Ads through an API, answered.

What is the ChatGPT Ads API?

It is OpenAI’s Advertiser API (api.ads.openai.com), which lets you create and manage the ads that appear inside ChatGPT. Upload-Post relays those calls so you can drive them with the same API key you already use for publishing.

Do I need my own OpenAI Ads account?

Yes. Ads run against your own advertiser account and your own OpenAI billing. You create it at ads.openai.com, which involves business details, identity verification and an approval step by OpenAI, and then issue an API key in Settings. Upload-Post never resells or marks up ad spend.

Does Upload-Post charge for ad spend?

No. Every euro or dollar you spend is billed by OpenAI to the payment method on your advertiser account. Upload-Post only relays the API calls.

Will my ad start spending as soon as I create it?

No. Every create call defaults to paused, and the one-call launch builds the whole funnel paused before activating anything. An ad also only serves once OpenAI has reviewed and approved it, which you can track through its review status.

How is a ChatGPT ad structured?

A campaign holds the budget, schedule and targeting; an ad group holds the bid; and an ad holds the creative — headline, body copy, image and destination URL. All three have to be active, and the ad approved, before it can serve.

Can I promote a post I already published?

Yes. Take the image and the permalink of a post you published through Upload-Post and pass them as the creative image and destination URL. One call turns it into a live ad campaign.

Is this the same as posting to ChatGPT?

No. ChatGPT is not a social network you publish to — this is paid advertising inside ChatGPT conversations. For organic publishing, Upload-Post supports 22 platforms including TikTok, Instagram, YouTube and LinkedIn.

Which countries can advertise in ChatGPT?

Availability is set by OpenAI and is expanding during the beta. Check the Ads Manager availability page in OpenAI’s help center before planning a campaign; the country, currency and time zone of an advertiser account cannot be changed after it is created.

Looking to publish organically instead? See the social media API or posting to social media with ChatGPT.

Publish and advertise from one API

Free to start, no credit card. Connect your accounts once — organic posts and ChatGPT Ads, same key.