{"id":15678125,"url":"https://github.com/umitkaanusta/mint-youtube","last_synced_at":"2026-03-05T07:39:14.704Z","repository":{"id":112261814,"uuid":"288759554","full_name":"umitkaanusta/mint-youtube","owner":"umitkaanusta","description":"Comment analytics tool for YouTube videos","archived":false,"fork":false,"pushed_at":"2023-05-02T11:19:38.000Z","size":82172,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T02:26:02.674Z","etag":null,"topics":["channel","comment","nlp","self-hosted","text-analysis","text-classification","video","youtube","youtube-api","youtube-videos"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/umitkaanusta.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-19T14:50:18.000Z","updated_at":"2024-05-11T13:45:24.000Z","dependencies_parsed_at":"2024-10-27T08:46:59.836Z","dependency_job_id":null,"html_url":"https://github.com/umitkaanusta/mint-youtube","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/umitkaanusta/mint-youtube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umitkaanusta%2Fmint-youtube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umitkaanusta%2Fmint-youtube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umitkaanusta%2Fmint-youtube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umitkaanusta%2Fmint-youtube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/umitkaanusta","download_url":"https://codeload.github.com/umitkaanusta/mint-youtube/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/umitkaanusta%2Fmint-youtube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30114320,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T03:40:26.266Z","status":"ssl_error","status_checked_at":"2026-03-05T03:39:15.902Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["channel","comment","nlp","self-hosted","text-analysis","text-classification","video","youtube","youtube-api","youtube-videos"],"created_at":"2024-10-03T16:17:09.139Z","updated_at":"2026-03-05T07:39:14.663Z","avatar_url":"https://github.com/umitkaanusta.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# mint-youtube: Self-hosted YouTube comment analytics tool\n![Python version](https://img.shields.io/badge/python-v3.7-blue)\n![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)\n\n\nMint is a self-hosted comment analytics tool for YouTube videos.\n\n\n## Demo video (click on the image to watch)\n[![Demo video](https://img.youtube.com/vi/pTSNcMOUd-s/0.jpg)](https://www.youtube.com/watch?v=pTSNcMOUd-s)\n\n\n## Upcoming features / Features in development\n- A simple log to see the results of your past requests to the JSON API\n\n\n## Installation\n\n### Pulling from Docker Hub and running\n- Run `docker pull umitkaanusta/mint-youtube`\n- Run `docker run -p 5000:5000 -d umitkaanusta/mint-youtube`\n\n### Creating your own Docker Image and running it\n- Clone the repository\n- `cd` to the repo's directory\n- Run `docker build -t mint-youtube .`\n- Run `docker run -p 5000:5000 -d mint-youtube`\n\n### Installing \u0026 running without Docker\n- Clone the repository\n- Run `pip install -r requirements.txt`\n- Run the script run.py \n\n\n## Usage\n- Available languages: Turkish (tr), English (en)\n- You need a YouTube Data API key before using Mint\n- Check here if you don't have it: https://developers.google.com/youtube/v3/getting-started\n\n### Getting visual report\n- Open the home page, paste the link of the video, your YT Data API key and select the language of the comments.\n- Alternatively, send a GET request to\n    - `/report?video_id=\u003cvideo_id\u003e\u0026lang=\u003clanguage\u003e\u0026yt_api_key=\u003capi_key\u003e`\n- Test endpoint:\n    - `/test?lang=\u003clanguage\u003e`\n    \n### Getting JSON reports\n- Mint has a small JSON API in it\n\n#### Report for a video\n- Send a GET request to\n-   `/api/report?video_id=\u003cvideo_id\u003e\u0026lang=\u003clanguage\u003e\u0026yt_api_key=\u003capi_key\u003e`\n- Test endpoint:\n-   `/api/test-report?lang=\u003clanguage\u003e`\n\n#### Report for a channel\n- Send a GET request to\n-   `/api/channel-report?channel_id=\u003cchannel_id\u003e\u0026lang=\u003clanguage\u003e\u0026max_results=\u003cmax_results\u003e\u0026order_by=\u003corder_by\u003e\u0026yt_api_key=\u003capi_key\u003e`\n-   Query parameter `order_by` accepts the following: `date, rating, title, viewCount`\n-   `order_by` is set to `relevance` by default\n\n\n\n## Known bugs - not related to Mint\n\n### Bug 001\nMint uses youtube-data-api as a Python wrapper of the YouTube Data API v3.\nThe package gives the following error on some cases:\n```\n\"commenter_channel_id\" : item['snippet'].get('authorChannelId').get('value', None),\nAttributeError: 'NoneType' object has no attribute 'get'\n```\nOur suggested band-aid solution:\n- Go to your local virtual env, find youtube_api under site-packages folder\n- Modify line 233 of parsers.py as the following:\n```\n\"commenter_channel_id\" : None,\n```\n- **This change won't affect Mint in the slightest**\n\n\n## Citations\n\n```\n@misc{leon_yin_2018_1414418,\n  author       = {Leon Yin and\n                  Megan Brown},\n  title        = {SMAPPNYU/youtube-data-api},\n  month        = sep,\n  year         = 2018,\n  doi          = {10.5281/zenodo.1414418},\n  url          = {https://doi.org/10.5281/zenodo.1414418}\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumitkaanusta%2Fmint-youtube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fumitkaanusta%2Fmint-youtube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fumitkaanusta%2Fmint-youtube/lists"}