Get Meta Ads by Campaign
meta_ads_get_ads_by_campaignRetrieve all ads for a Meta campaign with optional status filters and pagination controls.
Instructions
Retrieve all ads belonging to a specific Meta campaign with filtering and pagination.
Args:
campaign_id (string): Campaign ID, e.g., '23843xxxxx'
fields (string[]): Fields per ad. Common: id, name, account_id, adset_id, campaign_id, status, effective_status, configured_status, creative, bid_amount, bid_type, created_time, updated_time, targeting, conversion_specs, recommendations, preview_shareable_link
effective_status (string[]): Filter by status: ACTIVE, PAUSED, DELETED, PENDING_REVIEW, DISAPPROVED, PREAPPROVED, PENDING_BILLING_INFO, ADSET_PAUSED, ARCHIVED, IN_PROCESS, WITH_ISSUES
filtering (object[]): Additional filter objects with field, operator, value
limit (number): Results per page (1-100, default: 25)
after / before (string): Pagination cursors
Returns: Object with data (ad array) and paging. Use meta_ads_fetch_pagination_url with paging.next for more results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| campaign_id | Yes | Campaign ID, e.g., '23843xxxxx' | |
| fields | No | List of specific fields to retrieve. If omitted, default fields are returned | |
| filtering | No | List of filter objects. Each has 'field', 'operator', and 'value'. Example: [{field: 'spend', operator: 'GREATER_THAN', value: 50}] | |
| effective_status | No | Filter by effective status. Options: ACTIVE, PAUSED, DELETED, PENDING_REVIEW, DISAPPROVED, PREAPPROVED, PENDING_BILLING_INFO, CAMPAIGN_PAUSED, ARCHIVED, ADSET_PAUSED, IN_PROCESS, WITH_ISSUES | |
| limit | No | Maximum number of results to return per page (1-100, default: 25) | |
| after | No | Cursor for the next page of results, from response.paging.cursors.after | |
| before | No | Cursor for the previous page of results, from response.paging.cursors.before | |
| offset | No | Alternative pagination: number of results to skip |