---
search:
  tags:
    - Ad groups
    - GET
seo:
  description: >-
    Available on: Meta TikTok Google Ads Reference for the GET
    /observe/{advertiserId}/ad-groups endpoint in the AdCrunch API.
sidebar:
  label: 'Live read: List an advertiser’s ad groups'
  badge: GET
title: 'Live read: List an advertiser’s ad groups'
type: openapi-operation
---
**Available on:** [![Meta](/providers/meta.svg)](https://docs.adcrunch.dev/connect/providers) [![TikTok](/providers/tiktok.svg)](https://docs.adcrunch.dev/connect/providers) [![Google Ads](/providers/gads.svg)](https://docs.adcrunch.dev/connect/providers)

Asks the provider for the ad groups of one ad account, now. This is a **live read**: the path names the advertiser, so the answer is what the provider holds, not what AdCrunch holds.

An advertiser your organization does not own answers an empty list, not a failure.

Send `campaignId` to read one campaign’s ad groups.

A live row carries no `createdAt`, `updatedAt` or `deletedAt`, because AdCrunch stores nothing for it. Each request counts against the rate limits of the provider.

For the stored rows of the same advertiser, read `/observe/ad-groups?advertiserId=…`. That path takes every `status`, and the Status section below lists the statuses this one takes.

`limit` and `cursor` page the answer. Send `nextCursor` back as `cursor` to get the next page. A live cursor is good only for a live read. At TikTok, every page keeps the page size of the first.

## Status

`status` selects the status an entity is set to, not whether it delivers, and every row of the answer carries it. A provider takes a status only where one request to it selects exactly the entities in that status. Any other status answers `501`.

The stored read, `/observe/ad-groups?advertiserId=…&status=…`, takes every status. A status that a provider never uses answers an empty list.

| Provider | Takes `status` |
| --- | --- |
| Meta | none yet |
| TikTok | `DELETED`, `ARCHIVED` |
| Google Ads | `ACTIVE`, `PAUSED`, `DELETED`, `ARCHIVED` |

`GET /observe/{advertiserId}/ad-groups`
