Skip to content

About

A Laravel wrapper over Youtube API v3, with customized functionalities

Topics

Resources

Code of conduct

Contributing

Stars

62 stars

Watchers

1 watching

Forks

Repository files navigation

YoutubeLaravelApi

Tests Static analysis Latest version License

Modern Laravel wrapper for the YouTube Data API v3 with OAuth, live broadcast control, channel management, and resumable video uploads.

Documentation: https://alchemyguy.github.io/YoutubeLaravelApi/

Requirements

  • PHP 8.3 or higher
  • Laravel 11.x or 12.x

Install

composer require alchemyguy/youtube-laravel-api
php artisan vendor:publish --tag=youtube-config

Add credentials to your .env:

YOUTUBE_APP_NAME="My App"
YOUTUBE_CLIENT_ID="your-client-id.apps.googleusercontent.com"
YOUTUBE_CLIENT_SECRET="your-client-secret"
YOUTUBE_API_KEY="your-server-api-key"
YOUTUBE_REDIRECT_URL="https://yourapp.test/oauth/youtube/callback"

Quick example

use Alchemyguy\YoutubeLaravelApi\Services\AuthenticateService;
use Alchemyguy\YoutubeLaravelApi\Services\LiveStream\LiveStreamService;
use Alchemyguy\YoutubeLaravelApi\DTOs\BroadcastData;

// 1. OAuth
$auth = app(AuthenticateService::class);
$url = $auth->getLoginUrl('creator@example.com', 'channel-id');
// ... redirect, handle callback ...
$result = $auth->authenticateWithCode($code);

// 2. Schedule a live broadcast
$live = app(LiveStreamService::class);
$broadcast = $live->broadcast($result['token'], new BroadcastData(
    title: 'My Stream',
    description: 'Live coding',
    scheduledStartTime: new DateTimeImmutable('+10 minutes'),
));

Documentation

The full guide, API reference, and examples live at alchemyguy.github.io/YoutubeLaravelApi.

Upgrading from 1.x

If you're on the previous version, see UPGRADE.md — there are several breaking changes.

Contributing

Contributions welcome — see CONTRIBUTING.md. Please run composer lint and composer test:unit before opening a PR.

Security

If you discover a security vulnerability, please email the maintainer directly rather than opening an issue.

License

The MIT License (MIT). See LICENSE for details.

Credits

About

A Laravel wrapper over Youtube API v3, with customized functionalities

Topics

Resources

Code of conduct

Contributing

Stars

62 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages