Platform features

Ads: Meta, Google, LinkedIn, TikTok, X and ChatGPT

The Ads add-on puts paid advertising next to your socials: connect Meta (Facebook and Instagram), Google, TikTok, X and ChatGPT (OpenAI) ad accounts, launch ads or boost posts you already published, pause and re-budget them, build audiences, and read spend and results, all with the same API key and MCP connector you use for posting. There are 38 endpoints; this page explains how they fit together.

1. Turn on the add-on

The add-on is $19.99/month on any Creator OS plan (creator, agency or YouTube), bought on the Ads page of the web app. It covers every workspace on the account. Until it's on, every /v1/ads call returns 402 ads_addon_required. Check it from code with GET /v1/me: plan.addons contains "ads". If it lapses, the ad connections are disconnected; the ads themselves keep living in the networks' own dashboards.

2. Connect the networks

Connections belong to a workspace, like social accounts, so an agency can connect each client's own ad accounts to that client's workspace. Send the user to the returned auth_url with a return_to of your own; they land back there when done.

Meta (Facebook and Instagram)

GET /v1/connect/meta/ads. Runs through the Facebook Page already connected to the workspace (connect one on the Connect page first). If that connection already has ads access, there is no sign-in at all and already_connected is true; otherwise the user approves ads access on Facebook. Instagram accounts connected with Instagram Login can’t run ads.

Google

GET /v1/connect/google/ads. Its own Google sign-in. Every ad account the user can reach is found, including client accounts under a manager (MCC) account.

TikTok

GET /v1/connect/tiktok/ads. Its own TikTok for Business sign-in. Linked to the TikTok account connected to the workspace when there is one (pass account_id when there are several), which unlocks Spark Ads: boosting your organic TikToks under your real @username. Without it, ads run under a brand identity.

X

GET /v1/connect/x/ads. Hangs off the X account connected to the workspace (pass account_id when there are several). The user approves ads access on X.

ChatGPT (OpenAI)

POST /v1/connect/openai/ads with { "api_key": "..." } from ChatGPT Ads Manager. No sign-in page. One key = one ad account. US-based businesses only; ads show to ChatGPT Free and Go users in the US, Canada, Australia and New Zealand.

3. How the pieces fit together

Networks organize ads in levels. Creator OS uses one vocabulary for all four, and keeps each network's own ids for campaigns, ad sets and ad accounts so they match what you see in Meta Ads Manager, Google Ads, X Ads and ChatGPT Ads Manager.

Ad connection (acc_)

One network login in the workspace, from GET /v1/ads/connections. Passed as accountId on almost every call.

Ad account (adAccountId)

Where the money comes from: act_123 on Meta, a customer id on Google, the account id on X and OpenAI. From GET /v1/ads/accounts.

Campaign (platformCampaignId)

The network’s own campaign id. Campaign ids are only unique per network, so calls that take one also take platform.

Ad set (platformAdSetId)

Meta ad set, Google ad group, X line item, OpenAI ad group.

Ad (ad_)

One ad. The level you create, boost, pause and measure most often.

Audience (aud_)

A customer list, website or lookalike audience you can target.

4. First calls

Find your ad connection and the ad account to use:

$ curl https://creatoros-production-5658.up.railway.app/v1/ads/connections -H "Authorization: Bearer $CREATOROS_API_KEY"Copy
$ curl "https://creatoros-production-5658.up.railway.app/v1/ads/accounts?accountId=<acc_...>" -H "Authorization: Bearer $CREATOROS_API_KEY"Copy

Create a Meta traffic ad, paused for review:

$ curl -X POST https://creatoros-production-5658.up.railway.app/v1/ads/create -H "Authorization: Bearer $CREATOROS_API_KEY" -H "Content-Type: application/json" -H "Idempotency-Key: spring-launch-1" -d '{"accountId":"<acc_...>","adAccountId":"act_1234567890","name":"Spring launch","goal":"traffic","budgetAmount":20,"budgetType":"daily","headline":"Run your socials with AI","body":"Post everywhere from one place.","linkUrl":"https://example.com","imageUrl":"https://example.com/ad.jpg","callToAction":"LEARN_MORE","countries":["US"],"status":"PAUSED"}'Copy

Switch it on once it looks right, then check results:

$ curl -X PUT https://creatoros-production-5658.up.railway.app/v1/ads/<ad_...>/status -H "Authorization: Bearer $CREATOROS_API_KEY" -H "Content-Type: application/json" -d '{"status":"active"}'Copy
$ curl "https://creatoros-production-5658.up.railway.app/v1/ads/tree?fromDate=2026-09-01" -H "Authorization: Bearer $CREATOROS_API_KEY"Copy

