Marques et suivi des marques
This supplements the Référence API. GET /api/v1/brands is the API-key tracked-brands list (metered credits). Detail tabs and deep brand analytics use /api/brands/* in the browser while you are logged in.
Path note: Tracked brands over an API key: only
GET /api/v1/brands.GET /api/brandsis the tableau de bord list for the logged-in session (same underlying data, not the metered JSON route for keys). Meta ad library (GET /api/v1/adlibrary) is documented in Meta ad library.
MCP tool (Brand tracker)
list_tracked_brands— same data asGET /api/v1/brands(optionalrechercher,trier,board_id).
Setup: MCP. Parameters: MCP · tools reference. For search_facebook_ads, see Meta ad library.
Shared auth and metering (/api/v1/adlibrary, /api/v1/marques)
GET /api/v1/brands uses the same auth and metering path as /api/v1/adlibrary. Full parameter context for the ad library route lives in Meta ad library.
- API key:
Clé X-API,Autorisation : au porteur, or?api_key=(see Référence API). - Session: If the visitor is already logged in, the same routes can run without a key; the active user must still meet the API access check below.
- Plan: Account must include API access. Otherwise
403. - Credits / rate limit: Monthly API credits and 60 requests per minute per user. On exhaustion,
429with a JSON error and optionalgénériqueobject.
When you use an API key without an existing browser session, the server still resolves the key to your account for that request so behavior matches the dashboard.
GET /api/v1/brands — Tracked brands list (API key)
Returns the same tracked-brands list you see in the app’s Brand tracker, scoped to the API key owner.
Query parameters
| Paramètre | Par défaut | Description |
|---|---|---|
trier |
date_added |
date_added, nom, new_ads, growth |
rechercher |
'' |
Case-insensitive match on brand name or page id |
board_id |
— | If set, only brands on that saved board (must belong to the user) |
Response
JSON array of brand rows (not wrapped in { success, data }). Each item includes fields such as id (Facebook page id), nom, logo_url, added_at, page_url, status, total_ads, active_ads_on_page, formats, new_ads_count, new_ads_change, and related summary fields (same shape as the in-app list).
Brand details (GET /api/brands/*) — session / logged-in
These routes require a logged-in browser session (except GET /api/brands/shared-board, which uses a token). They are pas the metered API-key list — that is GET /api/v1/brands only. Automating detail tabs means driving the app with session cookies, not the API key alone.
Brand identifier: Almost all detail endpoints take id = Facebook page_id (same as id in the brands list).
Track / untrack brands (session)
Yes — you can both track and remove brands in the Brand tracker, using session-authenticated routes:
Track a brand
POST /api/brands/follow
JSON body:
{ "url": "https://www.facebook.com/ads/library/?view_all_page_id=108897621643793" }
Remarques :
- Requires a logged-in session and plan capacity.
- Returns
success, plusbrand,has_data, etdetails_urlwhen accepted.
Remove a tracked brand
POST /api/brands/unfollow
JSON body:
{ "page_id": "108897621643793" }
Remarques :
- Removes the brand from your tracker.
- Also removes that brand from your boards for the current user.
- Returns
success,amount, etmax_allowed.
Count tracked brands
GET /api/brands/amount-tracked returns:
amount- number of brands currently tracked by the logged-in user.max_allowed- plan cap for Brand tracker.
Date range filter (many detail tabs)
Query parameters map as follows:
date_range |
Meaning |
|---|---|
(absent) ou all |
No date filter |
live |
Last seen in the last 3 days (updated_at field) |
7d, 30d, 3m, 6m |
Ads with start date on or after the rolling cutoff (started field) |
custom |
Requires date_de_début et date_to as Y-m-d |
Used directly by GET /api/brands/ads. The same filter applies to other brand insight tabs (ad copies, headlines, hooks, personas, themes, …): pass the same date_range / date_de_début / date_to query params on those endpoints.
Example: paginated ads for one brand
GET /api/brands/ads?id={page_id}&page={n}
page: 0-based page index (12 ads per page).- Optional date filter:
date_range,date_de_début,date_toas above. - Response: JSON array of processed ad objects.
Other detail endpoints — common query parameters
| Paramètre | Where it applies |
|---|---|
id |
Marque page_id on ads, ad-hooks, ad-copies, ad-headlines, personas, themes, angles, desires, emotions, awareness-stages, funnel-stages, usps, landing-pages, and similar get* methods. |
page |
Ads list: 0-based, 12 ads/page. Many other tabs use 1-based pagination (typically 20 rows per page). |
trier, rechercher |
Text / insight tabs; default Utilisation or method-specific (see each handler). |
date_range, date_de_début, date_to |
Any tab that supports the date filter (same semantics as the table above). |
view=eu |
When view is eu, EU-specific field variants and search behavior apply. |
GET /api/brands/ads-by-ids |
ids — comma-separated ad ids. |
GET /api/brands/search |
q — search string. |
GET /api/brands/ads-launched |
min, max (date strings), metric: ads_launched (default), spend, reach (spend/reach EU-oriented per code comments). |
GET /api/brands/shared-board |
token, rechercher, trier — public share link; no login cookie required. |
GET /api/brands/download-landing-screenshot |
url — target page URL to capture. |
Brand-related routes are also summarized in the API reference.