New Twitch API GetClips Missing SOME Clips, but Not All?


#1

I have been looking around, and I can’t seem to find an answer.

But any time I run a call to get my clips, there seems to be some clips missing from the response. if I run the call

https://api.twitch.tv/helix/clips?broadcaster_id=66016174&started_at=2020-01-26T11:07:30Z&first=100

I will get back a list of 17 clips, when I see 18 on my clips page.

This is a list of the clips from my last steam ( passed 24 hours ), and in terms of which missing clips it was, it seems it was the 4th clip made of the night, which rules out my though, of me missing the first or last clip.

Any idea what is going on here?


#2

I confirm. When I try to get clips, not all clips are returns.
For example:
curl -H "Authorization: Bearer xxxxxxxxxx" "https://api.twitch.tv/helix/clips?broadcaster_id=22484632&first=100&started_at=2020-01-23T00:00:00Z&ended_at=2020-01-24T00:00:00Z&after=eyJiIjpudWxsLCJhIjp7IkN1cnNvciI6Ik1UQXcifX0"
100 clips are specified, but returns about 40. 60% is missing!
The problem with clips API lasts for many months.


#3

That’s just how Twitch does filtering on some endpoints, where 100 clips were retrieved and then filtered for your request, and displayed those 40 results.

Your request also returns a pagination cursor, so to get the rest of the results you keep paging through until you have all the results or no cursor is returned. Just because you may have less results than what you specified as the first param doesn’t mean results are missing, or it’s broken.


#4

Okay, thanks for the explanation. But what about this?
Getting some clips:

curl -H "Authorization: Bearer xxxxxxx" "https://api.twitch.tv/helix/clips?broadcaster_id=61325532&started_at=2019-10-01T00:00:00Z&ended_at=2019-10-02T00:00:00Z&first=100"

This clip is missing:

curl -H "Authorization: Bearer xxxxxxx" "https://api.twitch.tv/helix/clips?id=EphemeralCleverChickenSpicyBoy"


#5

I believe that API simply doesn’t return all clips.

Example from chocotaco:

tcurl -s ‘https://api.twitch.tv/helix/clips?broadcaster_id=69906737&started_at=2020-01-15T18%3A40%3A00Z&ended_at=2020-01-15T18%3A50%3A00Z&first=100’ | jq -r ‘.data[] | .created_at + " " + .id’ | sort
2020-01-15T18:40:22Z AgitatedHotGazelleNotLikeThis
2020-01-15T18:41:39Z SaltyLitigiousBisonRlyTho
2020-01-15T18:42:23Z EncouragingConcernedCookieCharlietheUnicorn
2020-01-15T18:43:31Z UninterestedShinyCobblerPastaThat
2020-01-15T18:44:34Z StrangeObliviousMonitorPicoMause
2020-01-15T18:44:50Z OnerousViscousLarkChocolateRain
2020-01-15T18:45:40Z CuriousSmilingWheelNerfBlueBlaster
2020-01-15T18:46:17Z HandsomeSillyBunnyPJSugar
2020-01-15T18:46:31Z PoorCovertLeopardYouDontSay
2020-01-15T18:46:54Z NastyCloudyReubenLeeroyJenkins
2020-01-15T18:47:15Z PiercingSmallPonyDeIlluminati
2020-01-15T18:47:37Z EnchantingAverageHyenaSMOrc
2020-01-15T18:48:13Z HilariousInexpensiveBadgerOSkomodo
2020-01-15T18:48:36Z KawaiiFurryWalletPlanking
2020-01-15T18:48:51Z SweetClearBillWholeWheat

"pagination":{}

This request returns 16 clips, however there are many more clips in the same exact time range that don’t get returned. No pagination token either.

Known clips in that range, found via chat or previous requests:

2020-01-15T18:40:22Z AgitatedHotGazelleNotLikeThis
2020-01-15T18:40:58Z ObliviousArbitraryPastaDatSheffy
2020-01-15T18:41:39Z SaltyLitigiousBisonRlyTho
2020-01-15T18:42:23Z EncouragingConcernedCookieCharlietheUnicorn
2020-01-15T18:42:30Z UnusualStupidOryxPeteZaroll
2020-01-15T18:43:21Z PunchyGlutenFreeWoodcockFutureMan
2020-01-15T18:43:31Z UninterestedShinyCobblerPastaThat
2020-01-15T18:43:45Z RockyResourcefulWormSaltBae
2020-01-15T18:44:11Z CrunchyIgnorantCoyoteBibleThump
2020-01-15T18:44:34Z StrangeObliviousMonitorPicoMause
2020-01-15T18:44:50Z OnerousViscousLarkChocolateRain
2020-01-15T18:45:40Z CuriousSmilingWheelNerfBlueBlaster
2020-01-15T18:46:15Z MoldyGiftedShrewVoteNay
2020-01-15T18:46:17Z HandsomeSillyBunnyPJSugar
2020-01-15T18:46:25Z AffluentDeafCheesecakeCopyThis
2020-01-15T18:46:31Z PoorCovertLeopardYouDontSay
2020-01-15T18:46:36Z FrozenPlacidClintBrokeBack
2020-01-15T18:46:39Z OnerousRenownedSkunkImGlitch
2020-01-15T18:46:44Z ExcitedBrainyLapwingMikeHogu
2020-01-15T18:46:53Z TenderEnticingNeanderthalPraiseIt
2020-01-15T18:46:54Z NastyCloudyReubenLeeroyJenkins
2020-01-15T18:46:55Z AuspiciousLaconicSangFreakinStinkin
2020-01-15T18:47:15Z PiercingSmallPonyDeIlluminati
2020-01-15T18:47:26Z PeacefulStylishLionWholeWheat
2020-01-15T18:47:37Z EnchantingAverageHyenaSMOrc
2020-01-15T18:48:13Z HilariousInexpensiveBadgerOSkomodo
2020-01-15T18:48:36Z KawaiiFurryWalletPlanking
2020-01-15T18:48:51Z SweetClearBillWholeWheat

Those clips are all from the same channel in the same time range but many do not get returned.

Edit: Another thing, I had the first request’s result saved for like two weeks now and tried it multiple times since then. At first always giving the same results however one day recently it switched out one of the 16 clips with one of the missing ones and a new one started missing from ranged request. All the other 15 ones stayed the same.

It definitely looks like time ranged requests will just miss about half the clips in the range sometimes.