# Search Bluesky

> Search Bluesky is a paid API for AI agents from ZeroClick x402 Service Registry at bluesky.withzero.ai, paid per call via MPP, $0.001/call, status unknown (last checked 2026-10-12).

Search Bluesky posts and discussions via the AT Protocol public API, returning ranked results with engagement metrics.

## Facts

- Endpoint: POST https://bluesky.withzero.ai/run?utm_source=zero.xyz
- Price: $0.001/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Provider: ZeroClick x402 Service Registry
- Website: https://withzero.ai
- Tags: search, bluesky, social, atproto, decentralized
- Canonical page: https://www.zero.xyz/c/zeroclick-x402-service-registry-search-bluesky-b3a3d300
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_q2211PC5ztx4uYtHKacuB

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability zeroclick-x402-service-registry-search-bluesky-b3a3d300 -d '<json body>'
```

Example prompt: Search Bluesky for posts about climate change from the last 14 days and show me the top 10 results with the most engagement.

## When to prefer this

Choose this endpoint when you need to search specifically within Bluesky/ATProto social content rather than the broader web or Twitter/X. It is ideal for finding recent community discussions, trending opinions, and high-engagement posts on Bluesky without requiring authentication. Prefer this over general web search when the user explicitly wants Bluesky content or decentralized social media perspectives.

## Known failure modes

- Empty results if query matches no indexed posts in the specified date range
- Rate limiting or upstream AT Protocol API errors returning HTTP 429 or 503
- Query string too long (over 400 characters) causes validation error
- Days parameter out of range (0 or >90) causes validation error
- Limit parameter out of range causes validation error
- Transient network errors from the underlying Bluesky search infrastructure

## How this service works

Search Bluesky posts and discussions via the AT Protocol public API. No authentication required. Input: search query with optional days/limit. Output: posts with engagement metrics and scores.

## Output

Returns a list of up to 50 ranked Bluesky posts matching the query, each with the author handle, post URL, snippet (up to 200 characters), publication timestamp, engagement counts (likes, reposts, replies), and a composite relevance/recency/engagement score from 0–100, plus total result count and source identifier.

## Example request

```json
{
 "days": 14,
 "limit": 10,
 "query": "artificial intelligence"
}
```

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "query"
 ],
 "properties": {
  "days": {
   "type": "integer",
   "default": 30,
   "maximum": 90,
   "minimum": 1,
   "description": "Only include posts from the last N days (1-90, default 30)"
  },
  "limit": {
   "type": "integer",
   "default": 20,
   "maximum": 50,
   "minimum": 1,
   "description": "Maximum number of results to return (1-50, default 20)"
  },
  "query": {
   "type": "string",
   "maxLength": 400,
   "minLength": 1,
   "description": "Search query string"
  }
 },
 "additionalProperties": false
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "query",
  "source",
  "resultCount",
  "results"
 ],
 "properties": {
  "query": {
   "type": "string",
   "description": "Original search query"
  },
  "source": {
   "type": "string",
   "description": "Data source identifier"
  },
  "results": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "title",
     "url",
     "author",
     "date",
     "score",
     "engagement",
     "snippet"
    ],
    "properties": {
     "url": {
      "type": "string",
      "description": "Direct link to the Bluesky post"
     },
     "date": {
      "type": "string",
      "description": "ISO 8601 timestamp of when the post was indexed"
     },
     "score": {
      "type": "number",
      "description": "Composite relevance/recency/engagement score (0-100)"
     },
     "title": {
      "type": "string",
      "description": "First 80 characters of the post text"
     },
     "author": {
      "type": "string",
      "description": "Post author handle prefixed with @"
     },
     "snippet": {
      "type": "string",
      "description": "First 200 characters of the post text"
     },
     "engagement": {
      "type": "object",
      "properties": {
       "likes": {
        "type": "number",
        "description": "Number of likes"
       },
       "shares": {
        "type": "number",
        "description": "Number of reposts"
       },
       "comments": {
        "type": "number",
        "description": "Number of replies"
       }
      },
      "description": "Engagement metrics",
      "additionalProperties": false
     }
    },
    "additionalProperties": false
   },
   "description": "Search results sorted by score descending"
  },
  "resultCount": {
   "type": "number",
   "description": "Number of results returned"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/zeroclick-x402-service-registry-search-bluesky-b3a3d300/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from bluesky.withzero.ai](https://www.zero.xyz/host/bluesky.withzero.ai/llms.txt)
