# Multi api request

**URL:** <https://discuss.dev.twitch.com/t/multi-api-request/30024>\
**Category:** API\
**Created:** [January 19, 2021, 2:39pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024 "2021-01-19T14:39:39Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 2:39pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/1 "2021-01-19T14:39:39Z")

</div>

Hello, How are you?  
I am very happy to use twitch api.  
I have some questions.  
I am trying to get videos from multi game id  
I have 5 game IDs  
I am sending request with loop  
but I can get only videos about 2 IDs  
How to get videos about 5 IDs?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [January 19, 2021, 2:42pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/2 "2021-01-19T14:42:06Z")

</div>

Assuming you are making 5 calls of the format

```
http://api.twitch.tv/helix/videos?game_id=GAMEID

```

And only 2 of those 5 calls returns videos then only those two game ID’s have videos available.

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 2:43pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/3 "2021-01-19T14:43:45Z")

</div>

if so Can not I get all videos about 5 IDs?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [January 19, 2021, 2:44pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/4 "2021-01-19T14:44:59Z")

</div>

The videos API will only return vidoes if there are vidoes for that game ID

The videos API only supports one game\_id at a time as documented

> **[Reference](https://dev.twitch.tv/docs/api/reference/)**
>
> Twitch Developer tools and services to integrate Twitch into your development or create interactive experience on twitch.tv.

It’s a tad unclear what you mean by “about 5 IDs”

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 2:47pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/5 "2021-01-19T14:47:40Z")

</div>

when I get videos with each ID, it return videos  
but when I send request with loop about 5 IDs, I can get videos about only 2 IDs.  
rest IDs is canceled

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [January 19, 2021, 2:48pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/6 "2021-01-19T14:48:12Z")

</div>

Can you provide the call(s) you are making or the code you are using

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 2:52pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/7 "2021-01-19T14:52:32Z")

</div>

$emptyArray = array();

```
    $curl = curl_init();

    foreach ($gameIds as $gameId) {

        curl_setopt_array($curl, array(

        CURLOPT_URL => "https://api.twitch.tv/helix/videos?first=5&game_id=".$gameId,

        CURLOPT_RETURNTRANSFER => true,

        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,

        CURLOPT_HTTPGET => TRUE,

        CURLOPT_HTTPHEADER => array(

            'Content-Type: application/json',

            "Authorization: Bearer ".$auth,

            'Client-Id: '.$client_ID

        ),

        ));

        $response = curl_exec($curl);

        $emptyArray = array_merge($emptyArray, json_decode($response, true)['data']);

    }

    curl_close($curl);

```

This is curl command I am using now

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [January 19, 2021, 2:53pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/8 "2021-01-19T14:53:12Z")

</div>

If it doesn’t return 5 videos then there are not 5 vidoes available for that gameID

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 2:53pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/9 "2021-01-19T14:53:29Z")

</div>

$gameIds has 5 Ids

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 2:54pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/10 "2021-01-19T14:54:57Z")

</div>

I have checked about each Id on postman  
it return correctly videos

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [January 19, 2021, 3:03pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/11 "2021-01-19T15:03:15Z")

</div>

Then if postman returns different results to your code, that would suggest postman is doing something else in comparison to your code

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 3:08pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/12 "2021-01-19T15:08:29Z")

</div>

thanks. I will check again.  
how much can I send api request with loop?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [January 19, 2021, 3:14pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/13 "2021-01-19T15:14:57Z")

</div>

> [@Nicolae](#):
>
> how much can I send api request with loop?

Rate limits are documented here

> **[Twitch API Concepts](https://dev.twitch.tv/docs/api/guide/)**
>
> Twitch API Concepts

> [@BarryCarlyon](#):
>
> Then if postman returns different results to your code

If you are using “postman web” it is probably “sending cookies” which will interfere with loading/data returns

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 3:16pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/14 "2021-01-19T15:16:06Z")

</div>

Okay. thanks for your help

---

<div class="post-metadata">

**Author:** ![Nicolae](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/nicolae/32/11192_2.png) [@Nicolae](https://discuss.dev.twitch.com/u/Nicolae)\
**Post date:** [January 19, 2021, 7:01pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/15 "2021-01-19T19:01:55Z")

</div>

Hello  
I have found one issue with “get videos” from game id  
[https://api.twitch.tv/helix/videos?game\_id=33214&sort=time](https://api.twitch.tv/helix/videos?game_id=33214&sort=time)  
I get “published\_at”: null, about all video  
is it sort by time?

---

<div class="post-metadata">

**Author:** ![BarryCarlyon](https://d3ovvz0v2ajtpu.cloudfront.net/user_avatar/discuss.dev.twitch.com/barrycarlyon/32/253_2.png) [@BarryCarlyon](https://discuss.dev.twitch.com/u/BarryCarlyon)\
**Post date:** [January 19, 2021, 7:15pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/16 "2021-01-19T19:15:48Z")

</div>

I don’t see any publushed\_at nulls in the link your provided. Whats the video ID with a null published at?

---

<div class="post-metadata">

**Author:** ![system](https://d2opxh93rbxzdn.cloudfront.net/original/2X/0/05909729875cce3b53e59d5561c4d23bb14948fc.png) [@system](https://discuss.dev.twitch.com/u/system)\
**Post date:** [February 18, 2021, 7:15pm UTC](https://discuss.dev.twitch.com/t/multi-api-request/30024/17 "2021-02-18T19:15:55Z")

</div>

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.
