YouTube released a revision on 31st January 2024 to add a forHandle parameter in the channel list API that does exactly what OP asks.
You can call the channel list API with forHandle to get the channel ID and the upload playlist for that user/handle that you can subsequently use to fetch the videos.
GET https://www.googleapis.com/youtube/v3/channels
Query parameters:
forHandle=FolkartTr OR @FolkartTr OR %40FolkartTr (this allows the '@' sign as well as URL encoding of it)
key=<your API key>
part=contentDetails
The response will be similar to this:
{
"kind": "youtube#channelListResponse",
"etag": "uIHxDmri3hu046xPYA5kt7Zh_Xs",
"pageInfo": {
"totalResults": 1,
"resultsPerPage": 5
},
"items": [
{
"kind": "youtube#channel",
"etag": "bCWfzhSw3uxD6RCZ7IkkgaPF5Hs",
"id": "UCnS--2e1yzQCm5r4ClrMJBg",
"contentDetails": {
"relatedPlaylists": {
"likes": "",
"uploads": "UUnS--2e1yzQCm5r4ClrMJBg"
}
}
}
]
}
From the documentation:
The forHandle parameter specifies a YouTube handle, thereby requesting the channel associated with that handle. The parameter value can be prepended with an @ symbol. For example, to retrieve the resource for the "Google for Developers" channel, set the forHandle parameter value to either GoogleDevelopers or @GoogleDevelopers.
You can subscribe and/or keep an eye here for the API updates:
https://developers.google.com/static/youtube/v3/feeds/data-api-revision-history.xml