{"id":14986585,"url":"https://github.com/jefrydco/cari-teks-video-api","last_synced_at":"2025-04-11T20:32:18.923Z","repository":{"id":37028908,"uuid":"277871059","full_name":"jefrydco/cari-teks-video-api","owner":"jefrydco","description":"API service for searching text in YouTube Closed Captions","archived":false,"fork":false,"pushed_at":"2025-04-02T00:01:54.000Z","size":200,"stargazers_count":12,"open_issues_count":12,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T01:19:16.019Z","etag":null,"topics":["api","open-api","subtitle","youtube"],"latest_commit_sha":null,"homepage":"https://awesome-cari-teks-video.netlify.app","language":"TypeScript","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/jefrydco.png","metadata":{"files":{"readme":"readme-id.md","changelog":null,"contributing":null,"funding":null,"license":"license.md","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-07-07T16:42:00.000Z","updated_at":"2025-03-24T01:47:04.000Z","dependencies_parsed_at":"2024-02-22T09:25:17.004Z","dependency_job_id":"eda09a8b-d49b-484c-b03b-0977cfcac6f4","html_url":"https://github.com/jefrydco/cari-teks-video-api","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/jefrydco%2Fcari-teks-video-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefrydco%2Fcari-teks-video-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefrydco%2Fcari-teks-video-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jefrydco%2Fcari-teks-video-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jefrydco","download_url":"https://codeload.github.com/jefrydco/cari-teks-video-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248476457,"owners_count":21110289,"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":["api","open-api","subtitle","youtube"],"created_at":"2024-09-24T14:13:10.983Z","updated_at":"2025-04-11T20:32:14.824Z","avatar_url":"https://github.com/jefrydco.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Cari Teks Video API\n\n\u003e Layanan API untuk mencari teks pada _caption_ YouTube\n\n![Cari Teks Video](https://repository-images.githubusercontent.com/277871059/97eb1400-64c6-11eb-913f-bdcfe5151222)\n\n## Daftar Isi\n\n- [Bahasa](#-bahasa)\n- [Deskripsi](#deskripsi)\n- [Daftar Keren](#daftar-keren)\n- [Dokumentasi API](#dokumentasi-api)\n  - [\u003cem\u003eRequest\u003c/em\u003e](#request)\n  - [\u003cem\u003eResponse\u003c/em\u003e](#response)\n  - [Contoh](#contoh)\n- [Penyangkalan](#penyangkalan)\n- [Perizinan](#perizinan)\n\n## 🌎 Bahasa\n\nBaca deskripsi ini dalam bahasa lain:\n\n- [🇬🇧 English](./readme.md)\n\n## Deskripsi\n\nAPI ini semula digunakan untuk latihan pada webinar Vue.js Fundamental. Teman-teman dapat melihat rekaman ulangnya di [YouTube: Vue.js Fundamental](https://www.youtube.com/watch?v=kvDxWcxhh7c). Jika teman-teman penasaran bagaimana API ini bekerja di balik layar, teman-teman dapat mempelajarinya pada blog saya, [Jefrydco: Bagaimana Jika Kita Dapat Mencari Kata Kunci Apapun dari Video YouTube Manapun Melalui Captionnya?](https://jefrydco.id/blog/search-closed-captions-text-youtube-video/).\n\n## Daftar Keren\n\nTeman-teman dapat melihat daftar aplikasi keren yang dibuat menggunakan API ini di https://awesome-cari-teks-video.netlify.app.\n\n## Dokumentasi API\n\nSetiap URL YouTube **membutuhkan waktu yang lebih lama untuk _request_ pertama kali** dan **di-_cache_ pada _request_ berikutnya**.\n\n\n### _Request_\n\nURL: https://cari-teks-video-api.vercel.app/api/search\n\nMethod: POST\n\nParameter Kueri:\n\n| Nama Parameter | Tipe Data        | Contoh Nilai                                | Nilai Anggapan | Wajib Ada? | Deskripsi                                                                     |\n|----------------|------------------|---------------------------------------------|----------------|------------|-------------------------------------------------------------------------------|\n| url            | String           | https://www.youtube.com/watch?v=okpg-lVWLbE | -              | Yes        | URL video YouTube yang ingin kita cari kata-katanya                           |\n| q              | String           | web                                         | -              | Yes        | Kata kunci yang digunakan                                                     |\n| page           | Number           | 1                                           | 1              | No         | Memfilter hasil pencarian berdasarkan halaman                                 |\n| size           | Number           | 10                                          | 10             | No         | Memfilter seberapa banyak hasil pencarian yang tampil dalam sekali permintaan |\n| marked         | Boolean (0 or 1) | 1                                           | 1              | No         | Mencetak tebal kata kunci di hasil pencarian                                  |\n| paginated      | Boolean (0 or 1) | 1                                           | 1              | No         | Membuat paginasi untuk hasil pencarian atau tidak                             |\n\n\n### _Response_\n\n| Nama Kunci | Tipe Data              | Contoh Nilai                                                                                                                                                                                                                                                           | Deskripsi                                                                                                                                |\n|------------|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------|\n| data       | Array\u003citem\u003e            | `[{start: 1000, end: 1200, text: “lorem ipsum”}]`                                                                                                                                                                                                                      | Daftar hasil pencarian                                                                                                                   |\n| meta       | Record\u003cstring, string\u003e | `{title: \"6 Problems with our School System\", channelName: \"Next School\", channelUrl: \"https://www.youtube.com/channel/UCEb1b2lWpBA0Ux4wi8A4yJA\", channelLogoUrl: \"https://yt3.ggpht.com/ytc/AAUvwnj74okT3YeIm_HwnkAtiOTVzzcrirBRm7HJcAf1=s68-c-k-c0x00ffffff-no-rj\"}` | Data meta dari video                                                                                                                     |\n| first      | String                 | https://cari-teks-video-api.vercel.app/api/search?page=1\u0026q=education\u0026url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dokpg-lVWLbE                                                                                                                                       | Tautan halaman pertama dari hasil pencarian                                                                                              |\n| last       | String                 | https://cari-teks-video-api.vercel.app/api/search?page=23\u0026q=education\u0026url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dokpg-lVWLbE                                                                                                                                      | Tautan halaman terakhir dari hasil pencarian                                                                                             |\n| prev       | String \u0026vert; null     | https://cari-teks-video-api.vercel.app/api/search?page=1\u0026q=education\u0026url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dokpg-lVWLbE                                                                                                                                       | Tautan halaman sebelumnya dari hasil pencarian. Jika nilainya null berarti hasil pencarian tersebut tidak memiliki halaman sebelumnya    |\n| next       | String \u0026vert; null     | https://cari-teks-video-api.vercel.app/api/search?page=3\u0026q=education\u0026url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dokpg-lVWLbE                                                                                                                                       | Tautan halaman selanjutnya dari hasil pencarian. Jika nilainya null berarti hasil pencarian tersebut tidak memiliki halaman selanjutnya. |\n| total      | Number                 | 229                                                                                                                                                                                                                                                                    | Total item hasil pencarian                                                                                                               |\n| page       | Number                 | 2                                                                                                                                                                                                                                                                      | Halaman pencarian sekarang                                                                                                               |\n\n\nSetiap item di data berisi:\n\n| Key   | Data Type | Example Value                                                                           | Description                                       |\n|-------|-----------|-----------------------------------------------------------------------------------------|---------------------------------------------------|\n| start | Number    | 20                                                                                      | Detik ke-berapa kata kunci yang dimaksud dimulai  |\n| end   | Number    | 22                                                                                      | Detik ke-berapa kata kunci yang dimaksud berakhir |\n| text  | String    | \"that the current system of \u0026lt;mark class=\\\"cvt-highlight\\\"\u0026gt;education\u0026lt;/mark\u0026gt;\" | Teks yang mengandung kata kunci yang dimaksud     |\n\n\n### Contoh\n\n```shell\ncurl -XPOST 'https://cari-teks-video-api.vercel.app/api/search?q=education\u0026url=https://www.youtube.com/watch?v=okpg-lVWLbE'\n# Response\n{\n  \"data\": [\n    {\n      \"start\": 2,\n      \"end\": 5,\n      \"text\": \"that something is wrong with our system of \u003cmark class=\\\"cvt-highlight\\\"\u003eeducation\u003c/mark\u003e.\"\n    },\n    {\n      \"start\": 20,\n      \"end\": 22,\n      \"text\": \"that the current system of \u003cmark class=\\\"cvt-highlight\\\"\u003eeducation\u003c/mark\u003e\"\n    },\n    {\n      \"start\": 222,\n      \"end\": 225,\n      \"text\": \"There seems to be no room in the current \u003cmark class=\\\"cvt-highlight\\\"\u003eeducation\u003c/mark\u003e system\"\n    },\n    {\n      \"start\": 330,\n      \"end\": 332,\n      \"text\": \"Our system of \u003cmark class=\\\"cvt-highlight\\\"\u003eeducation\u003c/mark\u003e,\"\n    },\n    {\n      \"start\": 345,\n      \"end\": 349,\n      \"text\": \"fundamentally change our system of \u003cmark class=\\\"cvt-highlight\\\"\u003eeducation\u003c/mark\u003e.\"\n    }\n  ],\n  \"meta\": {\n    \"title\": \"6 Problems with our School System\",\n    \"channelName\": \"Next School\",\n    \"channelUrl\": \"https://www.youtube.com/channel/UCEb1b2lWpBA0Ux4wi8A4yJA\",\n    \"channelLogoUrl\": \"https://yt3.ggpht.com/ytc/AAUvwnj74okT3YeIm_HwnkAtiOTVzzcrirBRm7HJcAf1=s68-c-k-c0x00ffffff-no-rj\"\n  },\n  \"first\": \"https://cari-teks-video-api.vercel.app/api/search?page=1\u0026q=education\u0026url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dokpg-lVWLbE\",\n  \"last\": \"https://cari-teks-video-api.vercel.app/api/search?page=1\u0026q=education\u0026url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dokpg-lVWLbE\",\n  \"prev\": null,\n  \"next\": null,\n  \"total\": 5,\n  \"page\": 1\n}\n```\n\n## Penyangkalan\n\n1. \"Metode\" mengarah ke langkah-langkah atau penjelasan yang saya tulis pada artikel ini, [Jefrydco: Bagaimana Jika Kita Dapat Mencari Kata Kunci Apapun dari Video YouTube Manapun Melalui Captionnya?](https://jefrydco.id/blog/search-closed-captions-text-youtube-video/).\n2. \"API\" mengarah ke semua API yang tersedia pada https://cari-teks-video-api.vercel.app/api.\n3. Semua metode ini murni **bertujuan untuk riset dan eksperimen**.\n4. Jika YouTube memutuskan untuk mengubah skema API _caption_ atau menggunakan cara lain, metode ini **kemungkinan tidak dapat digunakan**.\n5. Karena API yang dibuat di-_host_ pada versi gratis dari Vercel yang memiliki beberapa batasan. Salah satunya adalah berapa banyak pemanggilan fungsi. Jika API tersebut tiba-tiba tidak dapat diakses, kemungkinan telah melewati batasan tersebut.\n6. Karena poin nomor 4 dan 5, saya **tidak dapat menjamin API tersebut akan dapat digunakan secara terus-menerus**. Tetapi saya akan melakukan pengecekan secara reguler untuk memastikannya tetap berjalan baik.\n7. **Jangan gunakan untuk _production_**. Saya tidak akan bertanggung jawab terhadap dampak apapun yang ditimbulkan dari penggunaan tersebut.\n8. YouTube memiliki [API Data YouTube untuk _Caption_](https://developers.google.com/youtube/v3/docs/captions?hl=id) untuk menyediakan cara resmi mengakses _caption_. Silahkan **gunakan layanan ini jika teman-teman ingin menggunakan fitur serupa untuk _production_**.\n9. Jika teman-teman menemukan bug, silahkan mengirimkan _issue_ di repositori GitHub berikut, [Cari Teks Video API](https://github.com/jefrydco/cari-teks-video-api/blob/main/readme-id.md#readme).\n\n## Perizinan\n\nKode sumber berlisensi [MIT](./license.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjefrydco%2Fcari-teks-video-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjefrydco%2Fcari-teks-video-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjefrydco%2Fcari-teks-video-api/lists"}