Teams endpoint is broken

It might have to do with the offset. Endpoints are developed by different teams and they behave differently when the offset would either overflow, go above some apparent maximum value, or result in an out of bounds in the response.

As to why you are getting the same team twice, I’m not sure. I tried the same request and I got two different teams:

https://api.twitch.tv/kraken/teams?offset=8&limit=1&api_version=5&client_id=X

{
    "teams": [
        {
            "_id": 14,
            "name": "crosscountertv",
            "info": "Cross Counter TV",
            "display_name": "CrossCounterTV",
            "created_at": "2011-10-31T23:08:52Z",
            "updated_at": "2013-05-24T00:17:10Z",
            "logo": null,
            "banner": null,
            "background": null
        }
    ]
}

https://api.twitch.tv/kraken/teams?offset=3013&limit=1&api_version=5&client_id=X

{
    "teams": [
        {
            "_id": 920,
            "name": "zephyr",
            "info": "\n",
            "display_name": "Zephyr Dota",
            "created_at": "2014-01-04T00:41:19Z",
            "updated_at": "2014-01-04T00:41:19Z",
            "logo": null,
            "banner": null,
            "background": null
        }
    ]
}

Unfortunately, without having a reliable way to page through the teams with a cursor or without a total field and with offset being very finicky, I cannot think of a good way to reliably get all unique teams.