---
title: "Break Meta performance down by audience"
method: POST
path: "/api/v1/tools/meta_get_audience_insights/execute"
tags: ["Meta Ads"]
---

# Break Meta performance down by audience

`POST /api/v1/tools/meta_get_audience_insights/execute`

## Request

- Base URL: `https://adako.ai`
- URL: `https://adako.ai/api/v1/tools/meta_get_audience_insights/execute`
- Auth: HTTP bearer

Splits spend and results by one audience dimension: age, gender, age and gender together, country, region, platform, device or placement position.
Use when: the user asks who their ads reached, or wants to see whether one demographic or geography carries the account.
Do not use to decide where to move budget on its own — meta_analyze_audiences ranks the same rows and says which segments are actually above or below average.
Do not read a small segment as a finding: rows with a few impressions move wildly. The table reports spend share so the weight of each row is visible.
Returns one row per segment with spend, impressions, CTR, results and cost per result, in the account currency.
Meta reports some rows as "unknown" when it cannot attribute them; they are shown, labelled, and never presented as a real audience.

## Headers

- `Idempotency-Key` string

## Request body

- object
  - `arguments` object, required
    - `ad_account_id` string: Meta ad account id such as act_1234567890. Omit it to use the primary account; if several accounts are active and none is primary the call fails and lists the valid ids.
    - `campaign_id` string: Report on one campaign. Omit both ids to report the whole account.
    - `ad_set_id` string: Report on one ad set.
    - `breakdown` 'age' | 'gender' | 'age_gender' | 'country' | 'region' | 'publisher_platform' | 'device_platform' | 'platform_position', required: Which dimension to split by. age_gender crosses the two; platform_position splits feed, reels, stories and so on.
    - `date_range` 'today' | 'yesterday' | 'last_7_days' | 'last_14_days' | 'last_30_days' | 'this_month' | 'last_month': Preset window. The "last N days" ones end yesterday, so no partial day is mixed in. Either this or start_date + end_date, never both.
    - `start_date` string: First day, YYYY-MM-DD. Needs end_date.
    - `end_date` string: Last day, YYYY-MM-DD, inclusive. Needs start_date.
    - `raw_data` boolean: Return compact JSON only (no markdown). Use when you will compute on the result.

## Response `200`

The tool ran. A write returns proposal_id and approve_url while the change waits for approval.

- SuccessEnvelope
  - `success` unknown, required
  - `tool` string, required
  - `data` object, required: Machine-readable result.
  - `markdown` string, required: The same result written for a person or a model.
  - `quota` Quota: Task usage for the current billing period.
    - `plan` string
    - `used` integer
    - `limit` integer
    - `period_end` string
    - `upgrade_url` string
  - `proposal_id` string: Present for writes. Nothing changes on the ad platform until it is approved.
  - `approve_url` string: Where a person approves the proposal.
  - `request_id` string, required

## Other responses

- `400`: Invalid arguments, or the ad account could not be resolved.
- `401`: Missing, invalid, revoked or expired API key.
- `402`: Monthly task quota used up, or the plan does not include this tool.
- `403`: The connected ad account lacks the access level this tool needs.
- `404`: Unknown tool name.
- `409`: Not connected, reconnect needed, confirmation required, a proposal already pending or no longer pending, an identical create that failed earlier today (proposal_failed_before), a create that duplicates an approved one (duplicate_create), the ad-account limit of the plan reached (account_limit), or an Idempotency-Key reused with different arguments.
- `429`: Rate limited by Adako or by the ad platform. See Retry-After.
- `500`: Unexpected error inside Adako.
- `502`: The ad platform returned an error.

---

[API](https://skmtc.dev/adako/apis/adako-rest-api.md) · [All operations](https://skmtc.dev/adako/apis/adako-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/adako/apis/adako-rest-api/revisions/59ee60d48a56?raw)
