Restricted from performing write actions



Dear Twitter Dev Community,

we encountered a “Restricted from performing write actions” error with our app implementation, even though we put quite conservative tweet limits for each user. We further believe our implementation will be of great interest for Twitter, which is why we would like to get in touch to find common ground on which limits we should apply to meet Twitter’s API rules and lift restrictions for our implementation. We already did go through, but so far automated replies only.

#2 Reference:
Reference #ref:00DA0000000K0A8.5004A00001BzE5v:ref


Push - we are still looking for a contact at Twitter to find an agreement on API usage. Anyone who could refer us?


If your app was write-restricted you can use the forms at to request that it be enabled again. You should make sure that you follow any instructions in any automated response you receive in order to keep your ticket active.

Beyond that, you should be careful to follow the automation rules. We do not have the capacity to separately discuss every API use case with every individual developer (there are hundreds of thousands of apps registered on the platform) so your best routes to support of this kind are the forms we’ve referred you to, the developer policy and agreement, and automation rules.

Thank you.


Unfortunately, Andy, those rules don’t help all that much. I have an app that keeps getting write restricted that does not violate anything that I can see. Twitter Support is no help. They refer to it being a bot which it is not. It does absolutely nothing a bot does.

They just say that the rules say I can’t mention anyone who hasn’t tweeted to my app. I can only reply? Come again? Where does it say that? I can see a bot not initiating conversations, but, again, this isn’t a bot.

I can empathize that Twitter Support has a ton of stuff to do, but they should actually read replies to their messages, as well as the messages passed by those they restrict.

We all want to be good Twitter citizens, but we can’t read minds.


Any updates here? We were write-restricted over a week ago, submitted a ticket to platform within 3 hours, replied to the automated response and it’s been silent since then. A full 7 days without hearing a word back. Wondering if we are the only app this is happening to or if they made some threshold changes or something to their bots…?


Appreciate your effort to be a good citizen on the API platform! Sorry for the frustration here.

If an app has automated behaviour (like scheduling) then it is essentially a bot. There are antispam systems that will flag automated behaviour where an app is doing a lot of unsolicitied @mentions on the platform - so if a user is not initiating the conversation and is also not interacting with the @mentions that include their handle, these rules will come into play.

If users themselves mark Tweets from an app as spam or as unwanted @mentions then this can also trigger the antispam systems.

The automation rules say:

If your application creates or facilitates automated reply messages or mentions to many users, the recipients must request or otherwise indicate an intent to be contacted in advance. For example, sending automated replies based on keyword searches is not permitted. Users must also have a clear and easy way to opt-out of receiving automated reply messages and mentions from your application.

The difference between this, and a Share button on a website that includes an author’s handle, for example, is that in this case the source of the Tweets will all be a single app, rather than regular Tweets sent via a compose window and initiated by a user.

As I’ve discussed at length before, it is not possible to publish a comprehensive list of the circumstances where an app may be write-restricted by the antispam systems as that would just lead to bad folks - not yourselves - gaming the system.

I hope the platform support folks are able to assist further, but we cannot do so here on the forums unfortunately.


Thanks for taking the time to reply, Andy.

Okay, so now I see why they considered it a bot. So what would you suggest given my situations here?

I don’t know if you’re familiar with beBee. It’s a social platform that started in Spain and went world-wide. In less than 2 years they are up to 12 million users. One of the big things they do is help promote the articles that people post on their Publisher platform. That’s for another account, @beBee, to collect. The two founders are huge Twitter fans. That makes Twitter their partner of choice when it comes to promotion. The CEO went so far as to write a post asking every member to add their Twitter handle to their profiles, and if they didn’t have one to get one.

BeBee also has 140 or so brand ambassadors, of which I’m one. There are about 60 English speaking ambassadors, 44 of which signed up asking to have their posts tweeted by @beBeeEmbassy. They filled out a Google Sheet that I used to build RSS feeds to their beBee blogs. The Google Sheet is here: They didn’t just give consent, they specifically asked to be included.

Ideally, we’d love to extend this to the Spanish, Portuguese, and German ambassadors as well, but with other accounts. Those would likely be @beBee+whatever “embassy” is in those languages. Of course, I first need to figure out how to stay operational.

Ideally, it would be best to @mention the author in the tweet. That would generate organic follower growth and aid future promotion. That’s why I based tweets on the format of a share. If that is verboten, I can go other routes.

I’d appreciate hearing your thoughts on them.

1 – I can continue as-is but drop the @ from the tweets and replace @beBee with #beBee. I think that would look silly, but at least there would be no mention, so the anti-spam wouldn’t trigger.

2 – I can cut all scheduling. 44 ambassadors pump out enough stuff. I stored about 150 distinct posts in a week… If they ever fall low, I can grab tweets from their stored inventory of past tweets to make up the difference. I’m not sure if that will satisfy the anti-spam bot, though. Frankly, I doubt it.

3 - I can mention Ambassadors by their full name as in ‘ By Andy Piper “How to Stop Paul from Going Insane LOL” on beBee’. That would require some fiddling to get everything into 140. Screen names are limited to 15 characters max, but not so full names. I’ll also run into encoding issues for names like D’Arcy, but that’s no biggie. This would be less effective, but write-restricted apps are not effective at all.

I think maybe #3 would be the best compromise, maybe even with using a hash tag instead of an @ on beBee. Or, do you have other ideas?

While I understand the need for anti-spam secrecy, working in the dark is difficult at best. I think it’s the newness of @beBeeEmbassy that is causing the problem. My 20K or so followers never trigger the filter probably because there’s lots of interaction.

On a side note, we are swiping the “tip @LinkedInEditors” idea that LinkedIn uses. Ours will be “buzz @beBee.” I don’t think that should cause an issue. But, with about 4 million English-speaking users, maybe it will. Thoughts?