Skip to main content

Documentation Index

Fetch the complete documentation index at: https://kawax.biz/llms.txt

Use this file to discover all available pages before exploring further.

Overview

revolution/laravel-bluesky is a Laravel package for AT Protocol (Bluesky). It exposes Revolution\Bluesky\Facades\Bluesky and lets you create posts, fetch feeds, search posts, and attach media through Laravel-friendly APIs.

Requirements

  • PHP >= 8.3
  • Laravel >= 12.x

Installation

composer require revolution/laravel-bluesky

Environment variables

For App Password authentication, configure your .env values.
BLUESKY_IDENTIFIER=your-handle.bsky.social
BLUESKY_APP_PASSWORD=xxxx-xxxx-xxxx-xxxx

Quick start

Create your first post

use Revolution\Bluesky\Facades\Bluesky;

$response = Bluesky::login(
    identifier: config('bluesky.identifier'),
    password: config('bluesky.password'),
)->post('Hello Bluesky');
use Revolution\Bluesky\Facades\Bluesky;
use Revolution\Bluesky\Record\Post;
use Revolution\Bluesky\RichText\TextBuilder;

$post = Post::build(function (TextBuilder $builder) {
    $builder->text('Hello Bluesky')
        ->newLine(count: 2)
        ->link('https://bsky.app/')
        ->newLine()
        ->tag('#Bluesky');
});

$response = Bluesky::login(
    identifier: config('bluesky.identifier'),
    password: config('bluesky.password'),
)->post($post);
Due to a temporary API restriction, searchPosts() currently does not work for unauthenticated access. Use an authenticated session for searches.

Documentation map

Basic client

Learn App Password and OAuth auth, posting, media, replies, quotes, feeds, and search.

Socialite

Bluesky-specific Socialite setup with AT Protocol OAuth (DPoP).

Notification channel

Send Bluesky posts and direct messages using Laravel’s notification system.

Feed Generator

Build and publish custom algorithmic feeds on Bluesky.

References

Last modified on April 26, 2026