80trust / 100

Social Bluesky

by HubVibe in News & content

x402 APIPassing, checked 2 h ago

Bluesky data, live and keyless: a profile with its latest posts and engagement (likes, reposts, replies, quotes), an account search, or a post thread with its replies, from the public AppView. Use it for social listening and influencer checks on Bluesky. Input: mode (profile, search_actors, thread) with actor, query or uri; optional posts, limit, depth.

POST https://hubvibe-io.com/work/social/bluesky

Last 30 days

All checks passedSome failedAll failedNot checked
Uptime
100%
Response time
134 ms typical, 356 ms slowest 5%
Last check
2 h ago
Next check
any minute now

How to call it

# See the payment challenge (nothing is charged)
curl -i -X POST "https://hubvibe-io.com/work/social/bluesky" \
  -H "content-type: application/json" \
  -d '{"actor":"bsky.app","mode":"profile","posts":3}'
import { wrapFetchWithPayment } from "@x402/fetch";
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const client = new x402Client().register(
  "eip155:8453",
  new ExactEvmScheme(privateKeyToAccount(process.env.AGENT_KEY)),
);
const pay = wrapFetchWithPayment(fetch, client);

// Not sure it's safe to pay? Preflight it first for $0.005:
// GET https://toolvet.app/api/v1/check?url=https%3A%2F%2Fhubvibe-io.com%2Fwork%2Fsocial%2Fbluesky
const res = await pay("https://hubvibe-io.com/work/social/bluesky", {
  method: "POST",
  headers: { "content-type": "application/json" },
  body: JSON.stringify({"actor":"bsky.app","mode":"profile","posts":3}),
});
console.log(await res.json());

Example input

{
  "actor": "bsky.app",
  "mode": "profile",
  "posts": 3
}

Example output

{
  "price_usd": 0.05,
  "provenance": {
    "attempts": 1,
    "elapsed_ms": 660,
    "providers_used": [
      "bluesky-public-appview"
    ],
    "steps": [
      {
        "ms": 640,
        "ok": true,
        "provider": "bluesky-public-appview",
        "step": "bluesky"
      }
    ]
  },
  "receipt_id": "rcpt_9f1c2b3a4d5e6f70",
  "receipt_url": "/work/receipts/rcpt_9f1c2b3a4d5e6f70",
  "result": {
    "actor": "bsky.app",
    "actor_count": 0,
    "actors": [
      {
        "avatar_url": "https://cdn.bsky.app/img/avatar/plain/did:plc:coin/y@jpeg",
        "description": "Coinbase on Bluesky",
        "did": "did:plc:coin",
        "display_name": "Coinbase",
        "handle": "coinbase.com"
      }
    ],
    "as_of": "2026-09-26T20:00:00.000Z",
    "checked_at": "2026-09-26T18:00:00Z",
    "mode": "profile",
    "post_count": 3,
    "posts": [
      {
        "author_did": "did:plc:z72i7hdynmk6r22z27h6tvur",
        "author_handle": "bsky.app",
        "cid": "bafyreicrjbyelww7gvuymagi7g2rirokyrvedwzeh5vflmsvnwhnwjvnyi",
        "created_at": "2026-09-26T20:00:00.000Z",
        "embed_type": "app.bsky.embed.images#view",
        "indexed_at": "2026-09-26T20:00:00.000Z",
        "is_repost": false,
        "langs": [
          "en"
        ],
        "likes": 90,
        "quotes": 2,
        "replies": 5,
        "reply_to": null,
        "reposts": 7,
        "text": "hello world",
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3mw2cdr44fc2a",
        "url": "https://bsky.app/profile/bsky.app/post/3mw2cdr44fc2a"
      }
    ],
    "profile": {
      "avatar_url": "https://cdn.bsky.app/img/avatar/plain/did:plc:z72i7hdynmk6r22z27h6tvur/x@jpeg",
      "created_at": "2023-04-12T04:53:57.057Z",
      "description": "official bluesky account",
      "did": "did:plc:z72i7hdynmk6r22z27h6tvur",
      "display_name": "Bluesky",
      "followers": 4200000,
      "follows": 3,
      "handle": "bsky.app",
      "posts": 1234
    },
    "query": "coinbase",
    "source": "bluesky-public-appview",
    "thread": {
      "post": {
        "author_did": "did:plc:z72i7hdynmk6r22z27h6tvur",
        "author_handle": "bsky.app",
        "cid": "bafyreicrjbyelww7gvuymagi7g2rirokyrvedwzeh5vflmsvnwhnwjvnyi",
        "created_at": "2026-09-26T20:00:00.000Z",
        "embed_type": "app.bsky.embed.images#view",
        "indexed_at": "2026-09-26T20:00:00.000Z",
        "is_repost": false,
        "langs": [
          "en"
        ],
        "likes": 90,
        "quotes": 2,
        "replies": 5,
        "reply_to": null,
        "reposts": 7,
        "text": "hello world",
        "uri": "at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3mw2cdr44fc2a",
        "url": "https://bsky.app/profile/bsky.app/post/3mw2cdr44fc2a"
      },
      "replies": [
        {
          "author_did": "did:plc:z72i7hdynmk6r22z27h6tvur",
          "author_handle": "bsky.app",
          "cid": "bafyreicrjbyelww7gvuymagi7g2rirokyrvedwzeh5vflmsvnwhnwjvny

Security scan

  • No findings. We scan names, descriptions and tool definitions for hidden instructions and other prompt-injection patterns.

Recent checks

WhenResultHTTPTimePrice
2 h agoPassed402120 ms$0.05
6 h agoPassed402356 ms$0.05
9 h agoPassed402134 ms$0.05
13 h agoPassed402120 ms$0.05
16 h agoPassed402358 ms$0.05
20 h agoPassed402352 ms$0.05
25 h agoPassed402122 ms$0.05