Skip to content
AdCrunch
Esc
↑↓navigate↵open⌘Jpreview

List an advertiser’s Facebook Pages

Available on: Meta

Live read. Asks Meta now for the Facebook Pages that the Meta connection of this advertiser can advertise from. Each creative names one of these Pages: send its id as pageId when you create a creative.

The list belongs to the Meta connection, not to the ad account, so it is the same for each advertiser of one connection. Meta refuses a Page that the advertiser cannot use when you create the creative. When no page holds a Page, up to the page with no nextCursor, the person who connected Meta shared no Page. Connect Meta again and share a Page.

An advertiser that your organization does not own answers 404, with error of not_found. An advertiser that does not exist, and one that is not a Meta ad account, answer the same.

AdCrunch stores nothing from this read. Each request counts against the rate limits of Meta.

limit and cursor page the answer. Send nextCursor back as cursor to get the next page. A page can hold no row and still carry nextCursor.

GET/observe/{advertiserId}/pages
Authorization
AuthorizationBearer token · headerrequired

Send Authorization: Bearer <credential>.

Use an API key (acr_…), from the AdCrunch console under Settings → API keys.

The credential names the organization, and no operation takes an organization parameter.

See https://docs.adcrunch.dev/api/authentication.

Path parameters
advertiserIdstringrequired
matches ^(acc_)[\s\S]{0,}$
Query parameters
cursorstring
min length 1
limitinteger
min 1 · max 500 · default: 100
Responses
200

The Pages of the Meta connection of this advertiser.

dataobject[]required

The Facebook Pages that the Meta connection can advertise from, in the order of Meta. An empty array can carry nextCursor: then more rows can exist.

Show properties
Array of object
idstringrequired

The Meta id of the Page. Send it as pageId to create a creative.

namestringrequired

The name of the Page on Facebook.

nextCursorstring

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

400

The request does not match the schema of this operation: a field is missing or has the wrong type, or the body is not valid JSON. error is invalid_request, and issues names each field. Nothing was changed. Or AdCrunch cannot use the cursor: it cannot read it, or the cursor belongs to a different query. Then error is invalid_cursor. Send the nextCursor of the previous page with no change, or omit cursor to get the first page.

Any of:
object
issuesobject[]required

One entry for each field that does not match.

Show properties
Array of object
instringrequired

The part of the request that holds the field.

Allowed:bodycookieheadersparamsquery
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

pathstringrequired

A JSON Pointer into that part of the request, such as /filename. An empty string is the whole part.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:invalid_request
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

object
errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:invalid_cursor
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

401

No API key, or one that does not resolve. See the security scheme. error is unauthorized.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:unauthorized
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

402

The organization has no active subscription. An owner subscribes at paywallUrl. error is organization_unentitled.

paywallUrlstring<uri>required

The page where an owner of the organization subscribes. Show it to the person.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:organization_unentitled
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

403

The caller does not hold observe:read. error is forbidden.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:forbidden
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

404

Your organization does not own the advertiser in the path, it does not exist, or it is not a Meta ad account. The answer does not tell them apart. error is not_found. AdCrunch asks Meta nothing.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:not_found
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

409

This advertiser has no usable connection to Meta. A person must reconnect it.

providerstringrequired

The ad platform this failure came from: meta.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:provider_not_connected
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

502

The provider refused the request, or could not answer it. This failure is often transient. Send the request again.

platformErroranyrequired

The provider’s own error object, unchanged. For Meta it carries code, error_subcode, type, error_user_title and error_user_msg — branch on the subcode for anything AdCrunch does not model. It never holds the request AdCrunch sent.

providerstringrequired

The ad platform this failure came from: meta.

errorstringrequired

A stable code for the failure. This is the field to branch on. It does not change for a given failure.

Allowed:provider_error
messagestringrequired

A sentence to show a person. Written to say what to do next. Reworded whenever it can be said better, so never branch on it.

Request
curl -X GET 'https://api.pr-1108.adcrunch.dev/observe/string/pages' \
  -H 'Authorization: Bearer YOUR_TOKEN'
Response
{
  "data": [
    {
      "id": "104857392018274",
      "name": "Northwind Outdoor"
    },
    {
      "id": "112233445566778",
      "name": "Northwind Outlet"
    }
  ],
  "nextCursor": "eyJwIjp7ImFmdGVyIjoiUVZGSVVuQjRZMkYwWDJoUWJuTmZPV1JmWkEifSwicSI6IjFlcGNveHZoZGp3In0"
}