A convenience method for fetching all campaigns across your network.
Returns basic campaign details only. (See the code samples on this page.)
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
Update (2026-01-18)You can now use the
campaignsendpoint to return all campaigns across the network.Guidelines:
- Use
base(this endpoint) to return basic campaign details.- Use
campaignsto return full campaign details.
Guidelines
- To fetch basic campaign details, invoke
campaigns/base:
GET backstage/api/1.0/{network-account}/campaigns/base- To fetch full campaign details, invoke
campaigns:
GET backstage/api/1.0/{network-account}/campaigns/- With each endpoint, you can apply optional filters, including paging and sorting.
Basic usage
GET backstage/api/1.0/demo-advertiser-network/campaigns/base{
"results": [
{
"id": 10645,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
},
{
"id": 10447,
"advertiser_id": 12,
"advertiser_name": "demo-advertiser-02",
"advertiser_description": "Demo Advertiser 02",
"name": "Training Promotion",
"branding_text": "demo-brand-02.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1539079796000,
"total_spent": 1389.4
},
// Additional results omitted...
],
"metadata": {
"total": 1015,
"count": 1015,
//...
}
}Examples with filters
Status
Fetch all campaigns across the network that are awaiting approval by Taboola:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=PENDING_APPROVALFetch all campaigns across the network that are running:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=RUNNINGFetch all campaigns that are running or "paused":
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=RUNNING,PAUSED
Guidelines
- To filter on multiple statuses, pass a comma-delimited list (see example above).
- If you do not pass a
statusfilter, thebaseendpoint will return all campaigns - regardless of status.For a list of possible values for
status, see the status field.
Text Search
Return all campaigns with an ID (or Name) that contains '10645':
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?search_text=10645{
"results": [
{
"id": 10645,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
}
],
"metadata": {
"total": 1,
"count": 1,
//...
}
}Return all campaigns that contain 'Demo' in their name:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?search_text=Demo{
"results": [
{
"id": 10645,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
},
{
"id": 10447,
"advertiser_id": 12,
"advertiser_name": "demo-advertiser-02",
"advertiser_description": "Demo Advertiser 02",
"name": "Training Promotion",
"branding_text": "demo-brand-02.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1539079796000,
"total_spent": 1389.4
}
],
"metadata": {
"total": 2,
"count": 2,
//...
}
}The
search_textfilter looks for matches on Campaign ID or Name.Filtering on a specific Campaign ID will typically return that campaign only.
Combining filters
Return all campaigns that are running and contain 'Demo' in their name:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?status=RUNNING&search_text=Demo
Combining filters
- You can combine different filters - e.g.
status=RUNNING&search_text=Demo.- You cannot repeat the same filter twice.
No matching campaigns
If there are no campaigns that match the requested filter, a 404 status is returned:
{
"http_status": 404,
"message": "No matching campaigns found",
"message_code": "api.action.resource_not_found"
}Paging
Use a page size of 100 - and fetch page 1:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?page_size=100&page=1{
"results": [
{
"id": 106,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
},
{
"id": 447,
"advertiser_id": 12,
"advertiser_name": "demo-advertiser-02",
"advertiser_description": "Demo Advertiser 02",
"name": "Training Promotion",
"branding_text": "demo-brand-02.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1539079796000,
"total_spent": 1389.4
},
//...
],
"metadata": {
"total": 1015,
"count": 100,
//...
}
}The
page_sizeandpagequery params are always passed together.
Sorting
Sort campaigns by total_spent in descending order:
GET backstage/api/1.0/demo-advertiser-network/campaigns/base?sort=total_spent,desc{
"results": [
{
"id": 10645,
"advertiser_id": 11,
"advertiser_name": "demo-advertiser-01",
"advertiser_description": "Demo Advertiser 01",
"name": "Smart Phones (Mobile)",
"branding_text": "demo-brand-01.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1528890919000,
"total_spent": 14162.89
},
{
"id": 10447,
"advertiser_id": 12,
"advertiser_name": "demo-advertiser-02",
"advertiser_description": "Demo Advertiser 02",
"name": "Accessories Sale",
"branding_text": "demo-brand-02.com",
"policy_state": "ENABLED",
"status": "RUNNING",
"create_time": 1539079796000,
"total_spent": 1389.4
},
//...
],
"metadata": {
"total": 1015,
"count": 1015,
//...
}
}
Sort parameter formatThe
sortparameter uses a comma-separated format:field,direction
field- The field to sort by.direction-asc(ascending) ordesc(descending).Sortable fields:
name,status,create_date,total_spent.