5. What each network supports

MetaGoogleTikTokXChatGPT
Create an ad✓✓ (search, display, Performance Max, Demand Gen)✓ (video)✓ (text post)✓ (image card)
Boost a published post✓✓✓ (Spark Ads)✓–
Pause, resume, budgets✓✓✓✓✓
Edit creative or targeting after launch✓✓✓––
Audiences✓ (customer list, website, lookalike)✓ (customer list)✓ (customer list)✓ (customer list)–
TargetingCountries, regions, cities, age, gender, interests, behaviorsKeywords, locations, languages, devicesCountries, regions, cities, age, gender, interests, behaviorsCountries, languages, zip codesCountries only
Conversions API✓✓✓ (offline events)–✓
Live insights query✓✓ (GAQL)✓––
Metrics refreshSynced through the dayNew campaigns can take up to about 3 hours to appearSynced through the daySynced through the dayOnce a day (impressions, clicks, spend only)

Required fields differ by network when creating: Meta needs headline, body, linkUrl, imageUrl and callToAction; Google search takes campaignType and keywords (headlines up to 30 characters, descriptions up to 90; display also needs a landscape and a square image and a businessName); X turns body (280 characters, a link counts as about 24) into a promoted text post; TikTok makes a video ad (the video URL goes in imageUrl, minimum budget $20); ChatGPT needs headline (3 to 50 characters), body (up to 100), a static imageUrl and linkUrl. Goals: Meta has the full set; Google takes engagement, traffic and awareness; X engagement, traffic, awareness, video views and app promotion; ChatGPT traffic, awareness and conversions.

6. Every endpoint

Click any endpoint for its parameters, an example response and ready-to-copy cURL, JavaScript and Python in the Ads API reference.

Launch

Create an ad (campaign, ad set and ad in one call), boost a published post, or create a campaign on its own.

Conversions

Send purchases and leads server-side so the networks can optimize.

Starting with Meta? Meta ads: every endpoint explains each Meta capability in plain English.

Every ads endpoint (237)

Beyond the endpoints documented above, Creator OS passes every other ads endpoint straight through, with the same API key, Ads add-on check, ids and error format: lead forms and leads, pixels and tracking tags, creatives, image and video libraries, catalogs, messaging and call ads, duplication, previews, async insights reports, ad comments and Google's keyword planner. Call them at the paths below on the Creator OS base URL. From an AI app, use the ads_read and ads_request MCP tools; from the CLI, creatoros ads:call. Upload images and videos as multipart form data; they stream through untouched.

