{"id":18498076,"url":"https://github.com/apivideo/youtube-clone-next","last_synced_at":"2025-09-09T21:48:30.513Z","repository":{"id":108565308,"uuid":"463476409","full_name":"apivideo/youtube-clone-next","owner":"apivideo","description":"Rebuilding YouTube with api.video and Next.js 🎥","archived":false,"fork":false,"pushed_at":"2023-03-08T15:42:06.000Z","size":182,"stargazers_count":28,"open_issues_count":0,"forks_count":8,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-07-21T09:32:43.693Z","etag":null,"topics":["nextjs","nodejs","tutorial","video","video-player"],"latest_commit_sha":null,"homepage":"https://api-video-youtube-demo.netlify.app","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apivideo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2022-02-25T09:40:53.000Z","updated_at":"2025-06-04T08:30:50.000Z","dependencies_parsed_at":"2023-06-02T13:30:43.763Z","dependency_job_id":null,"html_url":"https://github.com/apivideo/youtube-clone-next","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/apivideo/youtube-clone-next","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fyoutube-clone-next","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fyoutube-clone-next/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fyoutube-clone-next/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fyoutube-clone-next/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apivideo","download_url":"https://codeload.github.com/apivideo/youtube-clone-next/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apivideo%2Fyoutube-clone-next/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274367723,"owners_count":25272301,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["nextjs","nodejs","tutorial","video","video-player"],"created_at":"2024-11-06T13:37:34.912Z","updated_at":"2025-09-09T21:48:30.456Z","avatar_url":"https://github.com/apivideo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://github.com/apivideo/.github/blob/main/assets/apivideo_banner.png\" alt=\"api.video Logo\" width=\"100%\" \u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eRebuilding YouTube with api.video + Next.js 🔥\u003c/h1\u003e\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://twitter.com/intent/follow?screen_name=api_video\"\u003e\u003cimg src=\"https://img.shields.io/twitter/follow/api_video?style=social\" alt=\"Twitter Badge\"/\u003e\u003c/a\u003e\n    \u003ca href=\"https://community.api.video\"\u003e\u003cimg src=\"https://img.shields.io/discourse/topics?server=https%3A%2F%2Fcommunity.api.video\" alt=\"Pull Requests Badge\"/\u003e\u003c/a\u003e\n\u003c/div\u003e\n\u003cbr /\u003e\n\n\u003cp align=\"center\"\u003e\nAn open-source example application that allows users to list videos in the youtube style using \u003ca href=\"https://api.video\" target=\"_blank\" \u003eapi.video\u003c/a\u003e\n\u003cbr /\u003e\n \u003cbr /\u003e\n\u003ca href=\"https://api-video-youtube-demo.netlify.app/\"\u003eView Demo\u003c/a\u003e\n\u003c/p\u003e\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails open=\"open\"\u003e\n  \u003csummary\u003e\u003ch2 style=\"display: inline-block\"\u003eTable of Contents\u003c/h2\u003e\u003c/summary\u003e\n  \u003col\u003e\n    \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#step-1-clone\"\u003eStep 1. Clone\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#step-2-create-an-account\"\u003eStep 2. Create an Account\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#step-3-set-up-environment-variables\"\u003eStep 3. Set Up Environment Variables\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n  \u003c/ol\u003e\n\u003c/details\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n# About The Project\n\n### api.video:\n\n- [@api.video/nodejs-client.](https://github.com/apivideo/api.video-nodejs-client) - api.video's Node.js is a lightweight client built in TypeScript that streamlines the coding process. Chunking files is handled for you, as is pagination and refreshing your tokens.\n\n### NextJS:\n\n- [`/pages/api`](pages/api) routes — a couple endpoints for making requests to the api.video API.\n- Dynamic routes to display a specific video.\n- Usage of [React API Context](https://fr.reactjs.org/docs/context.html) to store a new ApiKey\n\n\u003c!-- GETTING STARTED --\u003e\n\n# Getting Started\n\n## Step 1. Clone\n\nFirst we need to clone the project\n\n```bash\ngit clone git@github.com:apivideo/youtube-clone-next.git\ncd youtube-clone-next\n\n# run the development server\nnpm run dev\n# or\nyarn dev\n```\n\n## Step 2. Create an account\n\nAll you need to set this up is a [api.video account](https://dashboard.api.video). You can sign up for free. You can use our services in sandbox environment but the videos you upload will last 24 hours.\n\nOnce you signed up, you will have a sandbox API Key available on the home page.\n\n## Step 3. Set Up Environment Variables\n\nIn order to see your videos by default, all you have to do is to use your API Key. You need to create a environment variable at the root of the project.\n\n```bash\ntouch .env.development\n```\n\nThen edit the file like `API_KEY` should be your `API_KEY` available on the dashboard\n\n```javascript\nAPI_KEY = XXXXXXXXXXXXXXXXXXXXXXXXXXX;\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapivideo%2Fyoutube-clone-next","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapivideo%2Fyoutube-clone-next","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapivideo%2Fyoutube-clone-next/lists"}