Create a Screenshot Request

The Campaign object

The campaign object is used to tell us where to store the Ad and Screenshot data for the request. You must included either or in the request.

Using is the most common, as we will find or create a Campaign using this key

  • -> the Ad Reform ID for an existing Campaign. Use this if you know the specific ID for the campaign you want to use, otherwise use

  • -> the name you want to use for the Campaign. If a Campaign already exists with this name, we'll use that, otherwise we'll create a new one with this value as the name.

The Ad object

The ad object (within each object in the screenshot_requests array) is used to indicate what ad data you want to use in the screenshots you're requesting. This can be entirely new ad data (i.e. an ad creative that does not yet exist in your Ad Reform account), or it can be the id or lookup_key pointing to an existing ad.

  • -> the Ad Reform ID for an existing Ad in your account.

  • ad.lookup_key -> a unique ID for an Ad. If an Ad already exists with this key, we'll use that Ad, otherwise we'll create a new one with this value as the lookup_key.

  • -> an object with type and content keys that contains actual Ad creative data. .

You can use both (to send in raw ad data) and ad.lookup_key together in a request, so future requests with the same lookup_key will be associated to the same Ad in Ad Reform

The Media object

To create a new ad, provide ad creative content in the media object (within the ad object):

"ad": {
  "media": {
    "type": "url"
    "content": ""

Supported media types

Here are the supported type values and some related content examples:



<img src="" width="300" height="250" />

An HTML string containing ad creative content (often a <script> tag or an <image> tag)


The URL for an ad creative, such as an image, video, VAST tag, or HTML5 zip file

The Screenshots array

Within the screenshots array, there will be a JSON object for each screenshot for the associated ad. Each object is composed of site object and a device object.

"screenshots": [
    "device": {
        "name": "Desktop"
    "site": {
        "url": ""

The Site object

The Site object in the screenshots array must include a url key.

  • site.url -> the website URL

"site": {
  "url": ""

The Device object

The Device object in the screenshots array must include a name key.

  • -> the device to use when generating the screenshot

"device": {
  "name": "Desktop"

Supported devices

Here's a list of supported values:

  • mobile

  • iphone

  • tablet

  • ipad

  • Apple iPad

  • Apple iPhone 5

  • Apple iPhone 6

  • Apple iPhone 6 Plus

  • Apple iPhone X

  • Desktop

  • Google Nexus 10

  • Google Nexus 5

  • Google Nexus 6

  • Google Pixel 4

  • Samsung Galaxy S10

Last updated

Was this helpful?