Get all campaigns for the specified account.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Update (2026-01-18)
- Invoking the
campaignsendpoint with a network account now returns all campaigns across the network.(Previously, this would return 0 results.)
- To reduce the response size, apply paging and sorting.
- You can also filter for specific campaigns:
GET backstage/api/1.0/{network-account}/campaigns/?campaign_ids=123&campaign_ids=456To fetch basic details for all campaigns across the network, use the
campaigns/baseendpoint.
fetch_levelA convenience method for fetching recent campaigns.
Possible values:
R- Recent: fetch all recent (non-paused) campaigns for the specified account.
RAP- Recent And Paused: fetch all recent campaigns (regardless if paused) for the specified account.In this context, recent means created within the last 30 days or
status="APPROVED".
Deleted campaignsDeleted campaigns (aka terminated campaigns) are not returned.
Basic usage
GET /backstage/api/1.0/demo-advertiser/campaigns?fetch_level=R{
"results": [
{
"id": "5750752",
"advertiser_id": "demo-advertiser",
"name": "Demo Campaign 1",
"branding_text": "The best brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.25,
"safety_rating": null,
"daily_cap": 100,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
{
"id": "5750753",
"advertiser_id": "demo-advertiser",
"name": "Demo Campaign 2",
"branding_text": "A great brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.4,
"safety_rating": null,
"daily_cap": 200,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
// additional campaigns...
],
"metadata": {
//...
}
}Filter for specific campaigns
Fetch specific campaigns across the network by providing campaign IDs:
GET backstage/api/1.0/demo-advertiser-network/campaigns?campaign_ids=5750752&campaign_ids=5750753{
"results": [
{
"id": "5750752",
"advertiser_id": "demo-advertiser-01",
"advertiser_name": "demo-advertiser-01",
"name": "Demo Campaign 1",
"branding_text": "The best brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.25,
"safety_rating": null,
"daily_cap": 100,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
{
"id": "5750753",
"advertiser_id": "demo-advertiser-02",
"advertiser_name": "demo-advertiser-02",
"name": "Demo Campaign 2",
"branding_text": "A great brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.4,
"safety_rating": null,
"daily_cap": 200,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
}
],
"metadata": {
"total": 2,
"count": 2,
//...
}
}Pagination and sorting
Paging
Use a page size of 10 - and fetch page 1:
GET backstage/api/1.0/demo-advertiser-network/campaigns?page_size=10&page=1{
"results": [
{
"id": "5750752",
"advertiser_id": "demo-advertiser-01",
"advertiser_name": "demo-advertiser-01",
"name": "Demo Campaign 1",
"branding_text": "The best brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.25,
"safety_rating": null,
"daily_cap": 100,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
{
"id": "5750753",
"advertiser_id": "demo-advertiser-02",
"advertiser_name": "demo-advertiser-02",
"name": "Demo Campaign 2",
"branding_text": "A great brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.4,
"safety_rating": null,
"daily_cap": 200,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
//...
],
"metadata": {
"total": 50,
"count": 10,
//...
}
}The
page_sizeandpagequery params are always passed together.
Sorting
Sort campaigns by name in ascending order:
GET backstage/api/1.0/demo-advertiser-network/campaigns?sort=name,asc{
"results": [
{
"id": "5750753",
"advertiser_id": "demo-advertiser-02",
"advertiser_name": "demo-advertiser-02",
"name": "Demo Campaign 2",
"branding_text": "A great brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.4,
"safety_rating": null,
"daily_cap": 200,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
{
"id": "5750752",
"advertiser_id": "demo-advertiser-01",
"advertiser_name": "demo-advertiser-01",
"name": "Demo Campaign 1",
"branding_text": "The best brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.25,
"safety_rating": null,
"daily_cap": 100,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
//...
],
"metadata": {
"total": 50,
"count": 50,
//...
}
}
Sort parameter formatThe
sortparameter uses a comma-separated format:field,direction
field- The field to sort by.direction-asc(ascending) ordesc(descending).Most campaign fields are sortable. Fields that are primitive types (strings, numbers, dates) or enums can be sorted. Complex objects (e.g., targeting configurations) cannot be sorted.
Commonly sorted fields include:
name,status,spent,cpc,daily_cap,spending_limit,start_date.
Combining filters
Use fetch_level with pagination to fetch recent campaigns in smaller chunks:
GET backstage/api/1.0/demo-advertiser-network/campaigns?fetch_level=R&page_size=10&page=1{
"results": [
{
"id": "5750752",
"advertiser_id": "demo-advertiser-01",
"advertiser_name": "demo-advertiser-01",
"name": "Demo Campaign 1",
"branding_text": "The best brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.25,
"safety_rating": null,
"daily_cap": 100,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
{
"id": "5750753",
"advertiser_id": "demo-advertiser-02",
"advertiser_name": "demo-advertiser-02",
"name": "Demo Campaign 2",
"branding_text": "A great brand",
"tracking_code": "utm_source=taboola&utm_medium=referral",
"pricing_model": "CPC",
"cpc": 0.4,
"safety_rating": null,
"daily_cap": 200,
"daily_ad_delivery_model": "STRICT",
"spending_limit": 5000,
"spending_limit_model": "MONTHLY",
// additional fields...
},
//...
],
"metadata": {
"total": 30,
"count": 10,
//...
}
}
Combining filters
- You can combine different filters - e.g.
fetch_level=R&page_size=10&page=1.- You cannot repeat the same filter twice.
Rate limit
Rate limitTier 4. Listing campaigns has its own budget, separate from the rest of the campaign endpoints.
See Rate limits for the request allowance each tier carries.
