# Bluesky posts with mentions: API endpoint

Source: https://subalytics.com/docs/entity-bluesky-posts/

> GET /api/v1/entity-bluesky-posts/: Bluesky posts that mention at least one monitored company, with full text and entities. Parameters and example.

`GET /api/v1/entity-bluesky-posts/` (Cursor pagination · newest first). Base URL `https://subalytics.com/api/v1/`, API key in the `X-API-key` header; authentication, pagination, dates and errors: https://subalytics.com/docs/

Bluesky posts that mention at least one monitored company, each with its `entities[]`. Only top-level posts from tracked Bluesky accounts are included, not replies. Bluesky posts are short and public, so the full `text` is returned.

## Query parameters

| Parameter | Type | Description |
|---|---|---|
| `post_uri` | string | One post |
| `sub_id` | string | Posts by one creator |
| `did` | string | Posts by one Bluesky account (DID) |
| `symbol` | string | Posts mentioning one company |
| `min_confidence` | number | 0.5–1.0, default 0.7 |
| `published_from` | date | Published on or after |
| `published_to` | date | Published on or before |
| `updated_from` | date | Mentions last changed on or after (use for sync) |
| `updated_to` | date | Mentions last changed on or before |
| `limit` | int | Results per page (default 25, max 100) |
| `cursor` | string | next_cursor from the previous page |

## Response fields

| Field | Type | Description |
|---|---|---|
| `post_uri` | string | Public post ID (AT Protocol URI); content_id in entity-mentions |
| `sub_id` | string | The creator |
| `did` | string | The Bluesky account |
| `url` | string | Link to the post on bsky.app |
| `text` | string | Full post text |
| `published_utc` | date | When the post was created |
| `entities` | array | Company mentions: mention_id, symbol, company_name, match_type, matched_text, confidence, snippet, field |
| `created_at` | date | When the post first appeared in this product |
| `updated_at` | date | When its mentions last changed |

## Example

```
GET /api/v1/entity-bluesky-posts/?symbol=META&min_confidence=0.9&limit=1
```

```
{
  "success": true,
  "results": [
    {
      "post_uri": "at://did:plc:exampleaccount000000000/app.bsky.feed.post/3lqz7x2kfbc2s",
      "sub_id": "e81a3f90c2",
      "did": "did:plc:exampleaccount000000000",
      "url": "https://bsky.app/profile/did:plc:exampleaccount000000000/post/3lqz7x2kfbc2s",
      "text": "$META up 4% premarket after ad revenue beat. Instagram Reels doing the heavy lifting again.",
      "published_utc": "2026-09-27T14:02:11Z",
      "entities": [
        {
          "mention_id": "9f2c41d07ab35e18",
          "symbol": "META",
          "company_name": "Meta Platforms, Inc.",
          "match_type": "cashtag",
          "matched_text": "$META",
          "confidence": 0.95,
          "snippet": "$META up 4% premarket after ad revenue beat.",
          "field": "text"
        }
      ],
      "created_at": "2026-09-27T14:03:40Z",
      "updated_at": "2026-09-27T14:03:40Z"
    }
  ],
  "returned_results": 1,
  "limit": 1,
  "next_cursor": "6a7d9c77c8173839e2253c21"
}
```

The post also mentions "Instagram" below 0.9, so that entry is left out of `entities[]` because of `min_confidence=0.9`.
