Will our app be viewed as spam?


After thoroughly reading over the Twitter Rules and all documentation related to best practices, we need to be sure whether our app could be flagged for spam or not. If you are thoroughly knowledgeable of Twitter’s spam rules and what causes an app to be suspended, please read on.

Our app works like this:

  • Artist’s on our website opt-in to our app.
  • Whenever they add new art to their gallery, that new art is automatically tweeted via the API to their Twitter account, as if they composed the tweet themself.
  • The tweet is always unique, containing the title of the art, the image of the art, and a unique link directly to the artwork’s page. The tweet is never duplicated. A sample is shown below.

We know everything is OK with that so far.

Question is this:
Is there any issue if an artist posts 10 new items to their gallery in an hour? They’ll then have 10 unique tweets on their Twitter account showing each piece of art. Would that be considered spamming and cause our app to be shutdown?


We’ve offered similar functionality @Portfora for a year or two, and not had any problems. I can’t guarantee whether our users have or haven’t tried to upload too many images, but this would seem a very valid use of the Twitter API.
I came to these forums today because another of my apps was temporarily suspended, probably due to some users sending duplicate tweets, and this was the only explanation given by Twitter:

“To avoid being caught by automated spam filters you must send a variety of Tweets that do not always include @handles, the same/similar URLs, and/or hashtags.”

As with much of Twitter’s documentation, it’s pretty vague. I think you should be fine.

One suggestion is to try to use permalinks/pretty URLs for your links, instead of a query string.
e.g. use arta.com/johnsingersargent/1856 instead of arta.com/johnsingersargent?i=1856
Editing your .htaccess file should let you do this easily

Two reasons:

  • it looks better for visitors
  • while most web tools will know that different/dynamic content is served when the query string changes, there’s a slight chance that it may think all links are the same, because the URL before the ? is always the same. Again, I don’t think this should be an issue, but given Twitter’s wording of “similar URLs”, better safe than sorry…

Hope that helps.


Thanks for the feedback, Claude. As an FYI, Twitter suspended our app as well, while we were simply testing it and sending test tweets to our test account.

They gave us the same generic response: “To avoid being caught by automated spam filters you must send a variety of Tweets that do not always include the same format, your @handle, the same/similar URLs, and/or hashtags. We can only consider a request to reactivate your app after you agree to this.”

We then responded that the tweets are not spam and each tweet is completely different, which they replied: “Always including your handle and always including a link on every Tweet you send is viewed as spam. Users appreciate Tweets that vary in format and content.”

Well that’s the purpose of the tweets, to include a link to the unique content the user just created. The tweets are all unique, pointing to content that’s never been shared before. Of course the tweets will all contain a link and a handle; that’s the entire purpose of the tweet. They are by no means duplicate tweets or spam.

It seems Twitter has a very sensitive spam filter, such that, even the techs are at a loss to know what may have triggered it. When we realized we’d never get specifics as to what the problem was so we could avoid doing it, we finally agreed “Yes. Just please reinstate the app.” To which they replied: “We have reviewed your request and have reactivated your API key. We will be unable to do so again, however, if you are automatically restricted for sending Tweets that are the same/similar in content and format, always including #hashtags, @mentions, URLs, etc.”

So now, to play it safe, we only tweet a maximum of twice-a-day per user, and queue any remaining tweets for the following days. So far the app has been online for a month without incident.

Twitter definitely needs a better process around this to be clearer of what exactly the problem is, so that apps aren’t suspended so recklessly. Twitter also needs to send out warnings, instead of banning apps instantly, which then take days to reinstate. I’m sure enough pain will be caused where they’ll end up improving the process.


@DougSyno - we ended up being offline for 3 weeks, and chasing Twitter support for clearer answers.

Their algorithm “botmaker” uses heuristics to try to detect spam apps/accounts, that even the staff can’t be sure what wil raise flags, and what constitutes as spam.
For us, we were simply (accidentally) allowing the same identical tweets to be repeated every day, or more than once per day. Twitter’s responses included similar comments as yours:

  • don’t use too many links or hashtags in your posts
  • don’t @mention too many people

We also didn’t get any email notification - apparently this is the case whenever they suspect you’re a really bad bot, as they don’t want to give you a warning that you’re at risk. Instead, they silently suspend the account.

We ended up with the following rules:

  • don’t @mention more than 5 people per day
  • don’t post the same tweet more than twice per week
  • don’t post the same tweet within 24 hours

They were happy to reinstate our app after this, and we’ve not had problems since.