Other than the aforementioned S3 integration, I have no other alternatives to offer if you are looking for recording-specific metadata.
Original Message:
Sent: 09-12-2025 04:01
From: Vikas Shetty
Subject: Efficient Retrieval of Daily CDR and Recording Metadata for 200K+ Conversations Using Genesys Cloud APIs
Hi @Vineet Kakroo,
Thanks for taking the time to share your approach - it's always helpful to see how others are solving similar challenges.
That said, I've already gone quite a bit deeper into this. I've thoroughly evaluated the SDK, and as you probably noticed, it ultimately uses the same APIs under the hood. For example, in the SDK on GitHubif you look at line 5412 onwards, you'll notice that it calls the same API.
So whether we're using the SDK or hitting the API directly, the volume of calls remains unchanged - and when you're dealing with 200k+ conversations a day, that's not exactly scalable.
@Daniel Ho,
As you've rightly pointed out before - "we don't recommend calling the individual API iteratively for sweeping through all recordings in the system." I completely agree.
However, as far as I've seen, this API is the only source that provides complete and accurate recording metadata.
Is there any alternative you'd recommend that can return this level of detail without having to individually call the recording metadata API per conversation and get the desired sample metadata shared earlier
Appreciate your thoughts!
------------------------------
Vikas Shetty
Manager - Service Engineering
Original Message:
Sent: 09-11-2025 09:44
From: Vineet Kakroo
Subject: Efficient Retrieval of Daily CDR and Recording Metadata for 200K+ Conversations Using Genesys Cloud APIs
Check the API's I mentioned, these will get conversations in bulk and that will reduce the amount of API calls that you may be handling currently with the export API's you mentioned at the start. I have not used the export API's but seems they are not efficient in this aspect.
------------------------------
Vineet Kakroo
Senior Technical Consultant
Original Message:
Sent: 09-11-2025 08:40
From: Vikas Shetty
Subject: Efficient Retrieval of Daily CDR and Recording Metadata for 200K+ Conversations Using Genesys Cloud APIs
Hi @Vineet Kakroo,
Thank you for your response. Yes, your understanding is correct-I need just the metadata.
I have evaluated the SDK, and it indeed uses the same APIs. My main challenge is how to efficiently handle a huge volume of records per day on managing large-scale data retrieval using these APIs/SDK?
Thanks again for your help!
------------------------------
Vikas Shetty
Manager - Service Engineering
Original Message:
Sent: 09-11-2025 04:09
From: Vineet Kakroo
Subject: Efficient Retrieval of Daily CDR and Recording Metadata for 200K+ Conversations Using Genesys Cloud APIs
Hi @Vikas Shetty, I have a similar requirement and have done it slightly differently.
I have scheduled a daily export based on an interactions tab that captures all the possible information, baring the participant attributes. It is good for our purpose, but may not be suitable to your requirements.
In addition I have an API based solution that we run ad-hoc if required, especially to download bulk recordings. This process uses a combination of following Java SDK API;
postAnalyticsConcersationDetailsJobs
getAnalyticsConversationDetailsJob
getAnalyticsConcersationsDetailsJobResults
getRecordingBatchrequest
postRecordingBatchrequests
getConversationRecordingmetadata
With this I am able to download a months worth of recordings/data at a time and I believe you can use the above API's in combination to get to your specific requirements for 1 day. To avoid rate limit issues, I run the download process in batches of 10. As you are not going to download anything just reporting data, I am sure this would be much faster.
Hope this helps.
------------------------------
Vineet Kakroo
Senior Technical Consultant
Original Message:
Sent: 09-11-2025 01:52
From: Vikas Shetty
Subject: Efficient Retrieval of Daily CDR and Recording Metadata for 200K+ Conversations Using Genesys Cloud APIs
Hi @Daniel Ho,
Thanks for your suggestions. I'm aware of the Genesys AWS S3 export and we are currently using it. However, the metadata file generated through this export doesn't include all the details we need. For example:
UserID is provided, but the username string is not included.
QueueID is available, but not the queue name string.
There's no information about the Division related to the call.
Because of these limitations, we considered using the Conversation Exports via the Analytics API and then attaching the recording metadata using the earlier mentioned API. Yes, I understand this results in a large number of API calls for a complete daily call data report.
Could you please suggest any alternative approach that avoids these excessive API calls? We do not require the media files, only the metadata.
sample metadata:
{
"conversation_id": "5d6f338a-39c8-443c-a2b7-e3d2ef758567",
"users": "garima balodi; vikas shetty",
"date": "7/1/25 06:51 AM",
"duration": "06:05",
"direction": "Inbound",
"queue": "InstaCCEngineering",
"wrap_up": "dummy; Demo",
"ani": "tel:+918***********",
"dnis": "tel:+191**********",
"transferred": "YES",
"consult_transferred": "YES",
"recording": "YES",
"division": "Home",
"disconnect_type": "External",
"screen_recorded": "NO",
"recordings": [
{
"recording_id": "9e6f7806-aeee-48ba-8088-be79ac14f9b5",
"conversation_id": "5d6f338a-39c8-443c-a2b7-e3d2ef758567",
"start_time": "2025-07-01T06:51:38.974Z",
"end_time": "2025-07-01T06:57:20.354Z",
"media": "audio",
"media_subtype": "Trunk",
"region": "us-east-1"
},
{
"recording_id": "8030babc-6742-4757-9e57-3c421e00813b",
"conversation_id": "5d6f338a-39c8-443c-a2b7-e3d2ef758567",
"start_time": "2025-07-01T06:56:16.687Z",
"end_time": "2025-07-01T06:56:43.607Z",
"media": "audio",
"media_subtype": "Consult",
"region": "us-east-1"
}
]
}
Thanks in advance for your guidance.
------------------------------
Vikas Shetty
Manager - Service Engineering
Original Message:
Sent: 09-10-2025 13:26
From: Daniel Ho
Subject: Efficient Retrieval of Daily CDR and Recording Metadata for 200K+ Conversations Using Genesys Cloud APIs
Hi Vikas,
In general we don't recommend calling the individual API iteratively for sweeping through all recordings in the system.
I can think of a couple of things:
------------------------------
Director, Product Management – Recording and Real-time Supervision
Workforce Engagement Management (WEM)
Original Message:
Sent: 08-07-2025 02:10
From: Vikas Shetty
Subject: Efficient Retrieval of Daily CDR and Recording Metadata for 200K+ Conversations Using Genesys Cloud APIs
Hi Team,
We are exploring ways to optimize the retrieval of daily CDR data and associated recording metadata for over 200,000 conversations using Genesys Cloud APIs, while staying within the API rate limits and improving performance.
Let's assume we have 200,000+ conversations per day, and while we're comfortable retrieving data that is older than 24 hours, we still require a comprehensive CDR report. Our approach is as follows:
Export Request:
We initiate the export using:
POST /api/v2/analytics/reporting/exports
with the required parameters for <Interaction Search View> to submit the request to Genesys.
Export Status Check:
After ~30 minutes, we check the status using:
GET /api/v2/analytics/reporting/exports/<export_id>
If the status is COMPLETED, we proceed to download the data.
Paginated CSV Retrieval:
Given the volume and the Genesys rate limit of 2,500 rows per CSV, we anticipate needing to call:
GET /api/v2/analytics/reporting/exports/<export_id>?pageNumber=1
through to possibly pageNumber=100 or more to retrieve all data per day.
Recording Metadata Retrieval:
For each conversation, we also need to retrieve recording metadata using:
GET /api/v2/conversations/{conversationId}/recordingmetadata
This could result in 200,000+ API calls per day.
These are the only available APIs to retrieve the desired CDR report and associated recording metadata.
Considering the above scenario and the Genesys API rate limit of 300 requests per token per minute, we estimate needing to make at least 140 API requests per minute to meet our daily data requirements.
Could you please confirm:
- Is this approach acceptable within the current rate limits?
- Would you recommend any optimizations or batching strategies to handle this scale more efficiently?
- Is there a bulk API for recording metadata that could reduce the number of individual calls?
Looking forward to your guidance.
#PlatformAPI
------------------------------
Vikas Shetty
Manager - Service Engineering
------------------------------