Ads

Stored read: List ads

Available on: Meta TikTok Google Ads OpenAI

Lists the ads of every ad account your organization connects, across the providers, newest first.

One concept, two words

An ad is an ad at Meta and TikTok. At Google Ads it is an ad_group_ad — the link resource that joins an ad to an ad group, whose id is the composite {adGroupId}~{adId}. AdCrunch stores that link as the leaf and does not model a separate shared ad, so a Google row answers the composite id. Every row keeps its own provider’s word in type.

Narrowing

Two parents, and they are not the same question. adGroupId reads the ads of one ad group. campaignId reads every ad of a campaign, whatever ad group holds it — a grandparent, which the ad group filter cannot express. Send both to narrow twice.

What is not here

Performance Max campaigns have no ads. Google’s automation assembles placements from an asset group, so nothing below a Performance Max campaign appears here.

get/observe/ads

Request

  • Base URL: https://api.adcrunch.dev
  • URL: https://api.adcrunch.dev/observe/ads
  • Auth: HTTP bearer

Query parameters

idsstring

Ids to filter on, separated by commas. An id is the bare id its provider gives.

cursorstring

The nextCursor of the previous page. Omit it to get the first page. Send it with no change, and with the same filters as the request that answered it: a cursor from a different query gets a 400 invalid_cursor. Do not build or change a cursor.

limitinteger

The greatest number of rows on the page, from 1 to 500. The default is 100. A greater value gets a 400, with error of invalid_request.

advertiserIdstring

Read one ad account from what AdCrunch holds, prefixed acc_. One your organization does not own answers an empty list rather than a failure. To ask the provider instead, put the advertiser in the path.

'meta'
OR
'tiktok'
OR
'snapchat'
OR
'gads'
OR
'dv360'
OR
'x'
OR
'openai'
status'ACTIVE' | 'PAUSED' | 'DELETED' | 'ARCHIVED'

Read one status, normalized across the providers. TikTok ENABLE and DISABLE are read here as ACTIVE and PAUSED.

campaignIdstring

Read only what this campaign holds. Send the bare id its provider gives, which is the campaignId every row answers.

adGroupIdstring

Read only what this ad group holds. Send the bare id its provider gives, which is the adGroupId every row answers.

Response

The matching ads, and how many there are in all. Each row keeps its provider’s own type: ad, or ad_group_ad at Google Ads.

nextCursorstring

Send this value as cursor to get the next page. It is absent on the last page.

Example response

{
  "data": [
    {
      "adGroupId": "169283746152",
      "advertiserId": "acc_4829301756",
      "campaignId": "20481523697",
      "createdAt": 1789610000000,
      "createdTime": null,
      "currency": "EUR",
      "deletedAt": null,
      "id": "169283746152~712398456012",
      "name": "Responsive search ad — winter",
      "path": "20481523697/169283746152/169283746152~712398456012",
      "provider": "gads",
      "status": "ACTIVE",
      "type": "ad_group_ad",
      "updatedAt": null,
      "updatedTime": null
    }
  ],
  "nextCursor": "eyJwIjpbMTc4OTYxMDAwMDAwMCwiZ2FkcyIsImFkX2dyb3VwX2FkIiwiMTY5MjgzNzQ2MTUyfjcxMjM5ODQ1NjAxMiJdLCJxIjoiZTBmZ2hvbDFrYSJ9"
}

Changes

No recorded changes to this operation across all 1 revision of this API.