{"id":20598238,"url":"https://github.com/fboucher/azyoutubestats","last_synced_at":"2026-01-20T23:33:55.971Z","repository":{"id":43370814,"uuid":"306329371","full_name":"FBoucher/azYouTubeStats","owner":"FBoucher","description":"Serverless functions returning YouTube Statistics","archived":false,"fork":false,"pushed_at":"2022-03-05T00:32:04.000Z","size":31,"stargazers_count":3,"open_issues_count":1,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-04-14T01:17:45.389Z","etag":null,"topics":["azure-functions","hacktoberfest","statistics","youtube-api-v3"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FBoucher.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-10-22T12:26:52.000Z","updated_at":"2022-03-05T00:32:04.000Z","dependencies_parsed_at":"2022-07-24T21:02:02.956Z","dependency_job_id":null,"html_url":"https://github.com/FBoucher/azYouTubeStats","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBoucher%2FazYouTubeStats","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBoucher%2FazYouTubeStats/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBoucher%2FazYouTubeStats/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FBoucher%2FazYouTubeStats/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FBoucher","download_url":"https://codeload.github.com/FBoucher/azYouTubeStats/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248804823,"owners_count":21164135,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["azure-functions","hacktoberfest","statistics","youtube-api-v3"],"created_at":"2024-11-16T08:25:43.908Z","updated_at":"2026-01-20T23:33:50.948Z","avatar_url":"https://github.com/FBoucher.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# azYouTubeStats\n\nUsing the Serverless Azure functions it returns YouTube Statistics.\n\nOnce deployed, you will need to add `APIKEY` to you configuration. If you are running it locally rename `local.settings.example.json` file `local.settings.json` and update `__YOUR_API_KEY__` with your value.\n\n```json\n{\n  \"IsEncrypted\": false,\n  \"Values\": {\n    \"AzureWebJobsStorage\": \"\",\n    \"FUNCTIONS_WORKER_RUNTIME\": \"dotnet\",\n    \"APIKEY\": \"__YOUR_API_KEY__\"\n  }\n}\n```\n## Deployment\n\n[Develop Azure Functions by using Visual Studio Code](https://docs.microsoft.com/en-us/azure/azure-functions/functions-develop-vs-code?tabs=csharp\u0026?WT.mc_id=azYouTubeStats-github-frbouche)\n\n## Currently implemented:\n\nMore to come but for now this is what we have.\n\n---\n\n### GetVideoStatsFromPlaylist\n\nReturn the **real** statistics for all individual videos contain in a YouTube PlayList.\n\n\nGET GetVideoStatsFromPlaylist \n\nBody Intput\n\n```json\n\n{\n  // [Required]\n  \"playlistId\": \"xxxxxxxxxxxxxxxxxxx\",\n\n  // [Required]\n  \"code\": \"azure security token\"\n\n  // [Optional]\n  \"withComment\": \"true\"\n}\n\n```\n\nBody Output:\n``` json\n{\n  \"contentType\": null,\n  \"serializerSettings\": null,\n  \"statusCode\": null,\n  \"value\": [\n      {\n      \"videoId\": \"xxxxxxxxxxx\",\n      \"title\": \"Video Title\",\n      \"viewCount\": 903,\n      \"likeCount\": 26,\n      \"dislikeCount\": 4,\n      \"commentCount\": 6,\n      \"language\": \"fr-CA\",\n      \"tags\": [\n        \"microsoft azure\",\n        \"cloud\"\n      ],\n      \"comments\": [\n        {\n          \"commentId\": \"1234567\",\n          \"videoId\": \"xxxxxxxxxxx\",\n          \"videoTitle\": \"Video Title\",\n          \"textOriginal\": \"Thank you\",\n          \"authorDisplayName\": \"Frank Boucher\",\n          \"likeCount\": 0,\n          \"totalReplyCount\": 0,\n          \"publishedAt\": \"2021-01-10T23:02:59Z\",\n          \"updatedAt\": \"2021-01-10T23:03:13Z\",\n          \"isPublic\": true\n        },\n        {\n          \"commentId\": \"12345678\",\n          \"videoId\": \"xxxxxxxxxxx\",\n          \"videoTitle\": \"Video Title\",\n          \"textOriginal\": \"Thanks for sharing\",\n          \"authorDisplayName\": \"Frank Boucher\",\n          \"likeCount\": 2,\n          \"totalReplyCount\": 0,\n          \"publishedAt\": \"2020-11-12T13:14:15Z\",\n          \"updatedAt\": \"2020-11-12T13:14:15Z\",\n          \"isPublic\": true\n        }\n      ],\n      \"publishedAt\": \"2021-03-01T11:41:27Z\",\n      \"duration\": \"PT7M5S\"\n      }\n  ]\n}\n\n```\n\n\n\n### GetVideoCommentsFromPlaylist\n\nReturn the all comments of all the videos contain in a YouTube PlayList.\n\n\nGET GetVideoCommentsFromPlaylist \nBody Input:\n\n```json\n\n{\n    // [Required]\n    \"playlistId\": \"xxxxxxxxxxxxxxxxxxx\",\n\n    // [Required]\n    \"code\": \"azure security token\"\n}\n\n```\n\nBody Output:\n```json\n{\n  \"contentType\": null,\n  \"serializerSettings\": null,\n  \"statusCode\": null,\n  \"value\": [\n    {\n      \"commentId\": \"1234567\",\n      \"videoId\": \"xxxxxxxxxxx\",\n      \"videoTitle\": \"Video Title\",\n      \"textOriginal\": \"Thank you\",\n      \"authorDisplayName\": \"Frank Boucher\",\n      \"likeCount\": 0,\n      \"totalReplyCount\": 0,\n      \"publishedAt\": \"2021-01-10T23:02:59Z\",\n      \"updatedAt\": \"2021-01-10T23:03:13Z\",\n      \"isPublic\": true\n    },\n    {\n      \"commentId\": \"12345678\",\n      \"videoId\": \"zzzzzzzz\",\n      \"videoTitle\": \"Another Video Title\",\n      \"textOriginal\": \"Thanks for sharing\",\n      \"authorDisplayName\": \"Frank Boucher\",\n      \"likeCount\": 2,\n      \"totalReplyCount\": 0,\n      \"publishedAt\": \"2020-11-12T13:14:15Z\",\n      \"updatedAt\": \"2020-11-12T13:14:15Z\",\n      \"isPublic\": true\n    }\n  ]\n}\n\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffboucher%2Fazyoutubestats","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffboucher%2Fazyoutubestats","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffboucher%2Fazyoutubestats/lists"}