Skip to content
AdCrunch
Esc
navigateopen⌘Jpreview
On this page

list_entities

List ad entities (campaigns, ad sets, ad groups, ads, creatives, …) under one advertiser, filtered by type or parent.

Lists ad entities of any level under a single advertiser. One generic tool covers every entity type across providers — filter by the provider-native type (campaign, adset, ad_group, ad, creative, …) and/or by parentId to walk the tree. Use list_advertisers first to get the advertiserId.

Input

Field Type Required Description
advertiserId acc_* yes The advertiser to list under. Must belong to your organization.
type string no Provider-native entity type, e.g. campaign, adset, ad_group, ad, creative.
parentId string (type:id) no Return only direct children of this entity, e.g. campaign:123.
status 'ACTIVE' | 'PAUSED' | 'DELETED' | 'ARCHIVED' no Filter by normalized status.
ids string[] no Restrict to specific entity IDs.
limit number (1–500) no Page size.
offset number no Page offset.

Output

{ entities: [...] } — an array of entity metadata rows. Each carries provider, type, id (bare, provider-native), name, status, advertiserId, parentId (type:id), path (the ancestor chain), and currency (the account currency, ISO 4217). This is lean metadata; for the full provider-native payload of one entity, use get_entity.

A campaign and an ad group also carry their budget:

Field Description
budget The entity’s own budget, in whole units of currency: 50 is 50.00. Null when the entity has no budget of its own.
budgetType daily or lifetime.
budgetLevel campaign when the campaign carries the budget, ad_group when each ad group carries its own.
objective The campaign’s objective, as the provider writes it. Null at Google Ads, which has none.

Warning

Two units of money

budget here is in whole units, like spend in query_insights. meta_update_budget and Campaign Plans take integer minor units: a budget of 50 here is 5000 there, for a dollar or euro account.

Note

A stored budget can be old

Meta does not mark a campaign changed when only its budget changes, and AdCrunch does not yet follow a Google Ads budget change. A budget edited in the provider’s own interface can therefore be missing here. The REST API’s account-scoped listings accept fresh=true to read it from the provider.

Example

“List the active campaigns for that advertiser.”

Claude calls list_entities({ advertiserId: 'acc_123', type: 'campaign', status: 'ACTIVE' }) and reads back the campaigns with their IDs, then can drill into one with parentId: 'campaign:<id>'.

Tip

Provider-native types

type is the provider’s own word — Meta uses adset, TikTok and Google use ad_group. Discover the exact types by listing without a type filter first.

Errors

  • 401 or 403 — see Errors, which every tool shares. This one needs observe:read.

Was this page helpful?