chevron_rightAd Tags
chevron_rightHTML5 Ads
chevron_rightVAST Tags
chevron_rightVideo Ads
Ad Load Size Detector
Initial Load Detector
Host-initiated Subload Detector
Network Requests Detector
CPU Usage Tester
DOMContentLoaded Detector
Ad Size Validator
Has Video Detector
Memory Usage Detector
SSL-Compatibility Detector
Iframe Count Detector
Cookies Dropped Detector
Chrome Heavy Ad Intervention Detector
JavaScript Error Detector
Console Warning Detector
Mobile Friendly Tester
Creative Rendered Detector
Blocked by AdBlock Detector
Document.write() Detector
Creative Border Detector
Ad Server Vendor Detector
Missing Asset Detector
Dialog and Modal Detector
Measurement Pixels Detector
Local Storage Detector
HTML Syntax Error Detector
Ad Tag Landing Page Checker
Meta ad.size Detector
Click Tag Detector
CSS/JS Minified Detector
Image Optimization Detector
External Asset Detector
Uses jQuery Detector
HTML5 Library Detector
Hosted File Size Detector
HTML5 Allowed File Type Detector
Ad Load Size Detector
Initial Load Detector
Host-initiated Subload Detector
Network Requests Detector
CPU Usage Tester
DOMContentLoaded Detector
Ad Size Validator
Has Video Detector
Memory Usage Detector
SSL-Compatibility Detector
Iframe Count Detector
Cookies Dropped Detector
Chrome Heavy Ad Intervention Detector
JavaScript Error Detector
Console Warning Detector
Creative Rendered Detector
Blocked by AdBlock Detector
Document.write() Detector
Creative Border Detector
Missing Asset Detector
Dialog and Modal Detector
Measurement Pixels Detector
Local Storage Detector
HTML Syntax Error Detector
VAST Ad System Detector
VAST CORS Header Detector
VAST Creative Count Detector
VAST SSL-Compatibility Tester
VAST Version Detector
VAST Wrapper Redirect Detector
VAST XML Content-Type Detector
VAST XML Load Time Detector
VAST HTTP Code Detector
VAST XML File Size Detector
VAST Impression Logging Detector
VAST Audio Channels Detector
VAST Audio Compression Detector
VAST Audio Sample Rate Detector
VAST Audio Codec Detector
VAST Audio Loudness Detector
VAST True Peak Detector
VAST Audio Bit Rate Detector
VAST Video Aspect Ratio Detector
VAST Video Dimensions Detector
VAST Video Duration Detector
VAST Video Bit Rate Detector
VAST Video Bit Rate Mode Detector
VAST Video Chroma Subsampling Detector
VAST Video Color Space Detector
VAST Video Frame Rate Detector
VAST Video File Size Detector
VAST Video Container Detector
VAST Video File Extension Detector
VAST Video Codec Detector
VAST MOOV Atom Location Detector
VAST Delivery Type Detector
VAST Skip Offset Detector
VAST Video Mime-Type Detector
Video Codec Detector
Aspect Ratio Detector
Video Dimension Detector
Video Frame Rate Detector
MOOV Atom Position Detector
Video Color Space Detector
Video Chroma Subsampling Detector
Audio Codec Detector
Audio Loudness Detector (LUFS)
Audio True Peak Detector
Audio Sample Rate Detector
Audio Channel Detector
Audio Compression Detector
Audio Bit Rate Detector
Video Container Format Detector
Video Bit Rate Detector
Bit Rate Mode Detector
File Size Detector
File Extension Detector
Video Duration Detector
Video Mime Type Detector
document_scanner
Ad Tag Tester
CPU/RAM usage, Dimensions, SSL...
document_scanner
HTML5 Ad Validator
Initial Load, Click Tags, Meta ad.size...
document_scanner
VAST Validator
Audio Loudness, Video Codecs, Dimensions...
document_scanner
Video Validator
MOOV Atoms, Audio Loudness, Bit Rates...
headset
Live Chat Online
Get instant answers to your questions
email
Contact Support
Reach out to see how AdValify can help
cloud
Network Status
See live network status updates
emoji_events
Customer Testimonials
Read what others have to say about AdValify
auto_stories
User Guide
Get started with AdValify in seconds
document_scanner
Creative QA Tests
CPU/RAM usage, Initial Load, SSL, etc.
emoji_events
Customer Testimonials
Read what others have to say about AdValify
api
API: Ad Tag Tester
API docs to validate ad tags
api
API: HTML5 Ad Validator
API docs to validate HTML5 ads
api
API: VAST Validator
API docs to validate VAST ads
open_in_new
GitHub PHP Class
PHP Ad Validator Class
public
Network Status
Live infrastructure status
AdValify.io Logo
AdValify
Ad Validation Made Easy
 
 