Ads13
GET/v1/ads
GET/v1/ads/{adId}
PUT/v1/ads/{adId}
DELETE/v1/ads/{adId}
GET/v1/ads/{adId}/analytics
GET/v1/ads/{adId}/comments
DELETE/v1/ads/{adId}/comments/{commentId}
POST/v1/ads/{adId}/comments/{commentId}/hide
POST/v1/ads/{adId}/comments/{commentId}/reply
POST/v1/ads/{adId}/duplicate
GET/v1/ads/{adId}/media
GET/v1/ads/{adId}/preview
PUT/v1/ads/{adId}/status
Ad accounts28
GET/v1/ads/accounts
POST/v1/ads/accounts
PATCH/v1/ads/accounts
GET/v1/ads/accounts/callouts
POST/v1/ads/accounts/callouts
PUT/v1/ads/accounts/callouts
DELETE/v1/ads/accounts/callouts
GET/v1/ads/accounts/finance
GET/v1/ads/accounts/hierarchy
POST/v1/ads/accounts/manager-links
PATCH/v1/ads/accounts/manager-links
GET/v1/ads/accounts/negative-keyword-lists
POST/v1/ads/accounts/negative-keyword-lists
GET/v1/ads/accounts/negative-keyword-lists/{listId}
PUT/v1/ads/accounts/negative-keyword-lists/{listId}
DELETE/v1/ads/accounts/negative-keyword-lists/{listId}
PUT/v1/ads/accounts/negative-keyword-lists/{listId}/keywords
GET/v1/ads/accounts/sitelinks
POST/v1/ads/accounts/sitelinks
PUT/v1/ads/accounts/sitelinks
DELETE/v1/ads/accounts/sitelinks
GET/v1/ads/accounts/structured-snippets
POST/v1/ads/accounts/structured-snippets
PUT/v1/ads/accounts/structured-snippets
DELETE/v1/ads/accounts/structured-snippets
GET/v1/ads/accounts/users
POST/v1/ads/accounts/users
DELETE/v1/ads/accounts/users
Campaigns31
GET/v1/ads/campaigns
POST/v1/ads/campaigns
POST/v1/ads/campaigns/bulk-status
GET/v1/ads/campaigns/{campaignId}
PUT/v1/ads/campaigns/{campaignId}
DELETE/v1/ads/campaigns/{campaignId}
GET/v1/ads/campaigns/{campaignId}/ad-schedule
PUT/v1/ads/campaigns/{campaignId}/ad-schedule
GET/v1/ads/campaigns/{campaignId}/analytics
GET/v1/ads/campaigns/{campaignId}/asset-groups
POST/v1/ads/campaigns/{campaignId}/asset-groups
GET/v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId}
PATCH/v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId}
DELETE/v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId}
POST/v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId}/assets
PUT/v1/ads/campaigns/{campaignId}/asset-groups/{assetGroupId}/listing-group-filters
GET/v1/ads/campaigns/{campaignId}/assets
POST/v1/ads/campaigns/{campaignId}/assets
PUT/v1/ads/campaigns/{campaignId}/assets
DELETE/v1/ads/campaigns/{campaignId}/assets
GET/v1/ads/campaigns/{campaignId}/bidding
GET/v1/ads/campaigns/{campaignId}/conversion-goals
PATCH/v1/ads/campaigns/{campaignId}/conversion-goals
POST/v1/ads/campaigns/{campaignId}/duplicate
GET/v1/ads/campaigns/{campaignId}/negative-keyword-lists
PUT/v1/ads/campaigns/{campaignId}/negative-keyword-lists
GET/v1/ads/campaigns/{campaignId}/negative-keywords
PUT/v1/ads/campaigns/{campaignId}/negative-keywords
PUT/v1/ads/campaigns/{campaignId}/status
GET/v1/ads/campaigns/{campaignId}/targeting
PUT/v1/ads/campaigns/{campaignId}/targeting
Ad sets11
GET/v1/ads/ad-sets
POST/v1/ads/ad-sets
GET/v1/ads/ad-sets/{adSetId}
PUT/v1/ads/ad-sets/{adSetId}
DELETE/v1/ads/ad-sets/{adSetId}
GET/v1/ads/ad-sets/{adSetId}/assets
POST/v1/ads/ad-sets/{adSetId}/assets
PUT/v1/ads/ad-sets/{adSetId}/assets
DELETE/v1/ads/ad-sets/{adSetId}/assets
POST/v1/ads/ad-sets/{adSetId}/duplicate
PUT/v1/ads/ad-sets/{adSetId}/status
Creatives5
GET/v1/ads/creatives
POST/v1/ads/creatives
GET/v1/ads/creatives/{creativeId}
PUT/v1/ads/creatives/{creativeId}
DELETE/v1/ads/creatives/{creativeId}
Images2
GET/v1/ads/images
POST/v1/ads/images
Videos3
GET/v1/ads/videos
POST/v1/ads/videos
DELETE/v1/ads/videos/{videoId}
Audiences7
GET/v1/ads/audiences
POST/v1/ads/audiences
GET/v1/ads/audiences/{audienceId}
PUT/v1/ads/audiences/{audienceId}
DELETE/v1/ads/audiences/{audienceId}
POST/v1/ads/audiences/{audienceId}/companies
POST/v1/ads/audiences/{audienceId}/users
Targeting4
POST/v1/ads/targeting/bid-pricing
POST/v1/ads/targeting/reach-estimate
GET/v1/ads/targeting/search
POST/v1/ads/targeting/supply-forecast
Insights3
GET/v1/ads/insights
POST/v1/ads/insights/reports
GET/v1/ads/insights/reports/{reportRunId}
Lead forms8
GET/v1/ads/lead-forms
POST/v1/ads/lead-forms
GET/v1/ads/lead-forms/{formId}
DELETE/v1/ads/lead-forms/{formId}
GET/v1/ads/lead-forms/{formId}/leads
POST/v1/ads/lead-forms/{formId}/test-leads
DELETE/v1/ads/lead-forms/{formId}/test-leads
GET/v1/ads/leads
Conversions12
POST/v1/ads/conversions
GET/v1/ads/conversions/actions
POST/v1/ads/conversions/actions
PATCH/v1/ads/conversions/actions/{actionId}
POST/v1/ads/conversions/adjustments
GET/v1/ads/conversions/custom-goals
POST/v1/ads/conversions/custom-goals
PATCH/v1/ads/conversions/custom-goals/{goalId}
DELETE/v1/ads/conversions/custom-goals/{goalId}
GET/v1/ads/conversions/goals
PATCH/v1/ads/conversions/goals
GET/v1/ads/conversions/quality
Conversion destinations9
GET/v1/accounts/{accountId}/conversion-destinations
POST/v1/accounts/{accountId}/conversion-destinations
GET/v1/accounts/{accountId}/conversion-destinations/{destinationId}
PATCH/v1/accounts/{accountId}/conversion-destinations/{destinationId}
DELETE/v1/accounts/{accountId}/conversion-destinations/{destinationId}
GET/v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations
POST/v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations
DELETE/v1/accounts/{accountId}/conversion-destinations/{destinationId}/associations
GET/v1/accounts/{accountId}/conversion-destinations/{destinationId}/metrics
Pixels and tracking tags22
GET/v1/accounts/{accountId}/tracking-tags
POST/v1/accounts/{accountId}/tracking-tags
GET/v1/accounts/{accountId}/tracking-tags/{tagId}
PATCH/v1/accounts/{accountId}/tracking-tags/{tagId}
GET/v1/accounts/{accountId}/tracking-tags/{tagId}/diagnostics
GET/v1/accounts/{accountId}/tracking-tags/{tagId}/events
POST/v1/accounts/{accountId}/tracking-tags/{tagId}/events
PATCH/v1/accounts/{accountId}/tracking-tags/{tagId}/events/{eventId}
DELETE/v1/accounts/{accountId}/tracking-tags/{tagId}/events/{eventId}
GET/v1/accounts/{accountId}/tracking-tags/{tagId}/install
POST/v1/accounts/{accountId}/tracking-tags/{tagId}/install
DELETE/v1/accounts/{accountId}/tracking-tags/{tagId}/install
GET/v1/accounts/{accountId}/tracking-tags/{tagId}/partners
GET/v1/accounts/{accountId}/tracking-tags/{tagId}/shared-accounts
POST/v1/accounts/{accountId}/tracking-tags/{tagId}/shared-accounts
DELETE/v1/accounts/{accountId}/tracking-tags/{tagId}/shared-accounts
GET/v1/accounts/{accountId}/tracking-tags/{tagId}/stats
GET/v1/accounts/{accountId}/tracking-tags/{tagId}/users
POST/v1/accounts/{accountId}/tracking-tags/{tagId}/users
DELETE/v1/accounts/{accountId}/tracking-tags/{tagId}/users/{userId}
GET/v1/ads/{adId}/tracking-tags
PATCH/v1/ads/{adId}/tracking-tags
Catalogs19
GET/v1/ads/catalogs
POST/v1/ads/catalogs
GET/v1/ads/catalogs/{catalogId}
DELETE/v1/ads/catalogs/{catalogId}
GET/v1/ads/catalogs/{catalogId}/batches/{handle}
GET/v1/ads/catalogs/{catalogId}/feeds
POST/v1/ads/catalogs/{catalogId}/feeds
GET/v1/ads/catalogs/{catalogId}/feeds/{feedId}/uploads
POST/v1/ads/catalogs/{catalogId}/feeds/{feedId}/uploads
GET/v1/ads/catalogs/{catalogId}/product-sets
POST/v1/ads/catalogs/{catalogId}/product-sets
PUT/v1/ads/catalogs/{catalogId}/product-sets/{productSetId}
DELETE/v1/ads/catalogs/{catalogId}/product-sets/{productSetId}
GET/v1/ads/catalogs/{catalogId}/products
POST/v1/ads/catalogs/{catalogId}/products
POST/v1/ads/catalogs/{catalogId}/products/batch
GET/v1/ads/catalogs/{catalogId}/products/{productId}
PUT/v1/ads/catalogs/{catalogId}/products/{productId}
DELETE/v1/ads/catalogs/{catalogId}/products/{productId}
Reach and frequency (Meta)4
POST/v1/ads/rf-predictions
GET/v1/ads/rf-predictions/{predictionId}
DELETE/v1/ads/rf-predictions/{predictionId}
POST/v1/ads/rf-predictions/{predictionId}/reserve
Value rules (Meta)5
GET/v1/ads/value-rule-sets
POST/v1/ads/value-rule-sets
GET/v1/ads/value-rule-sets/{valueRuleSetId}
PUT/v1/ads/value-rule-sets/{valueRuleSetId}
DELETE/v1/ads/value-rule-sets/{valueRuleSetId}
Keywords (Google)7
GET/v1/ads/keywords
POST/v1/ads/keywords
POST/v1/ads/keywords/historical-metrics
POST/v1/ads/keywords/ideas
PATCH/v1/ads/keywords/{keywordId}
DELETE/v1/ads/keywords/{keywordId}
GET/v1/ads/search-terms
Labels (Google)6
GET/v1/ads/labels
POST/v1/ads/labels
PATCH/v1/ads/labels/{labelId}
DELETE/v1/ads/labels/{labelId}
POST/v1/ads/labels/{labelId}/assignments
DELETE/v1/ads/labels/{labelId}/assignments
Bid strategies (Google)3
GET/v1/ads/bid-strategies
POST/v1/ads/bid-strategies
PATCH/v1/ads/bid-strategies/{strategyId}
Recommendations (Google)3
GET/v1/ads/recommendations
POST/v1/ads/recommendations/apply
POST/v1/ads/recommendations/dismiss
Local services (Google)2
GET/v1/ads/local-services/leads
GET/v1/ads/local-services/leads/{leadId}/conversations
Other30
GET/v1/ads/activity
GET/v1/ads/advertisable-applications
POST/v1/ads/boost
GET/v1/ads/business-centers
GET/v1/ads/businesses
GET/v1/ads/businesses/users
POST/v1/ads/call
POST/v1/ads/create
GET/v1/ads/dsa-defaults
GET/v1/ads/dsa-recommendations
GET/v1/ads/high-demand-periods
POST/v1/ads/high-demand-periods
GET/v1/ads/instagram-accounts
GET/v1/ads/instagram-posts
GET/v1/ads/ios-fourteen-campaign-limits
GET/v1/ads/library
POST/v1/ads/messaging
GET/v1/ads/page-users
POST/v1/ads/page-users
DELETE/v1/ads/page-users
GET/v1/ads/partnership-content
GET/v1/ads/partnership-permissions
POST/v1/ads/partnership-permissions
GET/v1/ads/pixels
POST/v1/ads/preview
GET/v1/ads/studies
GET/v1/ads/tiktok-identities
GET/v1/ads/tiktok-smart-plus-materials
GET/v1/ads/timeline
GET/v1/ads/tree

