---
title: "Ad performance insights"
method: GET
path: "/api/v1/ads/insights"
tags: ["Ads"]
---

# Ad performance insights

`GET /api/v1/ads/insights`

## Request

- Base URL: `https://app.tryadeli.com`
- URL: `https://app.tryadeli.com/api/v1/ads/insights`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/adeli/apis/adeli-api/docs/api/v1/ads/insights/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `accountId` string, uuid
- `profileId` string, uuid
- `platform` 'meta_ads' | 'tiktok_ads' | 'linkedin_ads'
- `adAccountId` string, required
- `objectId` string
- `level` 'campaign' | 'ad_group' | 'ad'
- `breakdown` union
  - 'age' | 'gender' | 'country_code' | 'platform'
  - 'job_function' | 'seniority' | 'industry' | 'company_size' | 'country_code'
- `since` string
- `until` string

## Response `200`

Success

- union
  - object
    - `platform` 'meta_ads' | 'tiktok_ads' | 'linkedin_ads', required
    - `accountId` string, uuid, required
    - `profileId` string, uuid, required
    - `adAccountId` string, required
    - `objectId` string, required
    - `points` object[], required
      - `date` string, required
      - `spend` number, required
      - `impressions` number, required
      - `clicks` number, required
      - `conversions` number, nullable, required
      - `videoViews` number, nullable
    - `range` object, required
      - `since` string, required
      - `until` string, required
    - `fetchedAt` string, date-time, required
  - object
    - `platform` 'meta_ads' | 'tiktok_ads' | 'linkedin_ads', required
    - `accountId` string, uuid, required
    - `profileId` string, uuid, required
    - `adAccountId` string, required
    - `objectId` string, required
    - `breakdown` 'age' | 'gender' | 'country_code' | 'platform', required
    - `rows` object[], required
      - `value` string, required
      - `spend` number, required
      - `impressions` number, required
      - `clicks` number, required
      - `reach` number, required
    - `range` object, required
      - `since` string, required
      - `until` string, required
    - `fetchedAt` string, date-time, required
  - object
    - `platform` 'meta_ads' | 'tiktok_ads' | 'linkedin_ads', required
    - `accountId` string, uuid, required
    - `profileId` string, uuid, required
    - `adAccountId` string, required
    - `objectId` string, required
    - `breakdown` 'job_function' | 'seniority' | 'industry' | 'company_size' | 'country_code', required
    - `rows` object[], required
      - `value` string, required
      - `label` string, required
      - `spend` number, required
      - `impressions` number, required
      - `clicks` number, required
      - `reach` number, required
    - `delayed` true, required
    - `range` object, required
      - `since` string, required
      - `until` string, required
    - `fetchedAt` string, date-time, required

## Other responses

- `400`: Invalid request or provider failure
- `401`: Missing or invalid API key
- `403`: The connection lacks a permission or provider-confirmed resource
- `404`: Profile, account, or object not found
- `409`: The request conflicts with existing state
- `422`: The connected account cannot perform this operation
- `429`: Provider quota or rate limit exhausted
- `502`: Invalid request or provider failure

---

[API](https://skmtc.dev/adeli/apis/adeli-api.md) - [All operations](https://skmtc.dev/adeli/apis/adeli-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adeli/apis/adeli-api/revisions/ed680dfa9033?raw)
