{"id":19684980,"url":"https://github.com/boolfalse/react-youtube-api","last_synced_at":"2026-06-20T20:31:12.470Z","repository":{"id":114182341,"uuid":"325034683","full_name":"boolfalse/react-youtube-api","owner":"boolfalse","description":"Search-autocomplete YouTube videos with React","archived":false,"fork":false,"pushed_at":"2020-12-28T15:19:35.000Z","size":346,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-27T08:08:56.127Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"CSS","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/boolfalse.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":"2020-12-28T14:32:31.000Z","updated_at":"2020-12-28T15:18:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"04d04d4a-de66-49e3-ada2-8ca1135daaa7","html_url":"https://github.com/boolfalse/react-youtube-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/boolfalse/react-youtube-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boolfalse%2Freact-youtube-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boolfalse%2Freact-youtube-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boolfalse%2Freact-youtube-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boolfalse%2Freact-youtube-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/boolfalse","download_url":"https://codeload.github.com/boolfalse/react-youtube-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/boolfalse%2Freact-youtube-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34585195,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-20T02:00:06.407Z","response_time":98,"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":[],"created_at":"2024-11-11T18:19:33.933Z","updated_at":"2026-06-20T20:31:12.453Z","avatar_url":"https://github.com/boolfalse.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# React-AutoComplete\n\nA simple React component which shows AutoSuggest keywords based on live data fetched from YouTube Data API v3.\n\n## Environment variables\n\nCreate **.env** file in the root directory and set there value for:\n**REACT_APP_YOUTUBE_DATA_API_V3_KEY** secret variable. You can get that from [YouTube Data API official page](https://developers.google.com/youtube/v3/getting-started).\n\u003cbr\u003e\nAlso set value for **REACT_APP_PUBLIC_URL** secret variable (e.g. \"https://boolfalse.github.io/react-youtube-api\" for GH-Pages, \"http://localhost:3000\" or something like that).\n\n## Available Scripts\n\nIn the project directory, you can run:\n\n### `npm install`\n\nInstalls all Node Modules (Prod and Dev) dependencies.\n\n### `npm start`\n\nRuns the app in the development mode.\u003cbr\u003e\nOpen [http://localhost:3000](http://localhost:3000) to view it in the browser.\n\nThe page will reload if you make edits.\u003cbr\u003e\nYou will also see any lint errors in the console.\n\n### `npm test`\n\nLaunches the test runner in the interactive watch mode.\u003cbr\u003e\nSee the section about [running tests](#running-tests) for more information.\n\n### `npm run build`\n\nBuilds the app for production to the `build` folder.\u003cbr\u003e\nIt correctly bundles React in production mode and optimizes the build for the best performance.\n\nThe build is minified and the filenames include the hashes.\u003cbr\u003e\nYour app is ready to be deployed!\n\nSee the section about [deployment](#deployment) for more information.\n\n### `npm run eject`\n\n**Note: this is a one-way operation. Once you `eject`, you can't go back!**\n\nIf you aren't satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.\n\nInstead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project, so you've full control over them. All of the commands except `eject` will still work, but they'll point to the copied scripts so you can tweak them. At this point you're on your own.\n\nYou don't have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn't feel obligated to use this feature. However we understand that this tool wouldn't be useful if you couldn't customize it when you are ready for it.\n\n\n\n## JSONP Request\n\nUsing YouTube Data API v3 to fetch the suggestion keywords Asynchronously, This API causes cross-domain issues, hence using JSONP.\n\n\"https://www.googleapis.com/youtube/v3/search?part=snippet\u0026maxResults=5\u0026type=video\u0026key=[YOUTUBE_DATA_API_V3_KEY]\u0026q=\"\n\n  **USAGE**\n\nUsing JSONP to make request without worrying about cross-domain issues.\n\n```\nconst API_URL = \"https://www.googleapis.com/youtube/v3/search?part=snippet\u0026maxResults=5\u0026type=video\u0026key=[YOUTUBE_DATA_API_V3_KEY]\u0026q=\";\n\n    fetchJsonp(`${API_URL} + ${this.state.query}`)\n      .then(function(response) {\n        ...\n      }\n  \n```\n\n## Folder Structure\n\nAfter creation, your project should look like this:\n\n```\n├── package.json\n├── public\n|  ├── favicon.ico\n|  ├── index.html\n|  └── manifest.json\n├── README.md\n├── src\n|  ├── App.css\n|  ├── App.js\n|  ├── App.test.js\n|  ├── index.css\n|  ├── index.js\n|  ├── logo.svg\n|  ├── registerServiceWorker.js\n|  └── Suggestions.js\n└── yarn.lock\n```\n\nFor the project to build, **these files must exist with exact filenames**:\n\n* `public/index.html` is the page template;\n* `src/index.js` is the JavaScript entry point.\n\nYou can delete or rename the other files.\n\nYou may create subdirectories inside `src`. For faster rebuilds, only files inside `src` are processed by Webpack.\u003cbr\u003e\nYou need to **put any JS and CSS files inside `src`**, otherwise Webpack won't see them.\n\nOnly files inside `public` can be used from `public/index.html`.\u003cbr\u003e\nRead instructions below for using assets from JavaScript and HTML.\n\nYou can, however, create more top-level directories.\u003cbr\u003e\nThey will not be included in the production build, so you can use them for things like documentation.\n\n\n\n## Built With\n\n* [React.js](https://reactjs.org/) - The web framework used\n* [CreateReactApp](https://github.com/facebook/create-react-app) - To automate build configuration\n* [Fetch JsonP](https://www.npmjs.com/package/fetch-jsonp) - Using JSONP to make request without worrying about cross-domain issues.\n\n## Author\n\n* **BoolFalse** - *Initial work* - [boolfalse](https://github.com/boolfalse)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboolfalse%2Freact-youtube-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fboolfalse%2Freact-youtube-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fboolfalse%2Freact-youtube-api/lists"}