7. Money, review and pacing

Money is real

Creates and boosts spend from the customer’s own ad account the moment they go live. Pass status: "PAUSED" to create an ad for review, then switch it on with PUT /v1/ads/{adId}/status.

Budgets

Whole units of the ad account’s currency: 20 is $20.00 on a USD account, never cents. There is no currency conversion across accounts.

Review

Every network reviews new ads. They start as pending_review and can come back rejected (see reviewStatus and rejectionReason).

Retries

Send an Idempotency-Key header on POST /v1/ads/create and /v1/ads/boost. A retried request with the same key returns the first result instead of creating a second ad.

Meta pacing

Meta allows about 30 creates per ad account per 5 minutes, one at a time; more returns 429. This protects the ad account from Meta’s multi-day security holds.

Google pacing

About 15 live Google calls a minute; quota errors return 429 with when to retry.

Who pays for what

Ad spend is billed by each network to the customer’s ad account. The Ads add-on ($19.99/month) covers Creator OS; there is no percentage of spend.

8. Errors

Same envelope as the rest of the API: { "error": { "code", "message", "status" } }. Ads-specific codes:

402 ads_addon_required

The workspace owner doesn’t have the Ads add-on. They can add it on the Ads page in Creator OS.

409 facebook_required

Meta ads need a Facebook Page connected to the workspace first.

