# app.didpic.feed.getTagFeedPublic

> Published by [lexicons.didpic.app](https://lexicon.garden/identity/did:plc:an2jtp4jgkkbtmwfzhpbxawd)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:an2jtp4jgkkbtmwfzhpbxawd/app.didpic.feed.getTagFeedPublic)
- [Documentation](https://lexicon.garden/lexicon/did:plc:an2jtp4jgkkbtmwfzhpbxawd/app.didpic.feed.getTagFeedPublic/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:an2jtp4jgkkbtmwfzhpbxawd/app.didpic.feed.getTagFeedPublic/examples)

## Definitions

### `app.didpic.feed.getTagFeedPublic`

**Type**: `query`

Unauthenticated tag feed for public web landings. Returns up to `limit` most-recent posts using the hashtag, filtered to those with no labels (post or author) so the public surface never renders age-restricted imagery. `postCount` is the global tag popularity, not the size of the returned slice.

#### Parameters

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `tag` | `string` | Yes | Hashtag without the leading #. Lowercased server-side. |
| `limit` | `integer` | No |  |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `tag` | `string` | Yes |  |
| `posts` | `array` | Yes | Up to `limit` recent unlabelled posts. Each post carries its author's PDS for blob URL construction. |
| `postCount` | `integer` | Yes | Total distinct records (posts + comments) using this tag, ignoring labels. |

### `app.didpic.feed.getTagFeedPublic#postCard`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `alt` | `string` | No |  |
| `cid` | `string` (cid) | Yes |  |
| `pds` | `string` (uri) | No | Author's PDS endpoint. Use to construct the post's image blob URL. |
| `uri` | `string` (at-uri) | Yes |  |
| `imageCid` | `string` (cid) | Yes |  |
| `authorDid` | `string` (did) | Yes |  |
| `aspectRatio` | `object` | No |  |
| `authorHandle` | `string` (handle) | No |  |
| `authorDisplayName` | `string` | No |  |

## Raw Schema

```json
{
  "id": "app.didpic.feed.getTagFeedPublic",
  "defs": {
    "main": {
      "type": "query",
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "tag",
            "postCount",
            "posts"
          ],
          "properties": {
            "tag": {
              "type": "string"
            },
            "posts": {
              "type": "array",
              "items": {
                "ref": "#postCard",
                "type": "ref"
              },
              "description": "Up to `limit` recent unlabelled posts. Each post carries its author's PDS for blob URL construction."
            },
            "postCount": {
              "type": "integer",
              "minimum": 0,
              "description": "Total distinct records (posts + comments) using this tag, ignoring labels."
            }
          }
        },
        "encoding": "application/json"
      },
      "parameters": {
        "type": "params",
        "required": [
          "tag"
        ],
        "properties": {
          "tag": {
            "type": "string",
            "maxLength": 640,
            "description": "Hashtag without the leading #. Lowercased server-side.",
            "maxGraphemes": 64
          },
          "limit": {
            "type": "integer",
            "default": 9,
            "maximum": 25,
            "minimum": 1
          }
        }
      },
      "description": "Unauthenticated tag feed for public web landings. Returns up to `limit` most-recent posts using the hashtag, filtered to those with no labels (post or author) so the public surface never renders age-restricted imagery. `postCount` is the global tag popularity, not the size of the returned slice."
    },
    "postCard": {
      "type": "object",
      "required": [
        "uri",
        "cid",
        "authorDid",
        "imageCid"
      ],
      "properties": {
        "alt": {
          "type": "string"
        },
        "cid": {
          "type": "string",
          "format": "cid"
        },
        "pds": {
          "type": "string",
          "format": "uri",
          "description": "Author's PDS endpoint. Use to construct the post's image blob URL."
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "imageCid": {
          "type": "string",
          "format": "cid"
        },
        "authorDid": {
          "type": "string",
          "format": "did"
        },
        "aspectRatio": {
          "type": "object",
          "properties": {
            "width": {
              "type": "integer",
              "minimum": 1
            },
            "height": {
              "type": "integer",
              "minimum": 1
            }
          }
        },
        "authorHandle": {
          "type": "string",
          "format": "handle"
        },
        "authorDisplayName": {
          "type": "string"
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
