Ads · Ad Campaigns

List campaigns

Returns campaigns, one page at a time.

GEThttps://api.pozy.ai/v1/ads/campaigns
Facebook and Instagram, Google Workspace, TikTok, LinkedIn, Pinterest and X and 1 morelistAdCampaigns

Guide: Meta Ads

Request

Send your API key as Authorization: Bearer pz_live_.... Read-only keys can call it. Keys with the ads resource group disabled get 403 resource_group_disabled. Authentication

Query parameters

NameTypeNotes
includeEmptyboolean
pageintegerDefault 1At least 1
limitintegerDefault 201 to 100
sourcestringOne of pozy, allDefault all
platformstringOne of facebook, instagram, tiktok, linkedin, pinterest, google, twitter, openai, reddit
statusstring
adAccountIdstring
campaignIdstring
pageIdstring
accountIdstring
profileIdstring
fromDatestring (date)
toDatestring (date)
hasDeliveryboolean
minSpendnumberAt least 0
livebooleanDefault false

Example

curl -X GET "https://api.pozy.ai/v1/ads/campaigns?limit=20" \
  -H "Authorization: Bearer $POZY_API_KEY"

Response

200 on success

  • campaignsarray of object
    31 child fields
    • platformCampaignIdstring
    • platformstring

      One of facebook, instagram, tiktok, linkedin, pinterest, google, twitter, openai, reddit.

    • campaignNamestring
    • statusobject
    • reviewStatusstring
    • platformCampaignStatusstring

      Can be null.

    • statusReadAtstring (date-time)

      Can be null.

    • nativeSettingsobject
    • configReadAtstring (date-time)

      Can be null.

    • campaignIssuesInfoarray of object

      Can be null.

    • adCountinteger
    • budgetobject

      One of:

      Ad Campaign Budget (6 fields)
      • amountnumberrequired
      • typestringrequired

        One of daily, lifetime.

      • amountMicrosstring

        Matches ^\d+$.

      • explicitlySharedboolean

        Can be null.

      • resourceNamestring

        Can be null.

      • deliveryMethodstring

        Can be null.

    • campaignBudgetobject

      One of:

      Ad Campaign Budget (6 fields)
      • amountnumberrequired
      • typestringrequired

        One of daily, lifetime.

      • amountMicrosstring

        Matches ^\d+$.

      • explicitlySharedboolean

        Can be null.

      • resourceNamestring

        Can be null.

      • deliveryMethodstring

        Can be null.

    • budgetLevelstring

      One of campaign, adset. Can be null.

    • isBudgetScheduleEnabledboolean

      Default false.

    • currencystring

      Can be null.

    • metricsobject
      38 child fields
      • spendnumber
      • impressionsinteger
      • reachinteger
      • clicksinteger
      • ctrnumber
      • cpcnumber
      • cpmnumber
      • engagementinteger
      • conversionsnumber
      • allConversionsnumber
      • costPerConversionnumber
      • actionsmap of integer
      • actionValuesmap of number
      • purchaseValuenumber
      • roasnumber
      • costPerActionmap of number
      • outboundClicksinteger
      • outboundClicksCtrnumber
      • inlineLinkClicksinteger
      • inlineLinkClickCtrnumber
      • uniqueClicksinteger
      • uniqueCtrnumber
      • videoPlayActionsinteger
      • video30SecWatchedActionsinteger
      • videoThruplayWatchedActionsinteger
      • videoP25WatchedActionsinteger
      • videoP50WatchedActionsinteger
      • videoP75WatchedActionsinteger
      • videoP95WatchedActionsinteger
      • videoP100WatchedActionsinteger
      • video2SecWatchedActionsinteger
      • video6SecWatchedActionsinteger
      • video6SecFocusedViewsinteger
      • videoAvgTimeWatchedActionsnumber
      • costPerThruplaynumber
      • funnelobject
        13 child fields
        • landingPageViewsinteger
        • contentViewsinteger
        • searchesinteger
        • wishlistAddsinteger
        • cartAddsinteger
        • checkoutsInitiatedinteger
        • paymentInfoAddsinteger
        • purchasesinteger
        • leadsinteger
        • registrationsCompletedinteger
        • appInstallsinteger
        • messagingConversationsStartedinteger
        • messagingFirstRepliesinteger
      • engagementBreakdownobject
        9 child fields
        • postEngagementinteger
        • pageEngagementinteger
        • reactionsinteger
        • commentsinteger
        • sharesinteger
        • savesinteger
        • pageLikesinteger
        • videoViewsinteger
        • linkClicksinteger
      • lastSyncedAtstring (date-time)
    • platformAdAccountIdstring
    • platformAdAccountNamestring

      Can be null.

    • accountIdstring
    • profileIdstring
    • isSmartPlusboolean
    • advertisingChannelTypestring

      Can be null.

    • platformObjectivestring

      Can be null.

    • optimizationGoalstring or array of string
    • bidStrategystring
    • bidAmountnumber

      Can be null.

    • roasAverageFloornumber

      Can be null.

    • promotedObjectobject

      Can be null.

      3 child fields
      • custom_event_typestring
      • pixel_idstring
      • page_idstring
    • earliestAdstring (date-time)
    • latestAdstring (date-time)
  • paginationobject
    • pageinteger
    • limitinteger
    • totalinteger
    • pagesinteger
