Why eBay Rejects Image Links (CSV, API, Descriptions): The Complete Compatibility Guide

Mathias Avatar

|

Last updated

When you upload listings through CSV, API, or even paste a link into your item description, eBay runs every image URL through an automated validation pipeline. If the link does not meet eBay’s strict acceptance rules, the platform rejects it, often with confusing error messages like:

  • “Image not accepted”
  • “Image could not be downloaded”
  • “We couldn’t import your photo”
  • “Invalid image URL”
  • “Image download failed: HTTP 400/403/404”

This guide explains why eBay rejects image links before they ever reach the listing, the technical rules your URLs must follow, and how to generate fully compliant, guaranteed-to-work direct links.

1. eBay’s Hidden Rules for Accepting Image URLs

eBay requires that every image link:

✔ 1.1 Must be a direct link to an actual image file

Meaning the URL must end with a real extension:

  • .jpg
  • .jpeg
  • .png
  • .gif (rarely used now)

NOT allowed:

  • URLs without a file extension
  • URLs that redirect to a dynamically generated image
  • Viewer pages such as imgur.com/gallery/...
  • API endpoints like getPhoto.php?id=12345
  • Signed or expiring URLs with tokens that rotate

✔ 1.2 Must return a valid image on the first request

eBay’s robot fetches the URL once, without cookies, without JavaScript, and usually without following complicated redirects.

It expects:

  • HTTP 200 OK
  • A standard image MIME type (image/jpeg)
  • <2–3 redirects
  • No cookies
  • No blocked user agents
  • No IP-range restrictions
  • No rate limiting or bot protection

Anything else → rejected.

✔ 1.3 Must load without authentication

If your server requires:

  • Login
  • A signed token
  • A temporary presigned URL
  • A session cookie
  • Hotlink protection

eBay can’t fetch the image → reject.

✔ 1.4 Must not be a domain on eBay’s blocked list

More on this below — but yes, eBay bans many image hosts.

2. Why eBay CSV Uploads Reject Image Links

CSV uploads are extremely strict because the import runs on an older backend. Errors often happen before listing creation, so you get vague messages like:

  • “Image could not be transferred
  • “Image URL invalid
  • “Image not accepted

The CSV validator checks:

2.1 URL structure

  • Must be full absolute URL
  • No spaces
  • No encoded characters like %20 in the wrong place
  • No commas without quotes
  • HTTPS is preferred (HTTP is allowed but discouraged)

2.2 Redirect chains

The CSV processor does NOT follow:

  • chained redirects
  • Geo-based redirects
  • Region-specific CDN hops
  • JavaScript redirects (obviously)
  • Meta refresh redirects

If your image host uses any of these → eBay can’t fetch it.

2.3 Rate limits

CSV import fetches hundreds of URLs in seconds.
If the CDN rate limits or presents a CAPTCHA → rejection.

3. Why eBay API Calls Reject Image URLs

eBay’s API has slightly different rules, but the main rejection causes are:

3.1 Dynamic URLs with expiring tokens

Example: https://example.com/image?file=abc.jpg&token=2938472398472039

If the token rotates every few hours, eBay cannot re-download the image for verification.
API rejects it immediately or rejects later during listing verification.

3.2 Long redirects

Some CDNs use:

  • HTTP → HTTPS redirect
  • Naked domain → www redirect
  • Country redirect
  • Device redirect
  • A/B testing redirect
  • Signed URL redirect
  • Cache-busting redirect (with ?timestamp=...)

The API bot usually stops after one or two hops.

3.3 Anti-bot protection

If your CDN uses:

  • Cloudflare Bot Fight Mode
  • reCAPTCHA challenge
  • Firewall rules blocking unknown user agents
  • Country blocks

→ eBay robot gets blocked → image rejected.

4. Blocked or Problematic Domains for eBay Images

eBay historically rejects images from domains used for:

  • adult content
  • temporary uploads
  • social media platforms
  • closed-source CDNs
  • ad-tracking CDNs
  • link shorteners
  • spam-heavy image hosts

Examples (not exhaustive):

imgur.com: gallery/viewer URLs rejected
imageshack, tinypic: often rate-limited or deprecated
Google Photos: requires authentication
Dropbox share links: not direct JPGs
OneDrive share links: viewer pages
Facebook CDN: tokenized, expires
Redirect-based shorteners
Hosts with aggressive bot protection

