metrics/meetings/{meetingId}/participants - missing records

  • I have an education plan account
  • meetingId: 8938939
  • meeting uuid: UPDT9KROThOg3HMQHu
  • next_page_token (none in this case), multiple uuids (only one in this case) and any slash char ("/", “//”) are managed into the C# code.

I correctly add about 250 users to a meeting throgh the API meetings/{meetingId}/registrants. I manage for them name and last name and i correctly send to them the unique link to join the meeting.
At meeting’s end i’m trying to use the API metrics/meetings/{meetingId}/participants to get all the participants join_time and leave_time to store them in my db. I obviously have many duplicated registrant_id because happens that a user join and leave meeting more than once because of many technical reasons.
API returns to me 269 records (into the web panel i see the same number) but if i download the participants csv file i get the effective access records number that is 581. I would like the API returns to me 581 records instead of 269.

API returns 269 records instead of 581. The weird is that i don’t really get 269 records but i get the first 300 records contained into the csv file of 581 records and the others entries from the 301 row to the 581 row are discarded. I wonder if there is a limitation, maybe linked to the license that i use.

Which App Type (OAuth / Chatbot / JWT / Webhook)?

Which Endpoint/s?

How To Reproduce (If applicable)
This is the part of C# code i use to get the api response that i have always used without any issue until today.

        var client = new RestClient();
        switch (tipoIncontroZoom)
            case TipoIncontroZoom.Meeting:
                //Api - List meeting participants
                client = new RestClient("" + incontroZoomUuid + "/participants");
            case TipoIncontroZoom.Webinar:
                client = new RestClient("" + incontroZoomUuid + "/participants");
                message = "Il tipo incontro selezionato non è valido.";
                return Json(new { Message = message, MessageType = Common.Utility.ID_JS_MESSAGE_TYPE_ERROR });

        var request = new RestRequest(Method.GET);
        request.AddHeader("content-type", "application/json");
        request.AddHeader("authorization", string.Format("Bearer {0}", tokenString));
        request.AddParameter("type", "past");
        request.AddParameter("page_size", "300");
        request.AddParameter("next_page_token", nextPageToken);

Screenshots (If applicable)
As you can see from the first screenshot i get the number “269” into total_records property but i retrieve 300 effective entries. But they should be 581 as they are into the csv file (second screenshot).

Additional context

Hi @filippo.degasperi

Thanks for reaching out to the Zoom Developer Forum, I am happy to help here!
I do not think this issue is related to the Educational Plan you have, because you are able to call the endpoint and get a response.

Now, I looked into the meeting you shared with us (I have edited that information for privacy purposes) and it looks like it had 269 attendees.

Are you considering duplicates for Breakout rooms or waiting rooms???

This could be what makes the number to be different from the API and the CSV file


Hi. Elisa,
thanks for your answer.
There weren’t breakout rooms.
There was a waiting room but…

I send you a link to an ods file to trying to figured out what happened.

The file is a conversion of the original csv file downloaded from the zoom web portal.
Into the file there are 581 rows (582 with the header), i removed all the names for privacy poupose except:

  1. an invented name Mr.Doe
  2. the first and the last record returned by the endpoint. First row and 300th row.

As i said in the previous post, there are no multiple uuids and there are no next_page_tokens. When i call the endpoint i get only 300 rows and only the first one occurrence of Mr.Doe (row 11 of the file). The others occurrence of Mr.Doe (line 340, 518 and 578) are discarded because (i think) they are after the 300th row.
By the way the only occurrence of Mr. Doe i get is marked as “into the waiting room”. Instead, the most important occurrence that i want is the line 518 where i have the complete presence of Mr.Doe (123 minutes). Better if i could have them all.

Could you help me to understand what i’m doing wrong?


Hey @filippo.degasperi
Sorry for the late reply!
I have received your request privately and I will take it from there!

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