200 response
{
  "campaigns": [
    {
      "platformCampaignId": "68f1e8569b986839e821d8ba",
      "platform": "facebook",
      "campaignName": "Acme",
      "status": {},
      "reviewStatus": "in_review",
      "platformCampaignStatus": "instagram",
      "statusReadAt": "2026-10-02T09:00:00.000Z",
      "nativeSettings": {},
      "configReadAt": "2026-10-02T09:00:00.000Z",
      "campaignIssuesInfo": [
        {}
      ],
      "adCount": 42,
      "budget": {
        "amount": 12.5,
        "type": "daily",
        "amountMicros": "string",
        "explicitlyShared": true,
        "resourceName": "Acme",
        "deliveryMethod": "string"
      },
      "campaignBudget": {
        "amount": 12.5,
        "type": "daily",
        "amountMicros": "string",
        "explicitlyShared": true,
        "resourceName": "Acme",
        "deliveryMethod": "string"
      },
      "budgetLevel": "campaign",
      "isBudgetScheduleEnabled": false,
      "currency": "USD",
      "metrics": {
        "spend": 12.5,
        "impressions": 1,
        "reach": 1,
        "clicks": 1,
        "ctr": 12.5,
        "cpc": 12.5,
        "cpm": 12.5,
        "engagement": 1,
        "conversions": 12.5,
        "allConversions": 12.5,
        "costPerConversion": 12.5,
        "actions": {
          "key": 1
        },
        "actionValues": {
          "key": 12.5
        },
        "purchaseValue": 12.5,
        "roas": 12.5,
        "costPerAction": {
          "key": 12.5
        },
        "outboundClicks": 1,
        "outboundClicksCtr": 12.5,
        "inlineLinkClicks": 1,
        "inlineLinkClickCtr": 12.5,
        "uniqueClicks": 1,
        "uniqueCtr": 12.5,
        "videoPlayActions": 1,
        "video30SecWatchedActions": 1,
        "videoThruplayWatchedActions": 1,
        "videoP25WatchedActions": 1,
        "videoP50WatchedActions": 1,
        "videoP75WatchedActions": 1,
        "videoP95WatchedActions": 1,
        "videoP100WatchedActions": 1,
        "video2SecWatchedActions": 1,
        "video6SecWatchedActions": 1,
        "video6SecFocusedViews": 1,
        "videoAvgTimeWatchedActions": 12.5,
        "costPerThruplay": 12.5,
        "funnel": {
          "landingPageViews": 1,
          "contentViews": 1,
          "searches": 1,
          "wishlistAdds": 1,
          "cartAdds": 1,
          "checkoutsInitiated": 1,
          "paymentInfoAdds": 1,
          "purchases": 1,
          "leads": 1,
          "registrationsCompleted": 1,
          "appInstalls": 1,
          "messagingConversationsStarted": 1,
          "messagingFirstReplies": 1
        },
        "engagementBreakdown": {
          "postEngagement": 1,
          "pageEngagement": 1,
          "reactions": 1,
          "comments": 1,
          "shares": 1,
          "saves": 1,
          "pageLikes": 1,
          "videoViews": 1,
          "linkClicks": 1
        },
        "lastSyncedAt": "2026-10-02T09:00:00.000Z"
      },
      "platformAdAccountId": "673c621a82c88059710de3fd",
      "platformAdAccountName": "instagram",
      "accountId": "696e0b682d0a31188e7a2ba9",
      "profileId": "6a0b6573846efc28aaa9a3ff",
      "isSmartPlus": true,
      "advertisingChannelType": "string",
      "platformObjective": "instagram",
      "optimizationGoal": "string",
      "bidStrategy": "LOWEST_COST_WITHOUT_CAP",
      "bidAmount": 12.5,
      "roasAverageFloor": 12.5,
      "promotedObject": {
        "custom_event_type": "string",
        "pixel_id": "61ea7ce64c184295e2220bf7",
        "page_id": "60cae484a825fef31dae565c"
      },
      "earliestAd": "2026-10-02T09:00:00.000Z",
      "latestAd": "2026-10-02T09:00:00.000Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 1,
    "total": 42,
    "pages": 1
  }
}

Errors

Errors use one shape: { error, type, code, param?, details? }. The ones you are most likely to see here:

400invalid_request_errorA parameter or body field is missing or invalid. param names it.
401authentication_errorThe API key is missing, revoked or expired.
403permission_errorThe key is scoped to other profiles or has this resource group disabled.
429rate_limit_errorToo many requests this minute. Wait for Retry-After seconds.

Every code is listed in Errors.

More in Ad Campaigns

GETList adsGETList Google Ads recommendationsPOSTApply Google Ads recommendationsPOSTDismiss Google Ads recommendationsGETList portfolio bid strategiesPOSTCreate portfolio bid strategyPATCHUpdate portfolio bid strategyGETList shared budgetsPOSTCreate a shared budgetGETList Search keywordsPOSTAdd Search ad-group keywordsPATCHPause or enable a Search keywordDELRemove a Search keywordPOSTCreate a standalone campaignPUTPause or resume a campaignGETRead a campaign's ad schedule (dayparting)PUTReplace a campaign's ad schedule (dayparting)GETRead a campaign's current biddingGETGet live campaign detailsPUTUpdate a campaignDELDelete a campaignGETList campaign-level negative keywordsPUTReplace campaign-level negative keywordsPOSTPause or resume many campaignsPOSTDuplicate a campaignGETRead a Google campaign's device, location, excluded location, and language targetingPUTEdit a Google campaign's device, location, excluded location, or language targetingGETList ad setsPOSTCreate a standalone ad groupPOSTDuplicate an ad setPOSTDuplicate an adGETGet live ad-set detailsPUTUpdate an ad setDELDelete an ad setGETRead a Reddit ad group's targeting and schedulePUTPause or resume a single ad setGETGet campaign treeGETGet daily account metricsGETGet ad detailsPUTUpdate adDELCancel an adPUTPause or resume a single adGETList campaign assetsPOSTAttach campaign assetsPUTUpdate campaign assetsDELRemove campaign assetsGETList ad-group assetsPOSTAttach ad-group assetsPUTUpdate ad-group assetsDELRemove ad-group assetsGETRead the platform's review verdict for an adGETReview status of each creative in a TikTok Smart+ adGETList ads that need attentionPOSTDismiss an ads alertGETReview status of every TikTok Smart+ ad of an advertiserGETList campaign negative listsPUTReplace campaign negative listsPOSTBoost post as adGETList Performance Max asset groupsPOSTCreate a Performance Max asset groupGETGet a Performance Max asset groupPATCHUpdate a Performance Max asset groupDELRemove a Performance Max asset groupPOSTLink or unlink asset group assetsPUTReplace an asset group's listing-group treePOSTCreate standalone adGETGet campaign conversion goalsPATCHUpdate campaign conversion goals