Skip to content
AdlyseDocs
Product guideMCP reference
⌘K
Open Adlyse
⌘K
Overview
QuickstartAuthentication
adlyse-insights
adlyse-ads
list_ad_accountsget_platform_supportget_ad_creation_capabilitiesget_ad_build_specupdate_ad_build_speclist_ad_plansget_ad_plan_publicationget_ad_planimport_ad_to_planimport_live_ad_to_plancreate_ad_plan_variantsadd_ad_plan_variantsupdate_ad_plan_groupgroup_ad_plansget_ad_plan_groupfreeze_ad_plan_grouppublish_ad_plan_groupcreate_ad_plancreate_ad_edit_planupdate_ad_planattach_ad_plan_assetfill_ad_plan_slotsfreeze_ad_planpublish_ad_planresolve_ad_publish_steplist_campaignsget_performancelist_change_eventslist_adsget_ad_performancelist_creative_librarylist_experimentsget_experimentpause_experimentresume_experimentstop_experimentpause_creative_adsupdate_ad_group_statusupdate_ad_statusupdate_campaign_statusupdate_campaign_budgetlist_swipe_filesave_competitor_ad_to_swipe_filesave_creative_to_swipe_fileremix_from_swipe_filestart_creative_jobresize_creativemake_variants_of_winnerget_creative_jobestimate_creative_batchstart_creative_batchbatch_to_plan_groupget_creative_batchsnapshot_catalog_productsgenerate_ad_copylist_ad_copycreate_creative_conceptrequest_creative_reviewget_creative_review
adlyse-workflows
adlyse-admin
adlyse-all
  1. Overview
  2. adlyse-ads

list_campaigns

List distinct campaigns for an ad account. Reads from Adlyse’s platform-normalized data table, so the response shape is identical across every connected ad platform.

Parameters#

NameTypeRequiredDefaultDescription
ad_account_idstringyesAd account id
statusstring?nonullFilter by status: enabled, paused, or removed
limitintegerno100Max campaigns to return; clamped to 500
offsetintegerno0Pagination offset

Returns#

json
{
  "campaigns": [
    {
      "campaign_id": "1234567890",
      "campaign_name": "Brand Search - US",
      "platform": "google_ads",
      "campaign_status": "enabled",
      "campaign_type": "SEARCH"
    }
  ],
  "count": 1,
  "total": 4,
  "offset": 0,
  "limit": 100,
  "has_more": false,
  "source": "adlyse.ads_campaigns@v1"
}
FieldDescription
campaigns[].campaign_idPlatform’s native campaign id; use for all other tools in this server
campaigns[].platformgoogle_ads, meta_ads, microsoft_ads, or chatgpt_ads
campaigns[].campaign_statusenabled, paused, or removed
totalDistinct campaigns matching filters

Errors#

error_typeWhen
auth_errorMissing / invalid API key
not_foundAd account doesn’t belong to your org

Empty response#

If the account has never been synced, the response has total: 0 and includes a note field explaining that campaign metrics haven’t been synced yet. This is not an error.

Example#

Request:

json
{ "ad_account_id": "ad_acct_abc", "status": "enabled", "limit": 20 }

Response:

json
{
  "campaigns": [
    { "campaign_id": "c1", "campaign_name": "Brand Search - US", "platform": "google_ads", "campaign_status": "enabled" },
    { "campaign_id": "c2", "campaign_name": "Retargeting - Core", "platform": "meta_ads", "campaign_status": "enabled" }
  ],
  "count": 2,
  "total": 2,
  "has_more": false,
  "source": "adlyse.ads_campaigns@v1"
}

See also#

  • get_performance — aggregated metrics across a date range
  • list_ads — drill down from campaigns to ads
  • update_campaign_status — pause / resume
Previousresolve_ad_publish_stepNextget_performance