Scan VAST Tags

Endpoint

post
/v3/scanVAST



Parameters

data
string, required
The VAST URL in base64-encoded format, pointing to a valid VAST XML document.
spec_id
int, optional
The ID of a custom ad specification set, used to validate the creative. Defaults to 0 (IAB guidelines).
name
string, optional
The name of the VAST tag. Will be added to the JSON result, allowing you to keep track of which creative you scanned.


Response
200
400
401
429

ad_system
string
The name of the VAST ad server, if detected successfully. Remains blank otherwise.
ad_title
string
The title of the VAST ad, as provided by the advertiser.
cors
boolean
Whether or not the CORS header for the VAST document was set correctly.
creatives
array
An array with data points collected from the VAST tag. See the response object for more details.
click_through - the final URL when clicked on the video.
duration - the duration of the video as reported.
skip_offset - the skip offset in seconds, if set.
mediafiles - see here below.
mediafiles
array
An array with data points collected from the media file. See the response object for more details.
attributes - the VAST attributes, as reported.
audio_wave - an image of the sound wave of the video.
download_speed - download speed of the video in MB/s.
file_info.audio - audio bit rate, codec, loudness in LUFS, sample rate.
file_info.container - video format, mime-type and the MOOV atom position (for MP4).
file_info.video - aspect ratio, bit rate, codec, dimensions, real duration, frame rate and much more.
file_size - the file size of the video in bytes.
film_strip - multiple JPG screenshots of the video.
http_code - the HTTP code returned while downloading.
poster - a high-resolution JPG poster of the video.
url - the location of the video, to be downloaded.
job_id
string
A unique ID assigned to the scan.
meta
array
Meta-data about the scan, like the CPU used, the time it took to complete the scan, the server location, etc.
pixels
array
An array of impression pixel URLs that were fired.
name
string
The name of the creative (copied from the payload).
tips_and_updatesscan_results
object
An object containing the full scan results, including the number of passed/failed tests. The tests array contains the result of each test performed. It's organized using the subarrays xml and creative_X_mediafile_Y.
screenshot
array
A screenshot of the creative, in both high-res and thumbnail format. The url points to the location where the screenshot can be found.
ssl
boolean
An object with information about the creative's SSL-compliancy. Insecure URLs loaded over http:// will be listed here.
type
string
The type of the VAST document, like inline.
vast_version
string
The VAST version (2.0 - 4.1).
wrapper_redirects
int
The number of VAST wrapper redirects using VASTAdTagURI.
xml
string
Details about the XML document returned, like the HTTP code, load time, content-type and its content.
cURL
curl "https://.api.advalify.io/v3/scanVAST"
  -H "X-ApiKey: TCm2Hd_rT4pRNvSZ2cGYCJ6... (example)"
  -X POST
  -d '{
    "data": "aHR0cHM6Ly93d3cuZG9tYWluLmNvbS92YXN0LnhtbA=="
  }'
