Video campaigns (aka brand video) require a special Taboola account.
Overview
The video campaigns creative
API allows you to manage creative assets and metadata for existing video campaigns.
GET
operationsThis page focuses (mainly) on the
GET
operations for creatives.
Media Types
Video creatives support 2 media types:
Type | Description |
---|---|
| Video Ad Serving Template
|
| AI-Generated Video Content
|
Authentication
All API requests require authentication using OAuth 2.0 client credentials. See Client Credentials Flow for detailed authentication instructions.
Endpoints and examples
List video campaign creatives
Retrieve all video creatives for a specific campaign.
Endpoint pathCreative endpoints use the general
video-campaigns
path, not thevideo-campaigns/managed
path.
GET /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}/creative
Authorization: Bearer {access_token}
Content-Type: application/json
{
"results": [
{
"id": 98765432,
"advertiser_id": "987654",
"campaign_id": 12345678,
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"name": "Summer Video Creative 2024",
"is_active": true,
"deleted": false,
"landing_page_url": "https://example.com/summer-sale",
"brand_name": "ACME Products",
"title": "Summer Sale - 50% Off Everything",
"description": "Don't miss our biggest summer sale with up to 50% off all products",
"pixels": [
{
"pixel_type": "IMPRESSION",
"urls": [
"https://tracking.example.com/impression?id=12345"
]
}
],
"media_source": {
"media_type": "VAST",
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"hash_ids": [1001, 1002, 1003]
}
},
{
"id": 98765433,
"advertiser_id": "987654",
"campaign_id": 12345678,
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765433",
"name": "Holiday Video Creative 2024",
"is_active": false,
"deleted": false,
"landing_page_url": "https://example.com/holiday-deals",
"brand_name": "ACME Products",
"title": "Holiday Specials - Limited Time",
"description": "Exclusive holiday deals available for a limited time only",
"pixels": [
{
"pixel_type": "IMPRESSION",
"urls": [
"https://tracking.example.com/impression?id=12346"
]
}
],
"media_source": {
"media_type": "GENERATED_VIDEO",
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765433",
"hash_ids": [2001, 2002]
}
}
]
}
Get a video campaign creative
Retrieve detailed information for a specific video creative.
GET /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}/creative/{creative_id}
Authorization: Bearer {access_token}
Content-Type: application/json
{
"id": 98765432,
"advertiser_id": "987654",
"campaign_id": 12345678,
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"name": "Summer Video Creative 2024",
"is_active": true,
"deleted": false,
"landing_page_url": "https://example.com/summer-sale",
"brand_name": "ACME Products",
"title": "Summer Sale - 50% Off Everything",
"description": "Don't miss our biggest summer sale with up to 50% off all products",
"pixels": [
{
"pixel_type": "IMPRESSION",
"urls": [
"https://tracking.example.com/impression?id=12345"
]
},
{
"pixel_type": "COMPLETE",
"urls": [
"https://tracking.example.com/complete?id=12345"
]
}
],
"media_source": {
"media_type": "VAST",
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"hash_ids": [1001, 1002, 1003]
}
}
Get video creative assets
Retrieve video assets and upload information for a specific video creative.
GET /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}/creative/{creative_id}/assets
Authorization: Bearer {access_token}
Content-Type: application/json
{
"video_url": "https://cdn.taboola.com/video/12345678/98765432/video.mp4",
"logo": {
"logo_url": "https://cdn.taboola.com/logos/acme-logo.png",
"position": "top-right"
},
"subtitles": {
"subtitle_url": "https://cdn.taboola.com/subtitles/12345678/98765432/subtitles.vtt",
"language": "en"
},
"video_upload_items": [
{
"upload_id": "upload_12345",
"file_name": "summer_video_creative.mp4",
"file_size": 25600000,
"duration": 30,
"resolution": "1920x1080",
"status": "PROCESSED",
"uploaded_at": "2024-06-01T10:30:00Z"
}
]
}
Pause a video creative
Temporarily pause a video creative to stop it from serving.
PUT /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}/creative/{creative_id}
Authorization: Bearer {access_token}
Content-Type: application/json
{
"is_active": false
}
{
"id": 98765432,
"advertiser_id": "987654",
"campaign_id": 12345678,
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"name": "Summer Video Creative 2024",
"is_active": false,
"deleted": false,
"landing_page_url": "https://example.com/summer-sale",
"brand_name": "ACME Products",
"title": "Summer Sale - 50% Off Everything",
"description": "Don't miss our biggest summer sale with up to 50% off all products",
"pixels": [
{
"pixel_type": "IMPRESSION",
"urls": [
"https://tracking.example.com/impression?id=12345"
]
}
],
"media_source": {
"media_type": "VAST",
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"hash_ids": [1001, 1002, 1003]
}
}
Resume a video creative
Resume a paused video creative to resume serving.
PUT /backstage/api/1.0/{account_id}/video-campaigns/{campaign_id}/creative/{creative_id}
Authorization: Bearer {access_token}
Content-Type: application/json
{
"is_active": true
}
{
"id": 98765432,
"advertiser_id": "987654",
"campaign_id": 12345678,
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"name": "Summer Video Creative 2024",
"is_active": true,
"deleted": false,
"landing_page_url": "https://example.com/summer-sale",
"brand_name": "ACME Products",
"title": "Summer Sale - 50% Off Everything",
"description": "Don't miss our biggest summer sale with up to 50% off all products",
"pixels": [
{
"pixel_type": "IMPRESSION",
"urls": [
"https://tracking.example.com/impression?id=12345"
]
}
],
"media_source": {
"media_type": "VAST",
"vast_url": "https://vast.taboola.com/vast/v1/creative/98765432",
"hash_ids": [1001, 1002, 1003]
}
}
Field Definitions
Modifier Column
- Required - field must be included when creating a new resource
- Read-only - should never be sent to the server. Appears only when fetching a resource.
- Final - set once when creating the resource. Thereafter, is read-only.
Creative fields
Field | Type | Modifiers and Defaults | Description |
---|---|---|---|
name | string | Required | Creative name |
vast_url | string | VAST tag URL for video creative | |
landing_page_url | string | Destination URL when creative is clicked | |
brand_name | string | Brand name displayed in creative | |
title | string | Creative title text | |
description | string | Creative description text | |
is_active | boolean | Default: true | Whether creative is active |
pixels | array | Tracking pixels configuration | |
media_source | object | Media source configuration | |
id | number | Read-only | Creative ID (auto-generated) |
advertiser_id | string | Read-only | Advertiser ID (auto-assigned) |
campaign_id | number | Read-only | Campaign ID (auto-assigned) |
deleted | boolean | Read-only | Whether creative has been deleted |
Pixel fields
Field | Type | Description |
---|---|---|
pixel_type | string | Type of tracking pixel (see Pixel Types) |
urls | array | List of tracking URLs for this pixel type |
Pixel types
Type | Description |
---|---|
IMPRESSION | Fires when video is displayed |
START | Fires when video playback starts |
FIRST_QUARTILE | Fires at 25% video completion |
MID_POINT | Fires at 50% video completion |
THIRD_QUARTILE | Fires at 75% video completion |
COMPLETE | Fires when video playback completes |
CLICK_TRACKING | Fires when creative is clicked |
Media source fields
Field | Type | Description |
---|---|---|
media_type | string | Type of media source (VAST, GENERATED_VIDEO) |
vast_url | string | VAST tag URL |
hash_ids | array | Internal hash identifiers for media assets |
Media types
Type | Description |
---|---|
VAST | Video Ad Serving Template format |
GENERATED_VIDEO | AI-generated video content |
Assets fields
Field | Type | Description |
---|---|---|
video_url | string | Direct URL to video file |
logo | object | Logo configuration and URL |
subtitles | object | Subtitles configuration and URL |
video_upload_items | array | Upload metadata and processing status |
Error Responses
400 Bad Request
{
"error": "Bad Request",
"message": "Invalid creative parameters provided",
"details": [
{
"field": "creative_id",
"message": "Creative ID must be a valid number"
}
]
}
401 Unauthorized
{
"error": "Unauthorized",
"message": "Invalid or expired access token"
}
404 Not Found
{
"error": "Not Found",
"message": "Creative not found",
"creative_id": "98765432"
}
422 Unprocessable Entity
{
"error": "Unprocessable Entity",
"message": "Creative belongs to a different campaign",
"details": [
{
"field": "campaign_id",
"message": "Creative does not belong to the specified campaign"
}
]
}