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.
