---
search:
  tags:
    - Campaigns
    - GET
seo:
  description: >-
    Lists the campaigns of every ad account your organization connects, across
    the… Reference for the GET /observe/campaigns endpoint in the AdCrunch API.
sidebar:
  label: List campaigns
  badge: GET
title: List campaigns
type: openapi-operation
---
Lists the campaigns of every ad account your organization connects, across the providers, newest first.

A campaign is a `campaign` at every provider, so this reads them all in one call. Send `provider` to read one platform.

## Paging

`limit` and `offset` page the answer itself, not each advertiser, so a `limit` of 10 answers at most 10 rows however many advertisers you own. `pagination.total` counts every campaign that matches, so `offset + limit` reaching `total` means there is no more to read.

## Where a campaign comes from

From what AdCrunch holds, which its ingestion refreshes. `source` says so on every answer. A campaign a person changed in the provider’s own interface a moment ago may not be here yet.

## Budget and objective

Every row carries its `budget`, in **whole units** of its `currency` — the unit of `spend` on an Insight — with `budgetType` and `budgetLevel`. `budgetLevel` says whether the budget lives on the campaign or on its ad groups; when it is `ad_group`, read `/observe/ad-groups` for the amounts. `objective` is the provider’s own word.

A row carries the fields AdCrunch normalizes. For the provider’s own payload — bid strategy, targeting, and every other key it writes — read one campaign by id.

`GET /observe/campaigns`
