Menu
Request a storefront

LinkToLooks · Guides · Creator Desk

Creator Desk

The photo you need before you can link a product

Nearly every listing ships an image. Fetching 200 of them shows how many load, how big they really are, and how one retailer answers ‘no’ with a valid JPEG.

Part of: For creators

Almost every affiliate listing ships an image — 5,016 of 5,040 in this pull, 99.5%. Fetching 200 of them found 89.0% still resolve, a median width of 800 pixels, and only 34.8% large enough to fill an Instagram post without upscaling.

And the size you are given is not always the size that exists. On one retailer’s CDN the dimensions are written into the URL, and asking for a bigger one sometimes works, sometimes returns a smaller master, and sometimes returns a grey No Image Available graphic — at HTTP 200, as a valid JPEG, indistinguishable from success to anything that checks status codes.

Nearly every listing has one

5,016 of 5,040 rows carried an image URL. Across 61 distinct image hosts, the field is one of the most reliably populated in the whole feed — more reliable than the barcode (41.9%) and more reliable than a sale price (35.8%).

Eighty of them, 1.6%, are served over plain http rather than https. We tested seventeen of those across all three hosts and every one answered over https too, so this is a feed that has not been updated rather than a host that cannot do it. If you are embedding a feed image on your own site, rewrite the scheme: a mixed-content image is a broken image in a modern browser.

One in nine does not load

We fetched 200 image URLs, sampled up to four per advertiser so that one large retailer could not decide the answer. 178 returned a decodable image. The 22 failures were 13 connection or DNS errors, 8 HTTP errors and one URL the library refused to parse at all.

Failures cluster by host, exactly like every other defect we have measured in these feeds: three from one manufacturer’s own site, two each from four others. This is consistent with a separate study of ours that re-requested twelve named hosts and found seven still failing.

One warning from our own run: a host that fails from a script is not necessarily down. We hit repeated getaddrinfo failures on one host that returned HTTP 200 to curl in the same seconds. Retry, and retry with a different client, before you tell an audience a retailer is broken.

eufy L60 robot vacuum packshot from a US retailer listing
588×441 as published. Wide rather than square, and too small for a full-width post crop — both facts you only learn by fetching the file. Image: Woot! product listing

How big they actually are

MeasureValue
Median width800 px
10th percentile width368 px
90th percentile width1,650 px
Largest4,500 px
Smallest180 px
Square images130 of 178 (73.0%)
Under 500 px on a side63 (35.4%)
Under 300 px on a side14 (7.9%)
At least 1,080 px on both sides62 (34.8%)

178 images that resolved, of 200 fetched, 7 September 2026.

1,080 pixels is the number that matters if you are making a post rather than a web page, and only a third of these clear it. A 400-pixel packshot upscaled to fill a phone screen looks exactly like what it is.

Content type servedImages
image/jpeg85
image/webp70
image/avif11
image/png4
binary/octet-stream4
image/jpg (not a real type)3
image/gif1

The four served as binary/octet-stream are real images with the wrong label, and the three image/jpg are a spelling that does not exist in the standard. Both decode fine and both break tools that trust the header. AVIF and WebP together are 45% of the sample, which is worth knowing if your editor is older than your feed.

Image size is a retailer property

The median width is not a property of products. It is a property of who is selling them, and the range between retailers is more than eighteenfold.

RetailerImages measuredMedian width
goop3180 px
Knetbooks.com3187 px
Belk4282 px
Wayfair North America, Perigold, AllModern, Joss & Main3–4 each400 px
Woot!4588 px
Blain Farm & Fleet4600 px
Macy’s41,200 px
TikTok Shop US – Marketplaces41,461 px
Temu42,000 px
Desigual33,392 px

Advertisers with at least three images measured.

Four storefronts landing on exactly 400 pixels is not a coincidence about photography. It is one image pipeline with one default, and that default is the thing standing between you and a usable picture.

The size in the URL is negotiable, up to a point

Those 400-pixel URLs carry the dimensions in the path, in the form resize-h400-w400. So we changed one thing and re-fetched.

Asked forKettleStanding deskArea rugCoffee table
400400×400400×400400×400400×400
800800×800800×800800×800800×800
900placeholderplaceholderplaceholder900×900
1000placeholder1000×1000placeholderplaceholder
12001200×12001000×10001200×12001200×1200
1400placeholderplaceholderplaceholderplaceholder

Four products, one host, one variable changed. Each cell re-tested four times two seconds apart; every result was stable, so this is not a rendering race.

