I think you need to re-think exactly what it is you want to accomplish. Twitter’s APIs are rich and varied. There are always many ways to get to where we want to go. If you get 403s, that’s Twitter saying, “Nope, not this way.”
You need to re-think. Re-think not just the call used, but the whole method. Re-think the “why” while you’re at it.
In this case, I assume the problem is with the word “bulk.” Find another, less spammy way.
The important thing is to be a Good Citizen. Spammers and Scammers are a fact of on-line life. I for one, welcome Twitter’s attempts to eradicate them, even if I sometimes inadvertently fall in there.
Case in point: We had a server outage yesterday which corrupted a script. It was rebuilt, but, in the panic to get back online, the coder kept the “if exists” function commented out. It was an accident. Yet, the system scheduled the same tweets repeatedly before we powered it down. Twitter’s anti-spam caught the problem in record time and cut the tokens. I consider the spam filters my last-resort partner against screw-ups.
Better I explain myself to Twitter than to clients.
True, sometimes it’s a mystery where we went wrong and that can get frustrating. Twitter can’t help there, and they shouldn’t. The less we know about how they flag spam and scam the better the system will work.
That’s to everyone’s advantage. Ya gotta take the good with the bad.