/api/v4/social/brandsList brands
Returns a paginated list of the social brands on your account, with each brand's profile, timezone and connected-channel count.
Parameters
Query
| Name | Type | Required | Description | Default |
|---|---|---|---|---|
| filters | string | optional | JSON-encoded filter object with two fields. `statuses` (array of strings, **required inside the object**) selects which brand states to return: `ACTIVE` or `ARCHIVED`. `profileName` (string, optional) is a case-insensitive substring match on the brand name. Omit the parameter entirely to return active brands. | — |
| page | integer | optional | 1-based page number. Defaults to 1. | — |
| size | integer | optional | Rows per page. Defaults to 20. | — |
Responses
200A page of brands plus `pageInfo` for paging.
{ "data": { "listSocialProfiles": { "profiles": [ { "id": "6f2c9a41-7b0e-4d55-9a2f-3c8e1d47b902", "profileName": "Jenny Home", "archived": false, "logo": null, "profileLogo": null, "siteUrl": "https://jennyhome.example", "countryIso": "US", "bio": "Handmade furniture for real homes.", "businessIntent": "A family-run home furnishings store selling handmade furniture and textiles.", "categories": ["Furniture Store", "Home Goods"], "brandHashtags": ["jennyhome", "handmadefurniture"], "competitorHashtags": [], "connectedChannelCount": 3, "timezone": { "label": "(GMT-05:00) Eastern Time", "tzCode": "America/New_York", "name": "Eastern Standard Time", "utc": "-05:00" }, "contentPreferredLanguage": "en" }, { "id": "a90f7c22-5db1-4e83-9f40-2b7c6a1e5d33", "profileName": "Jenny Home Eastside", "archived": false, "logo": null, "profileLogo": null, "siteUrl": null, "countryIso": "US", "bio": null, "businessIntent": "general", "categories": [], "brandHashtags": [], "competitorHashtags": [], "connectedChannelCount": 0, "timezone": { "label": "(GMT-06:00) Central Time", "tzCode": "America/Chicago", "name": "Central Standard Time", "utc": "-06:00" }, "contentPreferredLanguage": "en" } ], "pageInfo": { "total": 11, "hasNextPage": true, "totalEngagementPosts": 0, "totalPublishedPosts": 0 } } }}401Unauthenticated, missing or invalid API key.
Lists the brands on your account, one page at a time. Each row is the same brand
object GET /social/brands/{brandId} returns for
a single brand, so a list is usually enough to render a brand picker without a
second round trip.
Use case: a brand picker in your own UI. Call this once when the user opens
your publishing screen and render profileName and logo per row. A brand
whose connectedChannelCount is 0 has no social account attached yet and
cannot publish; badge it and route the user to a
connection link. Page with page and
size while pageInfo.hasNextPage is true.
Use case: reconciling your records. Walk every page nightly and match id
against the brand IDs you stored at create time. A brand that has disappeared
from the default listing has been archived; pass
filters={"statuses":["ARCHIVED"]} to see it.
Notes.
idis the plain UUID used as thebrandIdpath token elsewhere in the Social API, and associalProfileIdin request bodies.- Filters travel as one JSON-encoded string in the
filtersquery parameter, not as separate parameters. URL-encode it. If you sendfiltersat all, it must containstatuses;profileNameis optional alongside it. - Paging is offset-based (
page/size), not cursor-based like the Locations and Reviews endpoints.pageInfo.totalis the total number of matching brands, not the number on this page.pageInfo.totalEngagementPostsandtotalPublishedPostsare post counters shared with the post list and are0here. connectedChannelCountcounts active connections only; a disconnected channel drops out of the count immediately. For the channels themselves, callGET /social/brands/{brandId}/connections.timezone.tzCodeis the IANA identifier every schedule on that brand is resolved against; the other three timezone fields are display labels.- There is no brand cap to reconcile against. Brands are unlimited on API
plans, so the length of this list is informational. The number that is capped
is connections: read it from
GET /social/limits. Archiving a brand takes effect immediately and releases its connections at the same moment, so a brand that has left this list has already given its slots back.
curl -X GET 'https://listingsapi.com/api/v4/social/brands' \ -H "Authorization: API $LISTINGSAPI_KEY"