# HubVibe Mastodon Social Reader

> HubVibe Mastodon Social Reader is a paid API for AI agents from hubvibe-io.com, paid per call via x402, $0.05/call, status unknown (last checked 2026-10-02).

Fetches live Mastodon data (hashtag timelines, account info with statuses, account/hashtag search, or trending hashtags) from any public instance without requiring a token

## Facts

- Endpoint: POST https://hubvibe-io.com/work/social/mastodon?utm_source=zero.xyz
- Price: $0.05/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/hubvibe-mastodon-social-reader-88a458a2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_mTVmp3JPOb3Al7cVjidZI

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 hubvibe-mastodon-social-reader-88a458a2 -d '<json body>'
```

Example prompt: Pull the latest 20 posts tagged with 'AIart' from mastodon.social and give me their text, engagement counts, and any media attachments.

## When to prefer this

Choose this endpoint when you need keyless, no-auth read access to public Mastodon data — hashtag timelines, account lookups, or trending tags — without setting up OAuth credentials. Ideal for agents doing social listening, content research, or fediverse monitoring where the data is public. Not suitable for private timelines, posting, or authenticated search across the full public firehose.

## Known failure modes

- Invalid or unreachable Mastodon instance returns a connection or 404 error
- Mode requires a search query but none is provided, returning a validation error
- Requested account handle not found on the given instance
- Rate limiting from the target Mastodon instance causing partial or empty results
- Using 'search' mode which requires a token — not supported by this keyless endpoint

## How this service works

Mastodon data, live and keyless (any public instance): a hashtag timeline, an account with its latest posts, account or hashtag search, or trending hashtags, each post with text, counts, media and tags. Use it for social listening and trend tracking in the fediverse. Input: mode (hashtag, account, search, trends) with tag, acct or query; optional instance, limit.

## Output

Returns a list of statuses (or accounts/hashtags for search/trends), each with plain text content, rendered HTML, favorite and boost counts, media attachments array, associated hashtags, language, and a reblog flag. For trends mode, returns a ranked list of trending hashtag objects with usage statistics.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "tag": {
   "type": "string",
   "maxLength": 100,
   "minLength": 1
  },
  "acct": {
   "type": "string",
   "maxLength": 320,
   "minLength": 1
  },
  "kind": {
   "enum": [
    "accounts",
    "hashtags"
   ],
   "type": "string"
  },
  "mode": {
   "enum": [
    "hashtag",
    "account",
    "search",
    "trends"
   ],
   "type": "string"
  },
  "limit": {
   "type": "integer",
   "maximum": 40,
   "minimum": 1
  },
  "query": {
   "type": "string",
   "maxLength": 200,
   "minLength": 1
  },
  "instance": {
   "type": "string",
   "maxLength": 253
  },
  "language": {
   "type": "string",
   "pattern": "^[A-Za-z]{2,3}(-[A-Za-z0-9]{2,8})*$",
   "maxLength": 35
  },
  "statuses": {
   "type": "integer",
   "maximum": 40,
   "minimum": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "result": {
   "tag": "opensource",
   "acct": "Gargron",
   "kind": "accounts",
   "mode": "hashtag",
   "as_of": "2026-09-27T01:00:00.000Z",
   "query": "opensource",
   "source": "mastodon-public-api",
   "account": {
    "id": "1",
    "bio": "Founder of Mastodon",
    "bot": false,
    "url": "https://mastodon.social/@Gargron",
    "acct": "Gargron",
    "statuses": 75000,
    "username": "Gargron",
    "followers": 500000,
    "following": 400,
    "avatar_url": "https://files.mastodon.social/accounts/avatars/x.png",
    "created_at": "2016-03-16T00:00:00.000Z",
    "display_name": "Eugen Rochko"
   },
   "accounts": [
    {
     "id": "1",
     "bio": "Founder of Mastodon",
     "bot": false,
     "url": "https://mastodon.social/@Gargron",
     "acct": "Gargron",
     "statuses": 75000,
     "username": "Gargron",
     "followers": 500000,
     "following": 400,
     "avatar_url": "https://files.mastodon.social/accounts/avatars/x.png",
     "created_at": "2016-03-16T00:00:00.000Z",
     "display_name": "Eugen Rochko"
    }
   ],
   "hashtags": [
    {
     "url": "https://mastodon.social/tags/opensource",
     "days": 7,
     "name": "opensource",
     "uses_7d": 120,
     "accounts_7d": 90
    }
   ],
   "instance": "mastodon.social",
   "statuses": [
    {
     "id": "115000000000000001",
     "url": "https://mastodon.social/@Gargron/115000000000000001",
     "tags": [
      "opensource"
     ],
     "text": "Open source rocks",
     "media": [],
     "reblogs": 2,
     "replies": 1,
     "language": "en",
     "is_reblog": false,
     "sensitive": false,
     "created_at": "2026-09-27T01:00:00.000Z",
     "favourites": 3,
     "visibility": "public",
     "author_acct": "Gargron",
     "content_html": "<p>Open source rocks</p>",
     "spoiler_text": "",
     "reblog_of_url": null,
     "author_display_name": "Eugen Rochko"
    }
   ],
   "checked_at": "2026-09-26T18:00:00Z",
   "status_count": 3
  },
  "status": "ok",
  "worker": "social.mastodon",
  "price_usd": 0.05,
  "provenance": {
   "steps": [
    {
     "ms": 312,
     "ok": true,
     "step": "quote",
     "reason": "provider_timeout",
     "provider": "coinbase-advanced-trade-public"
    }
   ],
   "attempts": 1,
   "elapsed_ms": 340,
   "providers_used": [
    "coinbase-advanced-trade-public"
   ]
  },
  "receipt_id": "rcpt_9f1c2b3a4d5e6f70",
  "attribution": [
   {
    "url": "https://translate.google.com",
    "text": "Translated by Google"
   }
  ]
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/hubvibe-mastodon-social-reader-88a458a2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from hubvibe-io.com](https://www.zero.xyz/host/hubvibe-io.com/llms.txt)
