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
| Category | Search and research |
|---|---|
| Provider host | hubvibe-io.com |
| Networks | eip155:8453, solana:5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp |
| Payment schemes | exact |
| Self-reported calls, 30 days | 1 from 1 payers (the provider's figure, not ours) |
Our checks, last 30 days
| Day | Result | HTTP | Asked | Time |
|---|---|---|---|---|
| 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"
],