Affiliate & Price-Comparison Sites: Legal Do’s and Don’ts

Date:

A practitioner’s checklist. This is general guidance, not legal advice — get a professional opinion for your jurisdiction before you monetize or scale, especially around images.

Bottom line: affiliate site legal compliance comes down to one habit — never pass off another party’s images, words, or ratings as your own. Build your own descriptions, re-present specs in your own structure, attribute what you borrow, time-stamp prices, and disclose the commission. Treat product images as the single area worth real legal advice before you scale.

If you run an affiliate directory or a price-comparison site, your legal posture is different from a shop’s. You don’t sell the product or take the payment — you link out to the retailers who do. That single fact changes what’s risky and what isn’t. Here’s the field guide.

Four asset types, four different rulesWhere comparison sites actually get into trouble. None of it is about the links.
Product images

Supplied to sell the item, not for your editorial use. A licence you never read is still a licence.

highest exposure
Descriptions

Facts are free. The sentences carrying them are not. Rebuild from the spec; do not paraphrase.

Ratings

A scraped score is another site's editorial. Wrapping it as your own Review misstates where it came from.

the common trap
Prices

Accurate at a moment, or misleading. Publish the moment with the number: "as of <date>".

None of these is about whether you may link to a product. Linking was never the exposure; republishing is.

1. Product images are your biggest exposure

Product photos are copyrighted — usually by the manufacturer or the retailer who shot them.

  • Affiliate image licenses are narrow. When a retailer’s affiliate program grants you image rights, it almost always means images pulled through their official API by an active member, displayed with a link back — not images you scraped off the page. Scraped images generally aren’t covered by that license at all.
  • Modifying an image is riskier than showing it. Cropping, recoloring, adding a blurred background, or building a “social card” overlay creates a derivative work — and many programs explicitly forbid altering their images.

Do: prefer images from the official affiliate API or the manufacturer’s media kit; keep modifications minimal; keep a record of where each image came from so you can honor a takedown request in one step; publish a takedown process. Don’t: scrape-and-edit retailer photos and treat them as yours.

Modifying a licensed photo is often riskier than simply displaying it.

2. Descriptions — transformed beats copied

Marketing copy is creative expression, so it’s copyrightable. Republishing a retailer’s product description verbatim is the risky move (and it’s duplicate content, so it’s bad for SEO too).

Do: write your own, genuinely transformed description that conveys the same facts in original words — you can even generate original catalog copy without an API if you’re doing it at scale. This is both safer legally and stronger for search. Don’t: lightly reword and call it original — and never fabricate features or specs. False product claims expose you to consumer-protection and misleading-advertising liability. Ground every claim in a real source.

3. Specifications — facts are free, compilations are not

Individual facts (screen size, weight, RAM) aren’t copyrightable, so a spec table is low-risk as long as you build your own. A wholesale copy of one retailer’s compiled and arranged spec table can brush up against compilation or database rights.

Do: extract the facts and re-present them in your own structure and labels — the same discipline behind designing your own classification scheme. Don’t: clone a retailer’s spec block one-for-one.

4. Reviews and ratings — the trap most sites walk into

It’s tempting to scrape a retailer’s star rating and review count and mark it up as rich-result review schema. Don’t. Search engines’ review-snippet policies require that aggregate ratings reflect reviews you collected, not numbers lifted from someone else’s site — and presenting another site’s ratings as your own is misleading.

Do:

  • Show retailer ratings as attributed facts: “Rated 4.4 out of 5 from 174 ratings on [Retailer].” Truthful, citable, and fine in body text.
  • Reserve Review / rating structured data for your own first-party editorial verdict — a real opinion authored by your editorial team. That’s the legitimate schema, and it doubles as an expertise/trust (E-E-A-T) signal — the same structure that serves search, answer and generative engines.

Don’t: wrap scraped retailer ratings in your own AggregateRating markup.

Presenting another site’s ratings as your own review misrepresents where they came from.

5. Prices — accurate, and clearly time-stamped

Prices are facts (low copyright risk), but a stale or wrong price is a consumer-protection problem.

Do: show “price as of [time]” and link to the live retailer page to verify. Treat the retailer’s page as the source of truth for the live price. Don’t: present a cached price as a current, guaranteed price.

6. Affiliate disclosure is mandatory

Most jurisdictions require you to disclose that you earn commissions (in the US the FTC endorsement guides; in India the ASCI guidelines, etc.). It’s cheap to comply and non-negotiable.

