---
title: "Creative weights — bytes one impression pulls, heaviest creatives first"
type: reference
method: GET
path: /rest-api/banners/weights.do
tag: "Banners"
---

# Creative weights — bytes one impression pulls, heaviest creatives first

`GET https://YOUR-NETWORK-DOMAIN/rest-api/banners/weights.do`

Lists the creatives the account can see by their weight: the bytes one impression downloads from the network's own servers and CDN, with the files they come from (image, video, the largest advanced-video rendition, native assets, template files, the unpacked HTML5 files, the VPAID script). Files a creative loads from the advertiser's own host cost the network's CDN nothing and are listed at 0 bytes; creatives with nothing of ours are left out unless includeExternal=true. Multiplying a creative's bytes by its impressions estimates the CDN traffic it caused. Weights are recomputed within minutes of a creative being saved and re-read weekly; a creative saved a moment ago may not be listed yet. Each creative carries its media (VIDEO when it serves a video file of ours, else DISPLAY) and the weight it is measured against: the IAB subload limit for its size, the network's limit for sizes IAB has no figure for, or the network's video limit; heavy=true when it is over. The limits are absent when the network has heavy-creative warnings switched off. A size threshold means different things per media - 300 KB is heavy for a banner and small for a video - so filter by media with minBytes, or use heavyOnly; totals splits every match by media.

## Query params

| Name | Type | Required | Example | Description |
|---|---|---|---|---|
| `advertiserId` | integer | no | `1001` | Only this advertiser's creatives |
| `campaignId` | integer | no | `2001` | Only this campaign's creatives |
| `bannerIds` | array<integer> | no | `3001` | Only these creatives |
| `includeExternal` | boolean | no | `false` | Also list creatives whose files all come from the advertiser's host |
| `media` | string | no | `VIDEO` | Only creatives that serve a video file of ours (VIDEO), or only the others (DISPLAY) |
| `minBytes` | integer | no | `4194304` | Only creatives weighing at least this many bytes per impression |
| `heavyOnly` | boolean | no | `false` | Only creatives over their weight limit |
| `start` | integer | no | `0` | Creatives skipped before the first one listed, for paging |
| `limit` | integer | no | `20` | Creatives listed, heaviest first; default 20, at most 500 |

## Responses

- `200` — {success, total, more, totals:{VIDEO, DISPLAY}, creatives:[{bannerId, bannerName, bannerType, media, campaignId, campaignName, advertiserId, advertiserName, width, height, bytes, servedByUs, limitBytes, limitBasis, heavy, assets:[{kind, name, bytes, servedByUs}]}]}
- `400` — Bad request — invalid or missing parameters
- `401` — Authentication error
- `403` — The role may not view campaigns and banners

## Example request

```bash
curl --request GET \
  --url 'https://YOUR-NETWORK-DOMAIN/rest-api/banners/weights.do?advertiserId=1001&campaignId=2001&bannerIds=3001&includeExternal=false&media=VIDEO' \
  --header 'X-Api-Key: YOUR_API_KEY'
```

Source: https://epom.com/ad-server/docs/api/banners/get-banners-weights