{"id":1241,"date":"2025-10-09T11:12:14","date_gmt":"2025-10-09T11:12:14","guid":{"rendered":"https:\/\/www.img.vision\/help\/?p=1241"},"modified":"2025-10-09T11:35:23","modified_gmt":"2025-10-09T11:35:23","slug":"fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links","status":"publish","type":"post","link":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/","title":{"rendered":"Fix Amazon Flat File Error 300403 (&#8220;We can&#8217;t access your media&#8221;): stop using expiring S3 image links"},"content":{"rendered":"\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-custom ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\"><p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<\/div><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#TLDR\" >TL;DR<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%F0%9F%94%8D_Symptoms_youll_see\" >\ud83d\udd0d Symptoms you&#8217;ll see<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%E2%8F%B1%EF%B8%8F_Why_this_happens\" >\u23f1\ufe0f Why this happens<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%F0%9F%95%B5%EF%B8%8F_Quick_check_Is_my_URL_a_temporary_S3_link\" >\ud83d\udd75\ufe0f Quick check: Is my URL a temporary S3 link?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%F0%9F%AA%84_The_right_ways_to_fix_it\" >\ud83e\ude84 The right ways to fix it<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#Option_A_Easiest_most_robust_Use_Imgvision_recommended\" >Option A: Easiest &amp; most robust: Use Img.vision (recommended)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#Option_B_If_you_must_stay_on_S3_make_the_object_public_with_care\" >Option B: If you must stay on S3: make the object public (with care)<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%F0%9F%9A%AB_What_not_to_do\" >\ud83d\udeab What not to do<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%E2%9C%85_Validate_your_fix_simple_checklist\" >\u2705 Validate your fix (simple checklist)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%E2%9D%93_FAQ\" >\u2753 FAQ<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#Can_I_just_increase_X-Amz-Expires\" >Can I just increase X-Amz-Expires?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#Is_it_safe_to_make_images_public\" >Is it safe to make images public?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-13\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#Why_does_this_only_happen_sometimes\" >Why does this only happen sometimes?<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-14\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#%F0%9F%92%AA_Why_teams_switch_to_Imgvision_for_marketplace_images\" >\ud83d\udcaa Why teams switch to Img.vision for marketplace images<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"TLDR\"><\/span>TL;DR<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If your flat file upload fails with <strong>300403<\/strong> and mentions a very long S3 URL containing <code>X-Amz-Security-Token<\/code>, you&#8217;re using a <strong>temporary (pre-signed) S3 link<\/strong>. These links <strong>expire<\/strong>, so when Amazon later tries to fetch the image, it gets <strong>HTTP 403 Access Denied<\/strong>. Use permanent, publicly accessible image URLs instead, or switch to <strong>Img.vision<\/strong> for permanent direct links and marketplace-ready delivery.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%94%8D_Symptoms_youll_see\"><\/span>\ud83d\udd0d Symptoms you&#8217;ll see<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>In <strong>Seller Central<\/strong> processing report \/ error logs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Error code:<\/strong> 300403<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Message: <\/strong>&#8220;We can&#8217;t access your media \u2026 due to receiving 403 HTTP status code\u2026&#8221;<\/li>\n<\/ul>\n\n\n\n<p>Your media URL looks like:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;&lt;bucket&gt;.s3.amazonaws.com\/...?...&amp;X-Amz-Security-Token=...&amp;X-Amz-Expires=604799&amp;X-Amz-Signature=...<\/code><\/pre>\n\n\n\n<p>The link works in your browser right after you generate it, then fails later.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%8F%B1%EF%B8%8F_Why_this_happens\"><\/span>\u23f1\ufe0f Why this happens<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Those long S3 URLs are <strong>pre-signed URLs<\/strong>. They include:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>X-Amz-Security-Token<\/code> (temporary credentials)<\/li>\n\n\n\n<li><code>X-Amz-Expires<\/code> (how long the link remains valid)<\/li>\n\n\n\n<li><code>X-Amz-Signature<\/code> (signature proving the URL is legit)<\/li>\n<\/ul>\n\n\n\n<p>Pre-signed links are <strong>temporary by design<\/strong>. Your browser test might succeed now, but <strong>Amazon fetches images later<\/strong> when you upload your flat file. By then, the link can be expired or otherwise invalid, returning <strong>HTTP 403<\/strong>, which translates into <strong>error code 300403<\/strong>.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%95%B5%EF%B8%8F_Quick_check_Is_my_URL_a_temporary_S3_link\"><\/span>\ud83d\udd75\ufe0f Quick check: Is my URL a temporary S3 link?<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>If the URL contains any of these:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>X-Amz-Security-Token=<\/code><\/li>\n\n\n\n<li><code>X-Amz-Expires=<\/code><\/li>\n\n\n\n<li><code>X-Amz-Signature=<\/code><\/li>\n<\/ul>\n\n\n\n<p>\u2026it&#8217;s a <strong>pre-signed<\/strong> (temporary) URL and <strong>not suitable<\/strong> for Amazon flat file image ingestion.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-top:var(--wp--preset--spacing--xx-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%AA%84_The_right_ways_to_fix_it\"><\/span>\ud83e\ude84 The right ways to fix it<span class=\"ez-toc-section-end\"><\/span><\/h2>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Option_A_Easiest_most_robust_Use_Imgvision_recommended\"><\/span>Option A: Easiest &amp; most robust: Use Img.vision (recommended)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>If you just need <strong>reliable, permanent<\/strong> image links that marketplaces accept:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"line-height:2\"><strong>Permanent direct links<\/strong> that don&#8217;t expire and preserve filenames.<\/li>\n\n\n\n<li style=\"line-height:2\"><strong>Dual-CDN delivery<\/strong> for speed and uptime (faster and more resilient than raw S3).<\/li>\n\n\n\n<li style=\"line-height:2\"><strong>Enterprise CDN firewall<\/strong> with marketplace-friendly optimizations (e.g., Amazon fetch patterns).<\/li>\n\n\n\n<li style=\"line-height:2\"><strong>User-friendly dashboard<\/strong> (bulk uploads, folders, copy links) instead of wrestling with the AWS console.<\/li>\n<\/ul>\n\n\n\n<p><strong>Result: <\/strong>Amazon marketplace can fetch your images anytime without tokens, cookies, or auth, no 403s from expired links.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Option_B_If_you_must_stay_on_S3_make_the_object_public_with_care\"><\/span>Option B: If you must stay on S3: make the object public (with care)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p>Make specific product images public so they&#8217;re reachable <strong>without <\/strong>tokens.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li style=\"line-height:2\"><strong>Check bucket guardrails<\/strong>\n<ul class=\"wp-block-list\">\n<li style=\"line-height:2\">In S3 <strong>Block Public Access<\/strong> settings, object-level public access must be allowed for this to work.<\/li>\n\n\n\n<li style=\"line-height:2\">Your org policy may forbid public objects, if so, you can consider Option A.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li style=\"line-height:2\"><strong>Set the object ACL to public<\/strong>\n<ul class=\"wp-block-list\">\n<li style=\"line-height:2\">Open the object in S3 \u2192 <strong>Permissions <\/strong>\u2192 <strong>Access control list (ACL)<\/strong> \u2192 grant <strong>Public access<\/strong> (Read) to <strong>Everyone <\/strong>(or equivalent \u201cObject can be public\u201d toggle).<\/li>\n\n\n\n<li style=\"line-height:2\">Confirm the <strong>Object URL<\/strong> (without <code>X-Amz-*<\/code> params) loads publicly in an incognito browser.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li style=\"line-height:2\"><strong>Use the permanent object URL<\/strong> in your flat file.\n<ul class=\"wp-block-list\">\n<li style=\"line-height:2\">Example:<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-code\"><code>https:&#47;&#47;&lt;bucket&gt;.s3.amazonaws.com\/path\/to\/image.jpg<\/code><\/pre>\n\n\n\n<p><strong>Security caution:<\/strong> Public objects are <strong>visible to the entire internet<\/strong>. Only set public access on assets intended for public distribution (e.g., product images). Never flip the entire bucket public.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"532\" src=\"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy-1024x532.webp\" alt=\"\" class=\"wp-image-1246\" srcset=\"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy-1024x532.webp 1024w, https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy-300x156.webp 300w, https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy-768x399.webp 768w, https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy.webp 1080w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><figcaption class=\"wp-element-caption\">Change S3 object ACL to Everyone (public access)<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%9A%AB_What_not_to_do\"><\/span>\ud83d\udeab What not to do<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p>Don&#8217;t paste <strong>pre-signed<\/strong> S3 URLs from the AWS console (those &#8220;Share\/Copy URL&#8221; buttons often produce temporary links).<\/p>\n\n\n\n<p>Don&#8217;t rely on <strong>longer <\/strong><code>X-Amz-Expires<\/code> as a &#8220;fix&#8221;. Even if you upload the flat file shortly after generating the pre-signed S3 URL, you can&#8217;t predict when Amazon will actually ingest the images; links can still expire at the wrong moment.<\/p>\n\n\n\n<p>Don&#8217;t make the <strong>entire bucket<\/strong> public. You risk accidentally making private files public, which is a serious privacy and security issue. Such mistakes happen more often than you think even with big companies, you may have encountered a news article before about &#8220;company X leaking customer data&#8221; this way.<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9C%85_Validate_your_fix_simple_checklist\"><\/span>\u2705 Validate your fix (simple checklist)<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ol class=\"wp-block-list\">\n<li style=\"line-height:2\">Open the exact URL from your flat file in an incognito window.<\/li>\n\n\n\n<li style=\"line-height:2\">Make sure it loads <strong>without being logged<\/strong> in to the AWS console and outside any company VPN.<\/li>\n\n\n\n<li style=\"line-height:2\">Use a quick header check:\n<ul class=\"wp-block-list\">\n<li style=\"line-height:2\">Open CMD on Windows or Terminal on macOS<\/li>\n\n\n\n<li style=\"line-height:2\">Type in <code>curl -I \"https:\/\/your-domain-or-bucket\/path\/image.jpg\"<\/code><\/li>\n\n\n\n<li style=\"line-height:2\">You should see <strong>HTTP\/1.1 200 OK<\/strong> (or <strong>HTTP\/2 200<\/strong>). No redirects to auth pages.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li style=\"line-height:2\">Retry your flat file upload.<\/li>\n<\/ol>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E2%9D%93_FAQ\"><\/span>\u2753 FAQ<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n<div class=\"saswp-faq-block-section\"><ol style=\"list-style-type:none\"><li style=\"list-style-type: none\"><h3 class=\"\"><span class=\"ez-toc-section\" id=\"Can_I_just_increase_X-Amz-Expires\"><\/span>Can I just increase X-Amz-Expires?<span class=\"ez-toc-section-end\"><\/span><\/h3><p class=\"saswp-faq-answer-text\">Not reliably. Even week-long pre-signed URLs can still expire before Amazon fetches them or get invalidated by automatic credentials reset. Use stable public URLs instead.<\/p><li style=\"list-style-type: none\"><h3 class=\"\"><span class=\"ez-toc-section\" id=\"Is_it_safe_to_make_images_public\"><\/span>Is it safe to make images public?<span class=\"ez-toc-section-end\"><\/span><\/h3><p class=\"saswp-faq-answer-text\">For product images intended for public product pages, yes, that&#8217;s normal. Keep private assets private; don&#8217;t publicize your whole bucket.<\/p><li style=\"list-style-type: none\"><h3 class=\"\"><span class=\"ez-toc-section\" id=\"Why_does_this_only_happen_sometimes\"><\/span>Why does this only happen sometimes?<span class=\"ez-toc-section-end\"><\/span><\/h3><p class=\"saswp-faq-answer-text\">Because the timing of Amazon&#8217;s retrieval varies. Sometimes they fetch your image right after uploading your flat file, while your link is still valid; other times they fetch the image a bit later, at a time when the link has already expired, causing a 403.<\/p><\/ul><\/div><\/div>\n\n\n\n<div class=\"wp-block-group has-global-padding is-layout-constrained wp-block-group-is-layout-constrained\" style=\"margin-bottom:var(--wp--preset--spacing--x-large)\">\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%F0%9F%92%AA_Why_teams_switch_to_Imgvision_for_marketplace_images\"><\/span>\ud83d\udcaa Why teams switch to Img.vision for marketplace images<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"line-height:2.4\"><strong>Zero-friction links:<\/strong> Permanent, CDN-backed URLs that never expire.<\/li>\n\n\n\n<li style=\"line-height:2.4\"><strong>Faster delivery:<\/strong> Dual-CDN setup that&#8217;s significantly faster and more resilient than raw S3 endpoints.<\/li>\n\n\n\n<li style=\"line-height:2.4\"><strong>Marketplace-ready:<\/strong> Enterprise CDN firewall with rules proven to work with Amazon and other marketplaces.<\/li>\n\n\n\n<li style=\"line-height:2.4\"><strong>Friendly Img Dashboard UI:<\/strong> Bulk uploads, folders and link management, no AWS console gymnastics.<\/li>\n\n\n\n<li style=\"line-height:2.4\"><strong>Predictable links:<\/strong> No token expirations, no credentials resets breaking flat file imports, no guesswork.<\/li>\n<\/ul>\n\n\n\n<p><strong>Bottom line:<\/strong> If your product images must always be fetchable by Amazon, use links that never expire.<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>TL;DR If your flat file upload fails with 300403 and mentions a very long S3 URL containing X-Amz-Security-Token, you&#8217;re using a temporary (pre-signed) S3 link. These links expire, so when Amazon later tries to fetch the image, it gets HTTP 403 Access Denied. Use permanent, publicly accessible image URLs instead, or switch to Img.vision for [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_swt_meta_header_display":false,"_swt_meta_footer_display":false,"_swt_meta_site_title_display":false,"_swt_meta_sticky_header":false,"_swt_meta_transparent_header":false,"footnotes":""},"categories":[23],"tags":[],"class_list":["post-1241","post","type-post","status-publish","format-standard","hentry","category-troubleshooting"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Fix Amazon Flat File Error 300403 (&quot;We can&#039;t access your media&quot;): stop using expiring S3 image links<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fix Amazon Flat File Error 300403 (&quot;We can&#039;t access your media&quot;): stop using expiring S3 image links\" \/>\n<meta property=\"og:description\" content=\"TL;DR If your flat file upload fails with 300403 and mentions a very long S3 URL containing X-Amz-Security-Token, you&#8217;re using a temporary (pre-signed) S3 link. These links expire, so when Amazon later tries to fetch the image, it gets HTTP 403 Access Denied. Use permanent, publicly accessible image URLs instead, or switch to Img.vision for [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/\" \/>\n<meta property=\"og:site_name\" content=\"Img.vision Help Center\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/wwwimgvision\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-09T11:12:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-09T11:35:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"561\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Mathias\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ImgVision\" \/>\n<meta name=\"twitter:site\" content=\"@ImgVision\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Mathias\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Fix Amazon Flat File Error 300403 (\"We can't access your media\"): stop using expiring S3 image links","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/","og_locale":"en_US","og_type":"article","og_title":"Fix Amazon Flat File Error 300403 (\"We can't access your media\"): stop using expiring S3 image links","og_description":"TL;DR If your flat file upload fails with 300403 and mentions a very long S3 URL containing X-Amz-Security-Token, you&#8217;re using a temporary (pre-signed) S3 link. These links expire, so when Amazon later tries to fetch the image, it gets HTTP 403 Access Denied. Use permanent, publicly accessible image URLs instead, or switch to Img.vision for [&hellip;]","og_url":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/","og_site_name":"Img.vision Help Center","article_publisher":"https:\/\/www.facebook.com\/wwwimgvision","article_published_time":"2025-10-09T11:12:14+00:00","article_modified_time":"2025-10-09T11:35:23+00:00","og_image":[{"width":1080,"height":561,"url":"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy.webp","type":"image\/webp"}],"author":"Mathias","twitter_card":"summary_large_image","twitter_creator":"@ImgVision","twitter_site":"@ImgVision","twitter_misc":{"Written by":"Mathias","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#article","isPartOf":{"@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/"},"author":{"name":"Mathias","@id":"https:\/\/www.img.vision\/help\/#\/schema\/person\/bfbb2fdceadd8d9e3f1a0712376252d7"},"headline":"Fix Amazon Flat File Error 300403 (&#8220;We can&#8217;t access your media&#8221;): stop using expiring S3 image links","datePublished":"2025-10-09T11:12:14+00:00","dateModified":"2025-10-09T11:35:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/"},"wordCount":732,"publisher":{"@id":"https:\/\/www.img.vision\/help\/#organization"},"image":{"@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#primaryimage"},"thumbnailUrl":"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy-1024x532.webp","articleSection":["Troubleshooting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/","url":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/","name":"Fix Amazon Flat File Error 300403 (\"We can't access your media\"): stop using expiring S3 image links","isPartOf":{"@id":"https:\/\/www.img.vision\/help\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#primaryimage"},"image":{"@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#primaryimage"},"thumbnailUrl":"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy-1024x532.webp","datePublished":"2025-10-09T11:12:14+00:00","dateModified":"2025-10-09T11:35:23+00:00","breadcrumb":{"@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#primaryimage","url":"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy.webp","contentUrl":"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2025\/10\/change-aws-s3-object-acl-copy.webp","width":1080,"height":561},{"@type":"BreadcrumbList","@id":"https:\/\/www.img.vision\/help\/troubleshooting\/fix-amazon-flat-file-error-300403-we-cant-access-your-media-stop-using-expiring-s3-image-links\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Img.vision Help Center","item":"https:\/\/www.img.vision\/help\/"},{"@type":"ListItem","position":2,"name":"Troubleshooting","item":"https:\/\/www.img.vision\/help\/category\/troubleshooting\/"},{"@type":"ListItem","position":3,"name":"Fix Amazon Flat File Error 300403 (&#8220;We can&#8217;t access your media&#8221;): stop using expiring S3 image links"}]},{"@type":"WebSite","@id":"https:\/\/www.img.vision\/help\/#website","url":"https:\/\/www.img.vision\/help\/","name":"Img.vision","description":"","publisher":{"@id":"https:\/\/www.img.vision\/help\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.img.vision\/help\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.img.vision\/help\/#organization","name":"Img.vision","url":"https:\/\/www.img.vision\/help\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.img.vision\/help\/#\/schema\/logo\/image\/","url":"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2022\/12\/cropped-img-help-logo-copy.webp","contentUrl":"https:\/\/www.img.vision\/help\/wp-content\/uploads\/sites\/2\/2022\/12\/cropped-img-help-logo-copy.webp","width":180,"height":60,"caption":"Img.vision"},"image":{"@id":"https:\/\/www.img.vision\/help\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/wwwimgvision","https:\/\/x.com\/ImgVision","https:\/\/www.linkedin.com\/company\/img-vision\/","https:\/\/www.youtube.com\/@mathiasimgvision"]},{"@type":"Person","@id":"https:\/\/www.img.vision\/help\/#\/schema\/person\/bfbb2fdceadd8d9e3f1a0712376252d7","name":"Mathias","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/4d6123d948b5b8d345d7ec3904ded255b32bc2e3ef265262a92a7c7e07993f98?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/4d6123d948b5b8d345d7ec3904ded255b32bc2e3ef265262a92a7c7e07993f98?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/4d6123d948b5b8d345d7ec3904ded255b32bc2e3ef265262a92a7c7e07993f98?s=96&d=mm&r=g","caption":"Mathias"},"description":"Founder of Img.vision service and interested in everything related to image hosting and video hosting.","sameAs":["https:\/\/www.img.vision","https:\/\/www.linkedin.com\/in\/mathiasvolckaert\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/posts\/1241","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/comments?post=1241"}],"version-history":[{"count":4,"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/posts\/1241\/revisions"}],"predecessor-version":[{"id":1248,"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/posts\/1241\/revisions\/1248"}],"wp:attachment":[{"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/media?parent=1241"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/categories?post=1241"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.img.vision\/help\/wp-json\/wp\/v2\/tags?post=1241"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}