409 x_required / 400 account_id_required

X ads need the X account connected first; with several, say which one with account_id.

400 invalid_credentials

OpenAI rejected the API key.

501 unsupported_platform_operation

That network can’t do it (for example, editing an X or OpenAI ad’s creative). Create a new ad instead.

429 rate_limited

The network is pacing requests. Wait and retry.

400 invalid_id

An ad_, aud_ or acc_ id was mistyped or belongs to another workspace.

9. CLI

@creatoros/cli 0.5.0 and later wraps every ads endpoint, and creatoros sync installs the ads agent skill, a playbook with the money rules built in (confirm spend, create paused).

creatoros ads:connections

Ad networks connected to this workspace; each id (acc_) is the --accountId for the rest

creatoros ads:connect meta|google|tiktok|x / ads:connect-openai --apiKey <key>

A sign-in link to connect an ad network / connect ChatGPT ads with an API key

creatoros ads:accounts <accountId>

Ad accounts a connection can spend from (adAccountId, currency, billing status)

creatoros ads:overview [--from <date>] [--platform <p>]

Every campaign with ad sets and ads, spend, clicks and CTR rolled up

creatoros ads:campaigns / ads:list [--mine] / ads:get <adId>

Campaigns / individual ads / one ad with creative and targeting

creatoros ads:analytics <adId> / ads:campaign-analytics <campaignId>