Example Response
{
     "ad_system": "Some Ad Server",
     "ad_title": "VAST Ad",
     "cors": true,
     "creatives": [{
         "click_through": {
             "url": "https://www.google.com"
        },
         "duration": "00:01:00",
         "mediafiles": [{
             "attributes": {
                 "bitrate": 1063,
                 "delivery": "progressive",
                 "height": 720,
                 "maintainaspectratio": "true",
                 "scalable": "true",
                 "type": "video/mp4",
                 "width": 1280
            },
             "audio_wave": {
                 "bytes": 10007,
                 "mime_type": "image/png",
                 "url": "https://try.cdn.advalify.io/img/zbs22_zbs22-beed1-d0083_3stdhrq2.png"
            },
             "download_speed": 12,
             "file_info": {
                 "audio": {
                     "bit_rate": 129,
                     "codec": "AAC LC",
                     "loudness": {
                         "lra": 3.4,
                         "lufs": -8.1
                    },
                     "sample_rate": 44.1
                },
                 "container": {
                     "format": "MPEG-4",
                     "mime_type": "video/mp4",
                     "moov_atom_position": "beginning"
                },
                 "video": {
                     "aspect_ratio": "16:9",
                     "bit_depth": 8,
                     "bit_rate": 1063,
                     "codec": "H.264",
                     "definition": "HD",
                     "dimensions": "1280x720",
                     "duration": 60,
                     "frame_rate": 24,
                     "height": 720,
                     "letterboxing": false,
                     "width": 1280
                }
            },
             "file_size": 8990721,
             "film_strip": {
                 "bytes": 31110,
                 "mime_type": "image/jpg",
                 "url": "https://try.cdn.advalify.io/img/zbs22_zbs22-beed1-d0083_bwrpdfk3.jpg"
            },
             "http_code": 200,
             "poster": {
                 "bytes": 47768,
                 "mime_type": "image/jpg",
                 "url": "https://try.cdn.advalify.io/img/zbs22_zbs22-beed1-d0083_h3nkf4qz.jpg"
            },
             "url": "https://www.domain.com/w3dqw_h9889k_34170d4b.mp4"
        }],
         "skip_offset": 5
    }],
     "job_id": "zbs22-beed1-d0083",
     "meta": {
         "api_version": "v3",
         "cpu": "AMD 16-Core EPYC 7302P",
         "creative_type": "vast",
         "device": "Desktop",
         "language": "en-US",
         "ram": "128GB",
         "scan_duration": "4.597198",
         "server_location": "ams",
         "timestamp": 1627332055,
         "ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Google Chrome 92.0.4515.107 Safari/537.36"
    },
     "name": "https://www.domain.com/vast.xml",
     "pixels": {
         "impression": ["https://www.domain.com/data?data=eyJ0aW1lIjoxNjI3MzMyMDUxLCJ0eXBlIjoiaW1wIiwieklEIjoyOTY5Njk4NjEsImNJRCI6IjM4MTk0ODg2NSIsImNySUQiOiI2OTI5MDQwMTEiLCJ0aWVyIjoiMiIsImFkdHlwZSI6InZhc3QiLCJhZGZvcm1hdCI6IiIsImRvbWFpbiI6ImNyZWF0aXZlcWEuaW8iLCJjcl9vcHRfZ3JvdXAiOiJjb250cm9sIiwic3NsIjoieWVzIiwiY29vcmQiOiI1MiM1IiwidmFsdWUiOjAsIl8iOjU0MTkxOX0.-738f09b4"]
    },
     "scan_results": {
         "failed": 2,
         "passed": 19,
         "report_url": "https://share.advalify.io/c2450-f8e87-71c8a-bf12f",
         "tests": {
             "xml": {
                 "xml_ad_system": {
                     "test": "xml_ad_system",
                     "name": "Ad System",
                     "data_type": "string",
                     "unit": "",
                     "expected": "",
                     "actual": "Some Ad Server",
                     "operator": "",
                     "result": "ignored"
                }
            },
             "creative_0_mediafile_0": {
                 "video_audio_channels": {
                     "test": "video_audio_channels",
                     "name": "Audio Channels",
                     "data_type": "int",
                     "unit": "",
                     "expected": 2,
                     "actual": 2,
                     "operator": "=",
                     "result": "passed"
                }
            }
        }
    },
     "screenshot": {
         "highres": {
             "bytes": 47768,
             "color": "#767a83",
             "mime_type": "image/jpg",
             "url": "https://try.cdn.advalify.io/img/zbs22_zbs22-beed1-d0083_km58bn7r.jpg"
        },
         "thumbnail": {
             "bytes": 2486,
             "color": "#767a83",
             "mime_type": "image/jpg",
             "url": "https://try.cdn.advalify.io/img/zbs22_zbs22-beed1-d0083_dstnqvrp.jpg"
        }
    },
     "ssl": {
         "compliant": true,
         "non_secure_urls": []
    },
     "type": "inline",
     "vast_url_base64": "aHR0cHM6Ly90cnkuZW5naW5lLmFkZ2xhcmUubmV0Lz8yOTY5Njk4NjE=",
     "vast_version": "3.0",
     "wrapper_redirects": 0,
     "xml": {
         "content_type": "text/xml",
         "data_base64": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPFZBU1QgdmVyc2lvbj0iMy4wIj4KICA8QWQgaWQ9ImFkZ2xhcmVfMzgxOTQ4ODY1Ij4KICAgIDxJbkxpbmU+CiAgICAgIDxBZFN5c3RlbT5BZEdsYXJlIEFkIFNlcnZlcjwvQWRTeXN0ZW0+CiAgICAgIDxBZFRpdGxlPlZBU1QgQWQ8L0FkVGl0bGU+CiAgICAgIDxJbXByZXNzaW9uIGlkPSIzODE5NDg4NjUiPjwhW0NEQVRBW2h0dHBzOi8vdHJ5LmVuZ2luZS5hZGdsYXJlLm5ldC9kYXRhP2RhdGE9ZXlKMGFXMWxJam94TmpJM016TXlNRFV4TENKMGVYQmxJam9pYVcxd0lpd2lla2xFSWpveU9UWTVOams0TmpFc0ltTkpSQ0k2SWpNNE1UazBPRGcyTlNJc0ltTnlTVVFpT2lJMk9USTVNRFF3TVRFaUxDSjBhV1Z5SWpvaU1pSXNJbUZrZEhsd1pTSTZJblpoYzNRaUxDSmhaR1p2Y20xaGRDSTZJaUlzSW1SdmJXRnBiaUk2SW1OeVpXRjBhWFpsY1dFdWFXOGlMQ0pqY2w5dmNIUmZaM0p2ZFhBaU9pSmpiMjUwY205c0lpd2ljM05zSWpvaWVXVnpJaXdpWTI5dmNtUWlPaUkxTWlNMUlpd2lkbUZzZFdVaU9qQXNJbDhpT2pVME1Ua3hPWDAuLTczOGYwOWI0XV0+PC9JbXByZXNzaW9uPgogICAgICA8Q3JlYXRpdmVzPgogICAgICAgIDxDcmVhdGl2ZSBzZXF1ZW5jZT0iMSI+CiAgICAgICAgICA8TGluZWFyIHNraXBvZmZzZXQ9IjAwOjAwOjA1Ij4KICAgICAgICAgICAgPER1cmF0aW9uPjAwOjAxOjAwPC9EdXJhdGlvbj4KICAgICAgICAgICAgPFZpZGVvQ2xpY2tzPgogICAgICAgICAgICAgIDxDbGlja1Rocm91Z2g+PCFbQ0RBVEFbaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbV1dPjwvQ2xpY2tUaHJvdWdoPgogICAgICAgICAgICAgIDxDbGlja1RyYWNraW5nPjwhW0NEQVRBW2h0dHBzOi8vdHJ5LmVuZ2luZS5hZGdsYXJlLm5ldC9jP2RhdGE9ZXlKMGFXMWxJam94TmpJM016TXlNRFV4TENKNlNVUWlPakk1TmprMk9UZzJNU3dpWTBsRUlqb2lNemd4T1RRNE9EWTFJaXdpWTNKSlJDSTZJalk1TWprd05EQXhNU0lzSW1SdmJXRnBiaUk2SW1OeVpXRjBhWFpsY1dFdWFXOGlMQ0pqY2w5dmNIUmZaM0p2ZFhBaU9pSmpiMjUwY205c0lpd2lhWEJvWVhOb0lqb2laVEkzWXpBMk1Ea2lMQ0p5WldabGNtVnlJam9pYUhSMGNITWxNMEVsTWtZbE1rWjNkM2N1WTNKbFlYUnBkbVZ4WVM1cGJ5VXlSblpoYzNRdGRtRnNhV1JoZEc5eUlpd2lYeUk2TlRjd05qUTNmUS4uLWIzZDFiZGI0JmxvZz0xXV0+PC9DbGlja1RyYWNraW5nPgogICAgICAgICAgICA8L1ZpZGVvQ2xpY2tzPgogICAgICAgICAgICA8TWVkaWFGaWxlcz4KICAgICAgICAgICAgICA8TWVkaWFGaWxlIHdpZHRoPSIxMjgwIiBoZWlnaHQ9IjcyMCIgZGVsaXZlcnk9InByb2dyZXNzaXZlIiB0eXBlPSJ2aWRlby9tcDQiIGJpdHJhdGU9IjEwNjMiIHNjYWxhYmxlPSJ0cnVlIiBtYWludGFpbkFzcGVjdFJhdGlvPSJ0cnVlIj48IVtDREFUQVtodHRwczovL3RyeS5jZG4uYWRnbGFyZS5uZXQvdDhkZDYwOTI4L2ltZy93M2Rxd19oOTg4OWtfMzQxNzBkNGIubXA0XV0+PC9NZWRpYUZpbGU+CiAgICAgICAgICAgIDwvTWVkaWFGaWxlcz4KICAgICAgICAgIDwvTGluZWFyPgogICAgICAgIDwvQ3JlYXRpdmU+CiAgICAgIDwvQ3JlYXRpdmVzPgogICAgPC9JbkxpbmU+CiAgPC9BZD4KPC9WQVNUPgo=",
         "file_size": 1432,
         "http_code": 200,
         "load_time": 0
    }
}
Giovanni uses the API
to enfore compliance at scale
format_quote
Giovanni Sollazzo
starstarstarstarstar
Founder & Chairman, AIDEM Technologies