Is the new DM REST API limited to a maximum of 50 users app-wide?

directmessages

#1

GET direct_messages/events/list says “15/user and 750/app”

I was under the impression that this meant an app-wide limit of 50 users sending 15 requests per 15 minute window (because 750 / 15 = 50). Is this interpretation correct?

This doesn’t seem to be mentioned in the migration guides or in other parts of the docs, so I may be confusing it with application-only auth, if that is still a thing.

But if i’m correct this means an application with more than 50 concurrent users can’t receive DMs anymore in any way.


#2

You’re supposed to get Accounty Activity API to get DM requests now.
This endpoint I’m sure isn’t intended for that activity except in small use cases.


#3

You’re assuming that you “must” poll at the absolute API rate limit and arriving at a 750 / 15 = 50 equation.

The RESTful Direct Message endpoints are generally intended as backfill for Direct Message events potentially missed from the Account Activity webhooks - for example, if your webhook is unavailable and secondary attempts to redeliver are unsuccessful. That said, they can be used in the manner you suggest, but the use case is likely to differ. You’re free to choose the best polling interval for your application.

Twitter’s developer API platform has aged, and is in the process of being refreshed with new functionality on a new, more reliable foundation. As part of this, the new Direct Message functionality represents significantly enhanced features (JSON-formatted message objects with additional interactivity) as well as much greater access to message history. Some trade-offs have been made in order to assure stability and scalability.

For real-time access for Direct Messages for larger numbers of users, the Account Activity webhooks are what you should consider.


#4

So my interpretation is correct, huh. That’s a shame.

With stuff like home_timeline, having to update once per minute is annoying, but possible. This per-user app-wide rate limit just makes it impossible to get DMs at all for my use case.

The AAAPI user limit is even more strict. 15 users instead of 50. My app is open source, my budget is 0. I don’t have the thousands of dollars per month to support a few hundred users, and for all i know my user count is orders of magnitude more than that.


#6

750/per apps per 15 mins is insane for apps with lots of users where there absolutely no way we can afford premium access to Account Activity API.

Bye bye to DMs


#7

Hey everyone. I’ll come clean and say that I’m also a little confused on this. Please give us some time to verify the above statements as I may be mistaken with my communication on this. Thank you!


#8

Hey everyone. I’ll come clean and say that I’m also a little confused on this. Please give us some time to verify the above statements as I may be mistaken with my communication on this. Thank you!


#9

Thanks @andypiper, would be appreciated 15/user auth would make sense but 750 per app for all users seems a killer


#10

Just to provide some continuity here, I want to let you know what is happening.

  • your feedback has been heard; we’re checking in to this
  • we’re working quickly to study the issue identified, and consider options
  • I hope to have clarity soon, but it may take a few days before we’re able to reply here with full confidence - there are a bunch of things underway at the moment and I’d like to ensure that this is properly answered.

We appreciate your patience.


#11

Hello everyone. I’d like to help by providing an update here, and to apologise for what has occurred. We’ve made a mistake and we want to say sorry that we made this into something that appeared to affect you all.

  • We first implemented the app-level limit when this new endpoint was released in public beta in April 2017. The endpoint was launched as a complement to the Account Activity API, which was in early private beta then.
  • We neglected to revisit this when we set a deprecation timeline for Site Streams, User Streams, and the legacy Direct Message REST endpoints. We also made a decision to remove the “Direct Message only” Account Activity API, which was covered in our recent announcement.
  • Upon reviewing the app-level limit that you all rightly identified and questioned, we’ve decided to remove it. The rate limit on the GET direct_messages/events/list endpoint will be 15 requests per user, per 15-minute window. There will be no aggregate application level limit of 750 requests per 15-minute window. We are sorry that this happened and was confusing for many of you.
  • So that you can begin migrations off of the old endpoints as quickly as possible, the app-level limit will be removed by May 18th 2018. The documentation will be updated next week.

We on the @TwitterDev team want to emphasise that we made a mistake here; we thank you for asking the question, and also thank you for your patience as we are getting this updated. I personally also replied erroneously to this question, and I will endeavour to be more certain of my responses to you all in the future.

Thank you.


#12

Thanks for the clarification @andypiper and great news!


#13