AD
Boost Your Brand on BlueSky—Exclusive banner space to amplify your reach within the BlueSky community.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /JavaScript
  3. /tsky
tsky-dev

tsky

A JavaScript SDK for Bluesky and AT Protocol by tsky-dev

Bluesky API client for nimble apps and tools ☁️

GitHub Stats

41stars
7forks
7contributors
7open issues

Dates

Created:November 27, 2024
Last updated:January 31, 2026

README

The following content is from tsky's GitHub repository. All rights reserved by the original author.

tsky

A lightweight, fast, universal and typed Bluesky API wrapper for Apps & Bots.

⚠️ tsky is still in development and is not ready for production use

tsky is still in active development and is not ready for production use. If you want to contribute to the project, please read the CONTRIBUTING.md file or join our Discord Server.

tsky is a lightweight, fast, universal and typed Bluesky API wrapper for Apps & Bots. It's designed to be easy to use, lightweight and straightforward to use. It's built with TypeScript and has full type support.

It was primarily built for the Nimbus Client but can be used in any other project that requires Bluesky API integration.

Installation

# NPM
npm install tsky

# Yarn
yarn add tsky

# PNPM
pnpm add tsky

# Bun
bun add tsky

Usage

Using a Public Agent

import { createAgent } from '@tsky/client';

const agent = await createAgent({
  options: {
    service: 'https://public.api.bsky.app',
  },
});

// Getting a user from their handle
// First, we need to get the user's DID
const did = await agent.resolveDIDFromHandle(handle);
// Then, we can get the user's profile
const profile = await agent.actor(did);

Using an Authenticated Agent

import { createAgent } from '@tsky/client';

const agent = await createAgent({
  credentials: {
    identifier: "handle",
      password: "password"
  }
});

// Getting the profile of the authenticated user
const user_profile = await agent.user.profile();

Links

  • 📚 tsky Documentation
  • 🦋 tsky on Bluesky
  • 📣 tsky Discord Server
  • 🦋 Nimbus on Bluesky

Contributing

If you want to contribute to this project, please read the CONTRIBUTING.md file.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Topics

apiatprotocolblueskytypescript

Related SDKs

notjulietpdsls

atproto explorer - mirror to https://tangled.org/pds.ls/pdsls

18•JavaScript
FxEmbedFxEmbed

Fix X/Twitter and Bluesky embeds! Use multiple images, videos, polls, translations and more on Discord, Telegram and others

3953•JavaScript
bluesky-socialatproto

AT Protocol Reference Implementation (TypeScript)

9105•JavaScript
mary-extatproto-scraping

Git scraping of AT Protocol/Bluesky instances

168•JavaScript
mary-extbluesky-labeler-scraping

Git scraping of Bluesky labelers/label providers

68•JavaScript
bluesky-socialozone

web interface for labeling content in atproto / Bluesky

503•JavaScript

Resources

GitHub RepositoryProject Website

License

MIT

Author

tsky-dev
tsky-dev

Activity

Last commit: January 31, 2026
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2026 BskyInfo. All rights reserved.