Get Meta Ad Sets by Ad Account
meta_ads_get_adsets_by_adaccountFetch all ad sets from a specific Meta ad account with field selection, status filters, and pagination cursors.
Instructions
Retrieve all ad sets from a specific Meta ad account with filtering and pagination.
Args:
act_id (string): Ad account ID prefixed with 'act_', e.g., 'act_1234567890'
fields (string[]): Fields per ad set. Common: id, name, account_id, campaign_id, status, effective_status, daily_budget, lifetime_budget, budget_remaining, bid_amount, bid_strategy, billing_event, optimization_goal, targeting, start_time, end_time, created_time, updated_time, pacing_type, destination_type
effective_status (string[]): Filter by status: ACTIVE, PAUSED, DELETED, PENDING_REVIEW, DISAPPROVED, PREAPPROVED, PENDING_BILLING_INFO, CAMPAIGN_PAUSED, ARCHIVED, WITH_ISSUES
filtering (object[]): Additional filter objects, e.g., [{field: 'daily_budget', operator: 'GREATER_THAN', value: 1000}]
limit (number): Results per page (1-100, default: 25)
after / before (string): Pagination cursors
date_preset / time_range: Date filter
updated_since (number): Unix timestamp — return ad sets updated since this time
date_format (string): Date format for response
Returns: Object with data (ad set array) and paging. Use meta_ads_fetch_pagination_url with paging.next for more results.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| act_id | Yes | Ad account ID prefixed with 'act_', e.g., 'act_1234567890' | |
| 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}] | |
| date_preset | No | Predefined relative time range. Options: today, yesterday, this_month, last_month, this_quarter, maximum, last_3d, last_7d, last_14d, last_28d, last_30d, last_90d, last_week_mon_sun, last_week_sun_sat, last_quarter, last_year, this_week_mon_today, this_week_sun_today, this_year. Default: last_30d. Ignored if time_range, time_ranges, since, or until is provided | |
| time_range | No | Custom time range with since/until dates in YYYY-MM-DD format | |
| updated_since | No | Return ad sets updated since this Unix timestamp | |
| 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 | |
| date_format | No | Format for date fields in response. 'U' = Unix timestamp (seconds), 'Y-m-d H:i:s' = MySQL datetime. Default: ISO 8601 | |
| 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 |