So the parameter is real: 400, 800 and 1200 returned genuine, distinct images for all four products, which is three times the resolution the feed hands you. But 900 worked for one product and not three, and 1000 worked for one and not three. There is no single ceiling; each image has its own available sizes.

And the failure is invisible. Every “placeholder” cell above is HTTP 200, image/jpeg, 37,317 bytes, a perfectly valid file — and byte-for-byte identical across six different products, which is how we caught it. It is this:

Grey camera icon over the words No Image Available
What one retailer’s CDN returns when you ask for a size it does not hold: 513×321, HTTP 200, and the same file for every product. Anything that checks status codes calls this a success. Image: Wayfair North America content delivery network

Our own first pass reported “the parameter is live” on the strength of twelve URLs that all came back 513×321. Twelve different products do not share a master image size to the pixel; hashing the bytes showed one file answering all twelve. If you automate this, compare hashes, not status codes.

Keep checking

Having the file is not having the right

Every image in this study is the retailer’s, served from the retailer’s own host. Being able to fetch one tells you nothing about whether you may republish it.

We are not lawyers and this is not advice. What we can tell you is what we do on this site, and why: we display the retailer’s image from the retailer’s own URL, with a visible credit naming the retailer, and we do not re-host, crop or edit it. Many affiliate programmes explicitly permit product imagery for promoting their products — and the permission lives in the programme terms you accepted, which is the document to read before you put a packshot in a post.

What we have never done, and will not: imply we photographed something we did not, or that we have handled a product we have only priced.

What to check before you use one

  1. Fetch it. One in nine did not load in this sample. A broken image in a post is worse than no image.
  2. Read its real dimensions, not the ones the feed claims. They are frequently different, and the feed field is the one that is wrong.
  3. If the URL carries a size, try a bigger one — then confirm you got a different picture and not a placeholder.
  4. Rewrite http to https. All seventeen we tested answered on both.
  5. Check the aspect ratio against where it is going. 73% are square, which is fine for a grid and wrong for a story.
  6. Credit the retailer visibly and keep the link to the listing next to it.
  7. Re-check before a big push. Image hosts rot; we have measured hosts that stayed broken across weeks.

What we did not measure

Method

Scope, so this can be repeated rather than believed: root shoppingProducts on the CJ product API, filtered on keywords and advertiserCountries: ["US"], four pages of 100 rows per seed, deduplicated on advertiser plus title plus destination link, then post-filtered on each row’s own targetCountry. Asking price is salePrice where a row carries one and price otherwise; peer-to-peer asks of $500 or more and repdigit asks are dropped as seller placeholders. 5,040 US rows, 81 advertisers, 7 September 2026.

The eighteen seeds, published so the pull can be re-run: electric kettle, air fryer, office chair, standing desk, mechanical keyboard, backpack, sunglasses, leather boots, wool coat, area rug, duvet cover, coffee table, humidifier, robot vacuum, cordless drill, sleeping bag, electric toothbrush, espresso machine.

200 image URLs were sampled with a fixed random seed, at most four per advertiser, and fetched with a browser user agent. Dimensions were read from the fetched bytes with Pillow; nothing was taken from the feed. Failures were retried three times and then retried through curl before being counted. The scripts are scratch/aft_imgs_0907.py and scratch/aft_imgparam3_0907.py in our repository.

More on what a feed gives you

Frequently asked

Do affiliate listings include product images?

Almost always. 5,016 of 5,040 listings in this pull carried an image URL, across 61 distinct hosts.

How many affiliate product images actually load?

178 of 200 fetched, or 89.0%. The failures were 13 connection or DNS errors, 8 HTTP errors and one unparseable URL, and they cluster by host rather than being spread evenly.

Are feed images big enough to post?

Often not. The median width was 800 pixels and only 34.8% were at least 1,080 pixels on both sides, which is the size a full Instagram post wants.

Can you request a larger version of a product image?

Sometimes. On one retailer's CDN the size is written into the URL and 400, 800 and 1200 all returned genuine images. But other sizes return a No Image Available placeholder as a valid JPEG at HTTP 200.

Can a creator use a retailer's product photo in a post?

That is a question for the affiliate programme's terms, not for this data. We display retailer images from the retailer's own URL with a visible credit and do not re-host or edit them.

Last verified 7 September 2026 against 200 product images fetched and measured, from 5,016 image URLs across 61 hosts.

How this page was made. Drafted with AI (Claude); not yet independently re-checked. How we work

LinkToLooks Creator Desk — the linking desk’s pages for creators and influencers: how links, disclosure and payouts work on each platform. How we work · published 7 September 2026.