{"id":14967424,"url":"https://github.com/mohitdmak/youtubesearchapi","last_synced_at":"2026-01-25T15:02:32.776Z","repository":{"id":40311511,"uuid":"373856694","full_name":"mohitdmak/YoutubeSearchApi","owner":"mohitdmak","description":"Customized search Yt api wrap","archived":false,"fork":false,"pushed_at":"2023-02-01T04:49:50.000Z","size":151,"stargazers_count":0,"open_issues_count":7,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-17T01:41:16.388Z","etag":null,"topics":["axios","chai","docker","express","mochajs","mongo-mongoose","youtube-api-v3"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/mohitdmak.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":"2021-06-04T13:50:35.000Z","updated_at":"2022-02-15T03:27:54.000Z","dependencies_parsed_at":"2024-08-23T14:34:42.997Z","dependency_job_id":null,"html_url":"https://github.com/mohitdmak/YoutubeSearchApi","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/mohitdmak%2FYoutubeSearchApi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohitdmak%2FYoutubeSearchApi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohitdmak%2FYoutubeSearchApi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mohitdmak%2FYoutubeSearchApi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mohitdmak","download_url":"https://codeload.github.com/mohitdmak/YoutubeSearchApi/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254095014,"owners_count":22013677,"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":["axios","chai","docker","express","mochajs","mongo-mongoose","youtube-api-v3"],"created_at":"2024-09-24T13:38:02.432Z","updated_at":"2026-01-25T15:02:32.743Z","avatar_url":"https://github.com/mohitdmak.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# YoutubeSearchApi\n\n[![Node.js CI](https://github.com/mohitdmak/YoutubeSearchApi/actions/workflows/node.js.yml/badge.svg?branch=main)](https://github.com/mohitdmak/YoutubeSearchApi/actions/workflows/node.js.yml)\n\n## API Paths\n\u003e After following the installation process below and starting project, the api shall be listening for requests at port 3000.\n\n- /\n  \u003e Home path, app shall respond with a simple json acknowledgement\n\n- /search/\u003c query \u003e\n  \u003e Insert query which you want your Data API v3 to send results for, which will be sorted by latest uploaded and return max responses of 2\n ( hard coded, can change at ./controllers/searchController.js)\n\n- /find/\u003c query \u003e\n  \u003e Filter responses by video's title or description or both.\n  Server expects them to be values of keys:\n  \"title\"\n  \"description\"\n  in url query strings.\n\n  \u003e The \u003c query \u003e must have been searched for before in order to filter by title or description.\n\n## To start, \n\n\u003cdetails\u003e\n\u003csummary\u003e Create a Mongo Atlas Connection URI\u003c/summary\u003e\n\u003cbr\u003e\n\n- Login to Mongo Atlas\n- Create a project and build new cluster ( it provides a free sandbox )\n- Create Database users and secure network access to your machine's IP only\n- Create a database which has 2 collections:\n  - videos\n  - searches\n- Obtain a connection uri for node version \u003e 14\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e Get a Youtube Data API V3 key\u003c/summary\u003e\n\u003cbr\u003e\n\n- Visit Google Api Console, https://console.cloud.google.com/\n\n- Create a new project and enable the Yt Data API v3 at https://console.cloud.google.com/apis/api/youtube.googleapis.com\n\n- Create Credentials and secure the key to allow access to only the created api, and download credentials into your project folder.\n\n- Preferrably procure multiple keys as the project will automatically cycles through keys, as their request quotas get exhausted.\n\u003c/details\u003e\n\n### Get the project in your local machine\n- Fork the project\n- Clone by following on terminal at preferred directory\n\n```\ngit clone https://github.com/\u003cYour_Username\u003e/YoutubeSearchApi.git\n```\n\n### Setup the config folder\n\n- Copy and export the Mongo connection uri into a file at \n./config/mongouri.js \nfrom your project.\n\n- Copy and export (as an array) the set of all api keys at \n./config/apiKey.js\nfrom your project. \n\n### Containerise app\n- This requires your machine to have Docker runtime installed. If it isnt already install by refering these\n  - (Mac OS) https://docs.docker.com/docker-for-mac/install/\n  - (Windows) https://docs.docker.com/docker-for-windows/install/\n  - (Linux) https://docs.docker.com/engine/install/ (Browse by distributions)\n\n  - Further Install docker compose\n  https://docs.docker.com/compose/install/\n\n- Create docker image and containers \n   - You may need to create a user group or else run as sudo \n```\ndocker-compose up --build\n```\n\u003cbr\u003e\n\n#### You can run app without docker in case of issues by:\n\n- Initiating project with npm pm\n```\nnpm init -y \n```\n- Installing dependancies\n```\nnpm install i\n```\n- Test Npm Script:\n```\nnpm run test\n```\n- Starting Project\n```\nnpm run start\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohitdmak%2Fyoutubesearchapi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmohitdmak%2Fyoutubesearchapi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmohitdmak%2Fyoutubesearchapi/lists"}