Correct me if I'm wrong. I've only dabbled in very light development (websites, a media player), but... wouldn't it make a lot more sense to steer clear of the api alltogether? Real users interact over the web. The api use alone establishes a footprint which is distinctly different than that of a real user. Plus, even if everything is kosher today, one change on TW's end to how they treat API use, and you could end up with all your clients' accts banned overnight. Seems to me that all these kinds of issues are avoided by sticking with straight web interface, no?
Also, good to see you're picking up on the overlapping groups thing. The more I dig into this stuff, the more obvious footprints I see from the bots I've used (TSupremacy, FL). If TW isn't picking up on some of that stuff yet, it won't be difficult for them to do so. To give a rough example of what I mean about the overlapping...
Using the example of someone selling athletic shoes:
50 accts across 10 proxies means 5 per proxy.
So, there's already one association. Each proxy is a group. Proxy group 1 has 5 accts as does proxy group2, etc.
However, we DON'T want that group to define all other activity. Quite the opposite. If we want some of the accts to follow Reebok's followers, for instance, and some to follow Nike's, the worst thing we could do is have all the proxy group 1 accts chase nike, all the proxy group 2 accts follow Reebok, etc. That's an easy pattern to spot. All accts on the same proxy are doing the same thing.
Better is having the first account in each proxy group in group A, the second from each in group B, etc... so in the A, B, C groups, there's only one acct per group on each proxy. Now assign Nike to group A, Reebok to group B, etc. Much harder to see any pattern there.
Now spit it some other way. Half get this search term, half get that, but NOT split according to either of the existing groupings.
Anyway, this kind of ability to assign each acct to multiple groups, and assign any task to any group or groups (and switch which groups they apply to at will) can pretty quickly add up to a situation where it's impossible for TW to detect a footprint.
Doing this in FL would mean running MANY instances of the software simultaneously which would crush even a decent system.... but there's really no reason it should work that way. Fact is, it shouldn't. I'm not doing half the stuff I want to in FL right now because it's just too much of a PITA and would kill the system to run all those instances. You should be able to:
1) Create an acct, assign proxies or have them auto assigned according to max per
2) Create groups of those accts. Name a new group, add accts to it or subtract groups from it.
3) Create tasks where the randomization is per acct
4) Assign each task to the group or groups (or individual acct) of your choice.
That's it. Now you're only running one instance of the software. Actually, it's not taxing any more resources than one instance of something like FL would use... except it's doing a MUUUUUCH better job of making each acct appear unique and gives WWWAAAAAYYYYY more control.