Even if the domain is not officially blocked, eBay may still reject if:

  • bots are blocked
  • MIME type isn’t correct
  • URL has no .jpg

5. CDN Compatibility Issues (The Silent Reason Most Links Fail)

CDNs are great for real shoppers, but eBay’s import robot behaves like a very old browser with no cookies and no JS.

Common CDN issues:

5.1 Domain requires SNI or TLS settings eBay doesn’t support

Some CDNs reject old TLS clients → eBay cannot fetch.

5.2 CDN blocks unknown user agents

Bots get banned → image rejected.

5.3 CDN returns WebP or AVIF depending on user agent

If your server responds:

  • WebP
  • AVIF
  • unsupported MIME type
  • HTML fallback page

→ eBay rejects the image.

5.4 Cache-busting query strings

CDNs like Cloudflare or Fastly sometimes rewrite query parameters.
If eBay sees:

  • ?width=800&token=9283498234
  • ?auto=format
  • ?expires=…

It flags the URL as “not a direct image file”.

6. Why Dynamic or Expiring URLs Fail

Dynamic URLs include:

  • Signed URLs
  • Temporary URLs
  • URLs with timestamps
  • URLs with rotating tokens
  • URLs generated through backend scripts
  • viewer.php?image=1234.jpg

eBay needs to:

  1. Fetch the image at listing creation
  2. Fetch again for processing
  3. Fetch again for revisions
  4. Fetch again during verification
  5. Fetch regularly for caching
  6. Fetch again if you relist or refresh

If the URL changes or expires → eBay sees a mismatch → rejects or removes the image.

7. How to Create eBay-Approved Image URLs (Guaranteed to Work)

Here are the technical requirements for 100% acceptance across CSV, API, and description:

7.1 The URL must be:

  • Stable
  • Permanent
  • Publicly accessible
  • Direct link
  • Ending with .jpg
  • No expiring tokens
  • No device-based redirects
  • No request-based content negotiation
  • No cookies
  • No bot-blocking firewall rules

7.2 MIME type must be correct

Response headers must be:

Content-Type: image/jpeg
HTTP/1.1 200 OK
Cache-Control: public

7.3 Redirect rules must be simple

Allowed:

  • 1 redirect from main domain → CDN

Not allowed:

  • GEO routing
  • Device routing
  • A/B redirect
  • Multi-step redirect
  • JS-based redirect

7.4 Use a CDN fine-tuned for eBay (like Img.vision)

A compliant setup typically includes:

  • Image served from a static URL
  • CDN edge caching
  • Optimized delivery rules for eBay’s fetcher bot
  • No dynamic URLs
  • No query-parameter transformations
  • Firewall rules optimized for eBay servers

7.5 Recommended URL structure

Good:

https://d.examplecdn.com/abc123/my-image-01.jpg
https://cdn.mystore.com/images/items/sku123/front.jpg
https://i.example.com/2024/11/products/sku-2929181.jpg

Bad:

https://example.com/viewer?id=12345
https://example.com/image.php?token=xyz
https://photos.google.com/....
https://imgur.com/abcxyz
https://drive.google.com/...
https://dropbox.com/s/gfhfhhhf/myphoto.jpg?dl=0
https://cdn.example.com/file.jpg?token=expiringsoon

8. Troubleshooting Rejected URLs (Quick Checklist)

Check these if eBay rejects an image link:

✔ Does the URL end with .jpg?

✔ Does it return an image on the first request?

✔ Does it require cookies?

✔ Does it redirect more than once?

✔ Does your CDN block bots?

✔ Does the link expire?

✔ Is the domain temporarily rate-limiting traffic?

✔ Is the response header correct?

✔ Does your host replace 404 with HTML pages?

9. Summary

eBay rejects links not because of your images — but because of the URL structure, accessibility, and server behavior.
To be accepted:

  • The link must be a stable JPG.
  • The server must respond with HTTP 200 and image/jpeg.
  • No tokens, cookies, redirects, or authentication.
  • CDN must allow bot traffic.
  • Links must be simple static URLs.

When your URLs follow these rules, CSV imports, API calls, and descriptions all accept your images instantly.


Mathias Avatar

Last updated