Spend, impressions, clicks, CPC, conversions and ROAS with a daily series

creatoros ads:create --accountId <acc_> --adAccountId <id> --name <n> --goal traffic --budget 20 --budgetType daily ... --paused

Launch a campaign + ad set + ad (spends real money unless --paused)

creatoros ads:best-posts --accountId <acc_> --adAccountId <act_...>

Posts a Meta ad account can boost, best performers first

creatoros ads:boost <postId> ... --validateOnly

Dry run for ads:create or ads:boost: every check, nothing created (run it before the real call)

creatoros ads:boost <postId> --accountId <acc_> --adAccountId <id> --budget 15 --budgetType daily [--countries US]

Promote a published post (Meta, Google, X)

creatoros ads:pause / ads:resume <adId>, ads:campaign-pause / ads:campaign-resume <campaignId> --platform <p>

Pause or resume an ad or a whole campaign

creatoros ads:budget <adId> / ads:campaign-budget <campaignId> --platform <p> --amount 25 --type daily

Change a budget (whole currency units)

creatoros ads:cancel <adId>

Cancel an ad for good (prefer pausing)

creatoros ads:audiences / ads:audience-create / ads:audience-add <aud_> --file emails.txt

Customer list audiences (emails are hashed before sending)

creatoros ads:targeting --accountId <acc_> --q fitness --dimension interest

Look up targeting ids

creatoros ads:call <METHOD> <path> [--query '{"accountId":"acc_..."}'] [--body '{...}']

Any other ads endpoint (lead forms, pixels, creatives, catalogs, reports, ...): see the full list in the Ads guide

10. From Claude, ChatGPT and other AI apps

With the add-on, the Creator OS MCP server adds 25 ads tools. Before anything spends, they dry-run it with validate_only(nothing is created, you see what passed and what didn't), then confirm budgets, dates and targeting with you, and a read-only connection only sees the reporting tools. Things you can ask:

“How are my ads doing this month? Rank campaigns by cost per click.”

“Boost yesterday’s reel with $15 a day for 5 days in the US. Create it paused and show me the setup.”

“Pause every campaign that spent more than $50 this week with a CTR under 0.5%.”

“Create a customer list audience from these emails and use it on a new traffic ad.”

ads_list_connections, ads_list_ad_accounts, ads_get_overview, ads_list_campaigns, ads_list_ads, ads_get_analytics

Ads add-on: connected ad networks (Meta, Google, LinkedIn, TikTok, X, OpenAI), campaigns, ads and spend

ads_best_posts, ads_list_instagram_identities, ads_list_instagram_posts, ads_tiktok_identities, ads_linkedin_pages, ads_google_keywords, ads_google_search_terms, ads_google_keyword_ideas, ads_google_recommendations, ads_list_leads, ads_list_ad_comments, ads_preview, ads_read

Ads add-on: best posts to boost (ranked, Meta and TikTok), Instagram identities and boostable posts, TikTok identities (who ads run as), LinkedIn Company Pages, Google keywords, search terms, Keyword Planner ideas and recommendations, Meta and LinkedIn leads, ad comments, previews, and a GET on any other ads endpoint (incl. TikTok live reports and pixels)

ads_list_audiences, ads_search_targeting, ads_get_connect_link

Ads add-on: audiences, targeting ids and a link to connect an ad network

ads_create_ad, ads_boost_post, ads_set_status, ads_update_budget, ads_duplicate, ads_create_audience, ads_add_audience_users, ads_request

Ads add-on: launch, boost, pause and budget ads, build audiences (read & write; spends real money)

delete_post, delete_comment, delete_automation, delete_webhook, disconnect_account, skool_delete_post, skool_deny_member, ads_delete_ad, blog_delete_article

Destructive: marked so your AI app asks you before running them (read & write)

Prefer a recipe? Run paid ads walks through the same flow step by step with code in three languages.