
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@graphtracks/client
Advanced tools
TypeScript SDK for Bluesky Social Media Analytics - analytics client library that enables developers to access detailed Bluesky social network statistics, user engagement metrics, and growth analytics through the GraphTracks API.
This TypeScript/JavaScript client utilizes axios.
Node module can be used in the following environments:
Environment
Language level
Module system
It can be used in both TypeScript and JavaScript. In TypeScript, the definition will be automatically resolved via package.json. (Reference)
To get started, create account on <www.graphtracks.com>.
Create new API key https://www.graphtracks.com/dashboard/developer/apikeys
npm install @graphtracks/client --save
Create a file get-stats.ts with the following content:
import { BlueSkyAnalyticsApi } from "@graphtracks/client";
import { Configuration } from "@graphtracks/client";
import { Metric, Network, Timeframe } from "@graphtracks/client";
const did = process.argv[2];
// Initialize API client
const api = new BlueSkyAnalyticsApi(new Configuration({
apiKey: process.env.GRAPHTRACKS_API_KEY,
}));
// Get followers stats for a given account
api.getGlobalStatsForAccount({
network: Network.BlueSky, // Only Bluesky is supported
accountId: did, // atproto account did
metric: Metric.Followers, // Metric to query
from: '2025-05-01', // Start date in UTC
timeframe: Timeframe._7d, // relative amount of time since `from` to get metric
// to: '2025-05-07', // End date in UTC. Cannot be passed together with timeframe
bucket: 3600 * 24, // Interval between datapoints. It is recommended to keep datapoints count low both for UX and performance
}).then((res) => {
console.log(res.data);
});
Run the script:
npx ts-node get-stats.ts did:plc:z72i7hdynmk6r22z27h6tvur #bsky.app
Example output:
[
{ time: '2025-05-01 00:00:00', value: 30898 },
{ time: '2025-05-02 00:00:00', value: 27199 },
{ time: '2025-05-03 00:00:00', value: 26890 },
{ time: '2025-05-04 00:00:00', value: 27511 },
{ time: '2025-05-05 00:00:00', value: 28753 },
{ time: '2025-05-06 00:00:00', value: 28346 },
{ time: '2025-05-07 00:00:00', value: 27372 }
]
Pleas check our [./example] folder for more detailed examples.
All URIs are relative to https://api.graphtracks.com
| Class | Method | HTTP request | Description |
|---|---|---|---|
| BlueSkyAnalyticsApi | createNetworkAccount | POST /v1/api/networks/account | Create a network account |
| BlueSkyAnalyticsApi | deleteNetworkAccount | DELETE /v1/api/networks/accounts/{account_id} | Delete a network account |
| BlueSkyAnalyticsApi | getGlobalStatsForAccount | GET /v1/api/networks/{network}/accounts/{account_id}/stats/{metric} | Growth rate statistics for account |
| BlueSkyAnalyticsApi | getNetworkAccount | GET /v1/api/networks/accounts/{account_id} | Get a network account |
| BlueSkyAnalyticsApi | getNetworkAccounts | GET /v1/api/networks/accounts | Get network accounts for current user |
| BlueSkyAnalyticsApi | getPostInteractions | GET /v1/api/networks/{network}/accounts/{account_id}/posts/{post_id}/interactions/{metric} | Get post interactions |
| BlueSkyAnalyticsApi | getPostStats | GET /v1/api/networks/{network}/accounts/{account_id}/posts/{post_id}/stats | Get post statistics |
| BlueSkyAnalyticsApi | getTopPostsForAccount | GET /v1/api/networks/{network}/accounts/{account_id}/top-posts | Get top posts for an account |
Authentication schemes defined for the API:
[!WARNING] This project,
analytics-sdk-ts, is an independent, open-source software development kit designed to interact with Graphtracks API. It is not affiliated with, endorsed by, or sponsored by Bluesky PBC or any of its subsidiaries."Bluesky" and related marks are trademarks of their respective owners. Use of these names is solely for descriptive purposes to indicate compatibility and does not imply any official endorsement.
All trademarks and registered trademarks are the property of their respective owners.
FAQs
GraphTracks API Bluesky Analytics client for TypeScript
We found that @graphtracks/client demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.