Client for the YouTube Data API
Overview
Search public YouTube data and retrieve channels, videos, playlists, comments, captions, live broadcasts, and reference data. Authenticated methods support common uploads, playlist changes, comment moderation, and media updates. See the YouTube Data API documentation at https://developers.google.com/youtube/v3/.
Released 2026-08-17.
Breaking API cleanup
- List endpoints now use a consistent
list_*()prefix. The renamed functions arelist_comments(),list_comment_threads(),list_playlist_items(),list_playlists(),list_subscriptions(),list_live_chat_messages(), andlist_super_chat_events(). - Resource-specific names replace ambiguous names and abbreviations, including
get_video_stats(),get_channel_details(),list_popular_videos(),list_video_categories(),list_languages(), anddownload_caption(). - Singular mutation arguments use singular names, such as
video_id,comment_id, andplaylist_item_id. Plural ID arguments accept vectors. - Public reads default to API-key authentication. OAuth-only functions no longer expose an
authchoice.
Show all changes in 2.0.0Hide the rest of the changes in 2.0.0
- Simplified list results use fixed snake-case schemas. Set
simplify = FALSEto retain the collected API response.get_video_details()remains dynamic because its columns depend onpart.
See vignette("api-conventions", package = "tuber") for the full migration
table and endpoint support matrix.
Correctness
- Video and caption uploads now use Google's resumable upload protocol. Thumbnail and channel-banner uploads use explicit media uploads and enforce YouTube's file-size limits.
- Comment collection fetches every reply page instead of relying on the reply preview embedded in a comment thread.
- Channel, playlist, subscription, comment, live-broadcast, and search wrappers now enforce the filter combinations documented by YouTube.
- Pagination treats
max_resultsas a total limit and trims the first page as well as later pages. - Quota estimates use Google's current data, search, and video-upload buckets and method-specific costs.
- The optional response cache covers reference data, is transparent and persistent when configured, and is isolated by authentication credentials.
- Removed wrappers for retired related-video and guide-category endpoints.
Documentation
- Added an API convention and endpoint coverage vignette.
- Rewrote the README around the supported API and removed obsolete OAuth, caption, and TLS instructions.
From NEWS.md in the release
Install
Health
- OK13 OK2026-08-04
- NOTE12 OK, 1 NOTE2026-08-01
- OK14 OK2026-03-10
Documentation
- Help pages
- 123 (50 internal)includes a package overview page
- Examples that run
- 10%6 run in a plain check · 57 never run
- Exported functions with examples
- 90%
- Documented parameters
- 99%
- Return-value docs
- 93%
- Help pages citing references
- 33%
Downloads
Repository
- PRs merged (all time)
- 90%
- Median days to close, 50 most recently updated closed issues
- 1,306
- Median days to close, 50 most recently updated closed PRs
- 0
Stars over time
Forks over time
Releases over time
Issues over time
PRs over time
Commits over time
Commit identities over time
11 development-tooling and community-health practices detected across 8 families in the upstream repository
Checks run against github.com/gojiplus/tuber on 2026-10-18.
Show all practicesHide 4 practices
This repository shows signs of AI coding tools.
- Codexfirst seen 2025-07-09Pull request it wrote: opened by a project member
- Claude Codefirst seen 2025-08-23Seen in the repository: CLAUDE.mdNamed in .Rbuildignore: .claude, CLAUDE.mdPull request it wrote: opened by a project memberCommits: at least 5 crediting it in the message
- Claude Opus 54 commits · Aug 2026
- Claude Fable 51 commit · Aug 2026
Dependencies
Installing tuber adds 32 packages (21 with compiled code, 21 MB of source tarballs). Heaviest: stringi 11 MB, openssl 1.1 MB, jsonlite 1.0 MB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 2.0.0Latest2026-08-02 · current release · diff ↗ ·
removed 35 exports
delete_captions, delete_channel_sections, delete_comments, delete_playlist_items, delete_playlists, delete_videos, get_captions, get_channel_info_cached, get_channel_sections, get_channel_stats, get_comment_threads, get_comments, get_live_chat_messages, get_live_streams, get_playlist_item_videoids, get_playlist_items, get_playlists, get_premiere_info, get_related_videos, get_stats, get_subscriptions, get_super_chat_events, list_caption_tracks, list_channel_resources, list_guidecats, list_langs, list_langs_cached, list_my_channel, list_regions_cached, list_videocats and 5 moreadded 24 exports
delete_caption, delete_channel_section, delete_comment, delete_playlist, delete_playlist_item, delete_video, download_caption, get_channel_details, get_my_channel, get_playlist_video_ids, get_video_broadcast_timing, get_video_stats, list_comment_threads, list_comments, list_languages, list_live_broadcasts, list_live_chat_messages, list_playlist_items, list_playlists, list_popular_videos, list_subscriptions, list_super_chat_events, list_video_categories, search_short_videos - 1.4.12026-08-02 · diff ↗
- RR 4.6.0 released · 2026-04-24
- 1.4.02026-03-25 · diff ↗ ·
added 33 exports
analyze_channel, analyze_trends, bulk_video_analysis, compare_channels, count_emojis, extract_emojis, get_channel_info_cached, get_channel_sections, get_live_chat_messages, get_live_streams, get_premiere_info, get_super_chat_events, get_video_thumbnails, has_emoji, insert_channel_banner, list_captions, list_channel_members, list_langs_cached, list_regions_cached, list_videocats_cached, post_comment, remove_emojis, replace_emojis, reply_to_comment, search_shorts, set_comment_moderation_status, set_video_thumbnail, tuber_GET_cached, tuber_cache_clear, tuber_cache_config and 3 more - 1.1.0
- RR 4.5.0 released · 2025-04-11
- 1.0.12025-04-01 · diff ↗ ·
added 9 exports
%>%, add_video_to_playlist, change_playlist_title, create_playlist, get_playlist_item_ids, get_playlist_item_videoids, update_video_metadata, yt_get_key, yt_set_key - RR 4.4.0 released · 2024-04-24
- RR 4.3.0 released · 2023-04-21
- RR 4.2.0 released · 2022-04-22
- RR 4.1.0 released · 2021-05-18
- 0.9.9
- RR 4.0.0 released · 2020-04-24
- 0.9.8
- RR 3.6.0 released · 2019-04-26
- 0.9.7
Show 18 earlier eventsHide 18 earlier events
- RR 3.5.0 released · 2018-04-23
- 0.9.5
- 0.9.42018-02-13 · diff ↗
- 0.9.3
- 0.9.22017-11-19 · diff ↗
- 0.9.12017-09-20 · diff ↗
- 0.9.02017-05-28 · diff ↗ ·
added 6 exports
delete_captions, delete_channel_sections, delete_comments, delete_playlist_items, delete_playlists, delete_videos - RR 3.4.0 released · 2017-04-21
- 0.8.02017-04-11 · diff ↗
- 0.7.02016-11-21 · diff ↗
- 0.6.0
- 0.4.0
- 0.3.02016-08-04 · diff ↗ ·
removed 4 exports
get_channel, get_details, list_channel_videos, yt_get_related_videosadded 8 exports
get_channel_stats, get_playlist_items, get_playlists, get_related_videos, get_subscriptions, get_video_details, list_channel_resources, list_videos - 0.2.12016-06-20 · diff ↗ ·
added 4 exports
get_channel, list_channel_activities, list_channel_sections, list_channel_videos - RR 3.3.0 released · 2016-05-03
- 0.22016-01-17 · diff ↗ ·
added 6 exports
list_abuse_report_reasons, list_guidecats, list_langs, list_regions, list_videocats, yt_get_related_videos - 0.12015-11-16
- RR 3.2.0 released · 2015-04-16
Package metadata
- First published
- 2015-11-16
- Total releases
- 22 / 11 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 4.2.0
- Download size
- 188 KB
Cite
Cite this package
Run in R for the authors' entry:
citation("tuber")The package provides a citation file, so citation() returns the authors' own entry.
The repository also keeps a CITATION.cff.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-21, which the citation names so these numbers can be found later. More on citing and the projects behind them.