Do: put a clear, visible “we may earn a commission” notice where users will see it.

7. Trademarks — name the product, don’t borrow the brand

You’re allowed to use a brand name to refer to the actual product — that’s nominative fair use (you can write “Brand X Model Y”). What you can’t do is use a brand’s logo as decoration or imply the brand endorses you.

Do: name products plainly. Don’t: decorate with logos or suggest a partnership that doesn’t exist.

8. Two things people forget

  • Scraping itself may breach a retailer’s terms of service. If your data comes from scraping rather than official feeds/APIs, that’s a contract/ToS exposure that sits underneath everything else — know it’s there.
  • Gating content behind a login or paywall is fine — but don’t cloak. If you hide content that you also want indexed, mark it with the appropriate paywalled-content structured data (isAccessibleForFree: false) so a search engine knows it’s intentionally gated. Showing crawlers one thing and users another is what gets penalized.

Be transparent, be accurate, build your own content, and the legal posture stays manageable.

The short version

AreaDoDon’t
ImagesLicensed-source first, minimal edits, keep provenanceScrape-and-modify retailer photos
DescriptionsWrite transformed, grounded copyCopy verbatim or fabricate
SpecsRe-build the table yourselfClone a retailer’s compiled table
RatingsAttribute them as factsMark up scraped ratings as your own
ReviewsFirst-party editorial review for schemaFake/scraped review markup
Prices“As of” + link to verifyPresent stale prices as current
DisclosureVisible affiliate noticeHide the commercial relationship
BrandsName products (nominative use)Logos as decor / implied endorsement

None of this is exotic — it’s mostly “be transparent, be accurate, build your own content, and don’t pretend other people’s words/photos/ratings are yours.” Do that, and the legal posture of an affiliate site is very manageable. The one area worth real professional advice before you scale is images — get it.

Again: general guidance, not legal advice. Laws differ by country and change over time.

Frequently Asked Questions

Can I use a retailer’s product images on my affiliate site?

Only within the licence you actually hold. Most affiliate programs grant image rights only for images pulled through their official API by an active member and shown with a link back — not images scraped off the page, and rarely images you’ve cropped or overlaid into a card. When in doubt, use the manufacturer’s media kit or the official API, keep a record of every image’s source so you can honor a takedown in one step, and publish a takedown process. Images are the one area worth professional legal advice before you scale.

Do I need an affiliate disclosure, and where does it go?

Yes. Most jurisdictions require it — the FTC in the US, the ASCI guidelines in India, and similar rules elsewhere. A clear, visible “we may earn a commission” notice, placed where readers see it before they act rather than buried in a footer, is cheap to add and non-negotiable.

As an attributed fact, yes: “Rated 4.4 out of 5 from 174 ratings on [Retailer]” is truthful and citable in body text. What you must not do is wrap those scraped numbers in your own AggregateRating structured data — review-snippet policies require aggregate ratings to reflect reviews you collected, and presenting someone else’s ratings as your own is misleading. Reserve rating schema for your own first-party editorial verdict.

In practice, five habits: build your own transformed descriptions instead of copying; re-present specs in your own structure and labels; attribute ratings and prices rather than passing them off as yours; time-stamp prices and link out so readers can verify; and disclose the commission. Treat product images as the highest-exposure item and get professional advice before you scale.

Share post:

Subscribe

Popular

More like this
Related

How to Merge Spreadsheets by URL (and Why Our Tool Reported 5 Misses That Weren’t)

Matching two spreadsheets on a URL column is the same job as matching a stock list to a price list by product code. It goes wrong in the same two places: how you clean the code, and how you count what didn't match.

Many-to-One: Why a Mapping Backlog Outgrows Its Target Taxonomy

You're mapping a messy source vocabulary onto a clean target taxonomy. The target has about 5,600 slots, so the job must be roughly 5,600 decisions — right? The backlog is already past 8,900, and still climbing.

The Fix That Didn’t Take: When a Content-Hash Gate Skips Your Code Change

You shipped a fix to how one field is computed, re-ran the pipeline across everything, and it reported a clean run. Then the consistency check still flags those records as wrong. The fix is in the code, the rebuild "ran" — and the records never changed. Your own optimisation skipped them.

Your Dedup Scan Is Over-Counting — Because It Forgot What You Already Fixed

The report said 80 duplicate groups still to resolve. You'd been resolving them for days. You run it again after a big batch and it *still* says 80-ish. The backlog isn't stubborn — the scan is counting work you already finished.