{"id":49160221,"url":"https://github.com/marcelocantos/ytt","last_synced_at":"2026-04-27T07:01:18.456Z","repository":{"id":352962518,"uuid":"1217383930","full_name":"marcelocantos/ytt","owner":"marcelocantos","description":"Fetch YouTube video transcripts from the command line.","archived":false,"fork":false,"pushed_at":"2026-04-22T10:48:56.000Z","size":25,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-04-22T12:14:18.304Z","etag":null,"topics":["cli","python","transcripts","youtube"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marcelocantos.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-21T20:41:35.000Z","updated_at":"2026-04-22T10:48:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/marcelocantos/ytt","commit_stats":null,"previous_names":["marcelocantos/ytt"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/marcelocantos/ytt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelocantos%2Fytt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelocantos%2Fytt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelocantos%2Fytt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelocantos%2Fytt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marcelocantos","download_url":"https://codeload.github.com/marcelocantos/ytt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marcelocantos%2Fytt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32326122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"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":["cli","python","transcripts","youtube"],"created_at":"2026-04-22T12:07:16.864Z","updated_at":"2026-04-27T07:01:18.450Z","avatar_url":"https://github.com/marcelocantos.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ytt\n\nFetch YouTube video transcripts from the command line.\n\nA thin wrapper around [`youtube-transcript-api`](https://github.com/jdepoix/youtube-transcript-api)\nthat extracts video IDs from URLs, handles multiple videos, and optionally\nprefixes each segment with a timestamp.\n\n## Install\n\n### Homebrew (recommended)\n\n```sh\nbrew install marcelocantos/tap/ytt\n```\n\n### From the GitHub release\n\nEach release attaches standalone binaries for macOS arm64, Linux x86_64,\nand Linux arm64. Download the tarball matching your platform from the\n[releases page](https://github.com/marcelocantos/ytt/releases/latest),\nextract, and put `ytt` on your PATH.\n\n### From source\n\nRequires Python 3.10+:\n\n```sh\npipx install git+https://github.com/marcelocantos/ytt\n```\n\n## Usage\n\n```sh\nytt dQw4w9WgXcQ                                  # raw video ID\nytt https://www.youtube.com/watch?v=dQw4w9WgXcQ  # full URL\nytt https://youtu.be/dQw4w9WgXcQ                 # short URL\nytt --timestamps dQw4w9WgXcQ                     # one line per segment, [mm:ss] prefix\nytt \u003cid1\u003e \u003cid2\u003e \u003cid3\u003e                            # multiple videos, blank line between\n```\n\nPlain output joins all segments with spaces — convenient for piping into\nword counts, LLM prompts, or search tools:\n\n```sh\nytt dQw4w9WgXcQ | wc -w\nytt dQw4w9WgXcQ | grep -i \"never\"\n```\n\nWith `--timestamps` (`-t`), each segment is on its own line:\n\n```\n[00:00] Never gonna give you up\n[00:03] Never gonna let you down\n[00:07] Never gonna run around and desert you\n...\n```\n\n## Flags\n\n| Flag | Purpose |\n|---|---|\n| `-t`, `--timestamps` | Prefix each segment with `[mm:ss]` (or `[h:mm:ss]` for long videos), one per line |\n| `--version` | Print version |\n| `--help` | Print usage |\n| `--help-agent` | Extended help oriented toward AI/agent consumers |\n\n## Exit codes\n\n| Code | Meaning |\n|---|---|\n| 0 | All transcripts fetched successfully |\n| 1 | One or more videos failed (unavailable, transcripts disabled, etc.) |\n| 2 | Usage error (no arguments, bad flag) |\n\nErrors are written to stderr, one line per failure, in the form\n`ytt: \u003cvideo-id\u003e: \u003creason\u003e`.\n\n## Requirements\n\n- Internet access to YouTube (the underlying library scrapes YouTube's\n  caption endpoints; YouTube occasionally changes these and breaks\n  transcript fetching until the library catches up)\n- Python 3.10+ only if installing from source; the Homebrew and\n  GitHub-release downloads bundle their own interpreter\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelocantos%2Fytt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarcelocantos%2Fytt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarcelocantos%2Fytt/lists"}