Imgur images not embedding with 429 error

this message appears, does anyone know what it is?

1 Like

That 429 error means that the discourse server has pulled more images from that site than it wants to provide.


What does that mean? How do I fix the problem?

It means that you need to upload the image from somewhere other than imgur. It is refusing to allow your server to download the file.

You could, for example, upload it directly to discourse rather than using the link to imgur.

So is this a server problem? Because I in other discourse-based forums, imgur is usually embedded via link

Your server has downloaded too many images from imgur. Search Google for ‘imgur 429’

1 Like

Based on this it appears that the external site is rate limiting requests from a specific Discourse forum?

I just started having problems with a 429 error for Imgur oneboxed images on my Discourse instance. But the same links work here:

Strangely, without the .png part of the link the onebox does appear:


I tried adding and to force custom user agent hosts , but it doesn’t make any difference.

1 Like

Hey @rahim123 :slight_smile:

@danielabc has also been having that issue with imgur recently, so I’ve slipped your post here to keep the discussion grouped together. :+1:


Did you manage to fix this?

Nope. It appears that Imgur is rate limiting based on the requesting domain or IP, so the user agent thing can’t fix it, and it looks like we’re simply stuck. This is probably the beginning of the inevitable end after Imgur got bought out by a holding company:


@JammyDodger or @danielabc For searchers could you please correct imugr to Imgur in the title? Also maybe make it more general like: Imgur images not embedding with 429 error
I suspect that there will be lots of other similar questions…


I hope it’s a temporary issue on the imgur end. Coz the real error is “Unknown error” with status 429. The regular 429 status error from imgur was with “Too many requests”.

To me it doesn’t sound like a temporary issue with Imgur, but rather an intentional decision on their part to rate limit domains / IPs that have made more than N requests per P period of time. Of course those numbers are not disclosed, and they simply leave us in the dark. But that would explain why the same links that throw a 429 error on our Discourse instances still work fine here on Discourse Meta, I assume because here most users don’t hotlink much stuff from Imgur.


Also it should be noted that Imgur images can still be displayed by using the native Markdown markup for images:


BBcode also works:


But this is still a majorly complicated workaround for non-technical users, as there is logically no need for a post editor UI button to “Add an image” thanks to the beautifully simple normal Discourse method of just pasting the URL on a separate line.

So I wonder if an adjustment could be considered for the Discourse code to make it generate the necessary <img> tag in the baked post when the Onebox attempt for an image link fails with a 429 error, and make the post preview reflect that as well.

1 Like

Try adding imgur to disabled image download domains. That will keep it from downloading the images.

1 Like

not sure if this is possible or not, but try setting up a proxy on the server

And then move it to a new IP address every time it gets rate-limited.

1 Like

depending on imgurs ratelimits and that sites usage of it, you could toggle between proxy and non proxy

Hi Jay, I have disabled downloading all hotlinked images, because my forum has tons of them and I don’t want to deal with all the storage space.

It still seems to me that Discourse shouldn’t fail to generate <img> tags just because the link throws a 429 error. It’s treating it as if it were a 404 link, whereas a 429 by definition means that it’s a working link. If the link ends in .jpg or .png or whatever and it’s not a 404 then it should wrap it in <img> tags and be done with it. It would even show up correctly in the post preview that way.

Then it shouldn’t be trying to access them, i would think. What settings did you change?