ToolAssay

Bluesky, live and keyless from the public AppView

Bluesky, live and keyless from the public AppView: a profile with its latest posts (likes, reposts, replies, quotes, repost and reply flags, embed type), an account search, or a post thread with its replies. Input: mode (profile, search_actors, thread) with actor, query or uri; optional posts, limit, depth. Post search is not offered: Bluesky refuses it to unauthenticated callers.

Answeringour last check, 2026-09-27
1 of 1checks answered this week
1037 msmedian answer time
$0.05listed price per call
$0.05price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

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

CategorySearch and research
Provider hosthubvibe-io.com
Networkseip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-09-27 valid payment request 402$0.05 1037 ms

Example input (from the provider)

{
  "body": {
    "actor": "bsky.app",
    "mode": "profile",
    "posts": 3
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "actor": {
              "description": "Handle (bsky.app) or DID (did:plc:...); profile mode.",
              "maxLength": 253,
              "type": "string"
            },
            "depth": {
              "description": "Reply depth to flatten in thread mode, default 2.",
              "maximum": 6,
              "minimum": 1,
              "type": "integer"
            },
            "limit": {
              "description": "Accounts to return in search_actors mode, default 10.",
              "maximum": 25,
              "minimum": 1,
              "type": "integer"
            },
            "mode": {
              "description": "profile: an account and its latest posts; search_actors: accounts matching a query; thread: a post and its replies.",
              "enum": [
                "profile",
                "search_actors",
                "thread"
              ],
              "type": "string"
            },
            "posts": {
              "description": "Latest posts to return in profile mode, default 10.",
              "maximum": 50,
              "minimum": 1,
              "type": "integer"
            },
            "query": {
              "description": "Words to match accounts on; search_actors mode.",
              "maxLength": 200,
              "minLength": 1,
              "type": "string"
            },
            "uri": {
              "description": "Post AT-URI, at://did:plc:.../app.bsky.feed.post/<rkey>; thread mode.",
              "type": "string"
            }
          },
          "required": [
            "mode"
          ],
          "type": "object"
        },
        "bodyType": {
          "enum": [
            "json",
            "form-data",
            "text"
          ],
          "type": "string"
        },
        "method": {
          "enum": [
            "POST",
            "PUT",
            "PATCH"
          ],
          "type": "string"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method",
        "bodyType",
        "body"
      ],
      "type": "object"
    },
    "output": {
      "properties": {
        "example": {
          "$schema": "https://json-schema.org/draft/2020-12/schema",
          "description": "The 200 body of every paid /work call. `result` is the worker's own output (its schema is per route); everything else is the same on every /work route. A receipt for the job is at `receipt_url`.",
          "properties": {
            "billing_warning": {
              "description": "Present only when the charge was recorded with a caveat.",
              "examples": [
                "settlement pending"
              ],
              "type": "string"
            },
            "price_usd": {
              "description": "What this call cost, in USD.",
              "examples": [
                0.02
              ],
              "type": "number"
            },
            "provenance": {
              "description": "How the result was produced: which providers ran and how long each took.",
              "properties": {
                "attempts": {
                  "description": "Provider attempts made, including retries and failovers.",
                  "examples": [
                    1
                  ],
                  "type": "integer"
                },
                "elapsed_ms": {
                  "description": "Wall-clock milliseconds for the whole job.",
                  "examples": [
                    340
                  ],
                  "type": "integer"
                },
                "providers_used": {
                  "description": "Providers that served the job.",
                  "examples": [
                    [
                      "coinbase-advanced-trade-public"
                    ]
                  ],
                  "items": {
                    "description": "Provider name.",
                    "examples": [
                      "coinbase-advanced-trade-public"
                    ],
                    "type": "string"
                  },
                  "type": "array"
                },
                "steps": {
                  "description": "Every step the job ran, in order.",
                  "items": {
                    "description": "One step of the job.",
                    "properties": {
                      "ms": {
                        "description": "Milliseconds the step took.",
                        "examples": [
                          312
                        ],
                        "type": "integer"
                      },
                      "ok": {
                        "description": "Whether the step succeeded.",
                        "examples": [
                          true
                        ],
                        "type": "boolean"
                      },
                      "provider": {
                        "description": "Provider that served the step.",
                        "examples": [
                          "coinbase-advanced-trade-public"
                        ],
                        "type": "string"
                      },
                      "reason": {
                        "description": "Failure reason, on a failed step.",
                        "examples": [
                          "provider_timeout"
                        ],
                        "type": "string"
                      },
                      "step": {
                        "description": "Step name inside the worker.",
                        "examples": [
                          "quote"
                        ],
        

This page as JSON