Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Youtube Utils Bundle Laravel Package

aldaflux/youtube-utils-bundle

Symfony bundle for YouTube API v3 integration, offering services to fetch video, channel, and playlist data, extract video IDs from URLs, a form type for YouTube links, and profiler integration for API requests.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build-vs-buy on "YouTube integration." This package is the cheapest possible way to close an open roadmap question: do we write our own YouTube Data API wrapper, or adopt something? Recommendation it supports: build a thin in-house client on google/apiclient, do not adopt this bundle. The evaluation cost is hours, not weeks, and it stops the ticket from drifting across three planning cycles.
  • Scoping a "user-submitted YouTube link" feature. The genuinely reusable idea here is small and concrete: accept any YouTube URL format (watch?v=, youtu.be/, /embed/, /shorts/), normalise it to an 11-character video ID at the form layer, store only the ID. That is a one-day ticket, not an epic — and knowing that changes how you size it against other backlog items.
  • Content-surface roadmap items. Read-only video metadata, channel stats, and playlist lookups map onto things you may already want: embedded video galleries on CMS/marketing pages, admin "video preview" panels, channel-stat tiles. This package's advertised surface is a usable feature checklist for those — getVideo, getChannel, getPlaylist, ID extraction, and a debug panel for API calls.
  • Quota and cost planning. The API-key-plus-quota model (10,000 units/day default on YouTube Data API v3) is a capacity constraint you must decide on before committing to search-driven features. This evaluation forces the decision early: is search server-side and cached, or client-side? Who owns the key?
  • Architecture boundary call. The artifact is Symfony-native (YAML config under config/packages/, Twig, a Web Profiler DataCollector). For a Laravel product the answer is almost always no — make that call once so "just wrap it in a container" doesn't recur per ticket.
  • Vendor-acceptance precedent. 0 stars, 0 dependents, a last-release date of 2026-08-06 (in the future), and a single-maintainer single-repo footprint. Ratifying a lightweight dependency checklist — stars/dependents, plausible release cadence, README-matches-code, licence, framework fit, named owner — is itself a PM deliverable that pays for this evaluation many times over.

When to Consider This Package

Consider it as a reference implementation, not a dependency.

  • As a pattern to copy — yes, briefly. The URL-to-ID extraction and the "form field accepts a URL, persists an ID" transformer are the right shape, and both are trivial to reimplement in Laravel with a regex and a FormRequest/cast. Read it, then write ~50 lines of your own.
  • If you already run Symfony 6/7 with Twig and the Profiler — maybe. The auto-registered DataCollector (all YouTube API calls and errors visible in the Web Debug Toolbar) is a genuinely nice dev-experience touch worth stealing conceptually. That is not a Laravel decision.
  • If the product is GPL-compatible (open source under a compatible licence, or internal-only with legal sign-off). The README declares GPL-3.0+, which is copyleft — that is a hard blocker for a proprietary SaaS and not a conversation worth having for a library that saves two days.

Look elsewhere — and for a typical Laravel product, all of these apply:

  • Laravel app. No service provider, no facade, no publishable config, no package discovery, no Blade, no Eloquent. Adoption implies porting Symfony YAML config and Twig templates — a rewrite with extra steps.
  • You want a maintained dependency. Zero stars, zero dependents, no issue history to read for known breakage, no named maintainer, no CI signal. A future-dated release is either a placeholder or a synthetic repo; neither is a shipping cadence you can plan a roadmap against.
  • Proprietary or commercial code. GPL-3.0+ copyleft.
  • You need more than read-only public data. Uploads, live streaming, comment moderation, OAuth-per-user flows, monetization/Partner API, webhook ingestion — almost certainly out of scope here, and exactly where the real quota, OAuth and compliance work lives. The bundle's API-key-only model also signals single-tenant, server-side, read-only usage.
  • You need quota resilience. No evidence of retry/backoff, cache TTLs, batching, or per-feature budget enforcement. Those are the parts that actually matter in production, and you will be writing them yourself either way.

Better starting points: google/apiclient (official Google client, permissively licensed, maintained) wrapped in your own YoutubeService contract; or spatie/laravel-youtube if you want batteries included and can accept its abstraction. Recommended disposition: reject as a dependency; adopt its feature list as the acceptance criteria for the in-house client.

How to Pitch It (Stakeholders)

To executives (one paragraph):

We evaluated an open-source package that advertises YouTube integration, to decide whether to buy or build that capability. Recommendation: do not adopt it. It is a Symfony component with no Laravel support; it is GPL-3.0 licensed, which creates copyleft exposure for our proprietary product; it has zero users, zero downstream dependents, and a last-release date in the future — a maturity profile we would not accept even if everything else fit. The capability itself is still worth having: a thin read-only wrapper over Google's official client, covering video/channel/playlist lookup, URL-to-ID normalisation, and response caching, is roughly 3–5 engineer-days for our first use case, and we can scope it precisely because the rejected package gave us a clean feature list. Ask: approve one engineer for a week next cycle to ship a YoutubeService behind an internal interface, scoped to [your first use case, e.g. embedded video galleries on CMS pages], plus half a day for API-key and quota governance.

To engineering (short brief):

aldaflux/youtube-utils-bundle is a Symfony bundle (YAML config in config/packages/, Twig, profiler DataCollector), 0 stars, 0 dependents, GPL-3.0+, with a last release dated 2026-08-06 — treat the advertised API (getVideo, getChannel, getPlaylist, getYoutubeIdFromUrl, YoutubeUrlCodeType) as specification, not code. Proposal: implement the equivalent in-house on google/apiclient behind a YoutubeService interface, bound in a service provider, with URL-to-ID extraction as a small value object, a cache decorator on reads, and Blade partials for embeds. Three things to get right up front: (1) quota — 10,000 units/day default, search.list costs ~100 units per call, so any search feature needs aggressive caching and a per-feature budget; (2) key handling — server-side only, API- and referrer-restricted, in env with config caching verified, never exposed to the browser; (3) observability — log and count API calls and quota consumption per feature, since the bundle's nicest idea (a profiler panel for API calls) is one we should reproduce as structured logging in dev and metrics in prod. Estimate: 3–5 dev days for read-only lookups plus ID extraction, 1 extra day for quota/caching/observability. If we want zero custom code, spatie/laravel-youtube is the fallback, at the cost of control over retry and cache semantics.

Two lines to keep for the review:

  • "Declining it costs us a week of build; adopting it costs us a licence review, a port, and a permanent maintenance owner for a library nobody else uses."
  • "Zero stars and zero dependents isn't a popularity problem — it means no one has ever run this in production, so we'd be the QA team."
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
jhaskell13/laraflow
sebastienheyd/boilerplate-media-manager
ccast/tagixo-primix
pretendtrue/laravel-builder
sawmainek/laravel-scout-tntsearch-driver
tomshaw/laravel-calendar-table
dibakar/laravel-ownership
steadrun/laravel-monitor
labyrinthe/connect-laravel
elmogy/layan
drewdan/sentinel-client
dskripchenko/laravel-llm
fatryst/nuonuo
stevenay/myanfont
gmostafa/php-graphql-client
xeviant/paystack
snowsoft/faker
meditationsteps/blogetc
animalyoung/laravel-influxdb
onix-solutions/sms-telera