> ## Documentation Index
> Fetch the complete documentation index at: https://docs.konbiniapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Response format

> Understand how KonbiniAPI responses are structured using the W3C ActivityStreams 2.0 standard. Consistent JSON shape across all platforms.

All responses follow the [W3C ActivityStreams 2.0](https://www.w3.org/TR/activitystreams-core/) specification with KonbiniAPI extensions.

## Context

Every response includes an `@context` array identifying the vocabularies used:

```json theme={null}
{
  "@context": [
    "https://www.w3.org/ns/activitystreams#",
    "https://konbiniapi.com/ns/social#"
  ]
}
```

The first context is the standard ActivityStreams vocabulary. The second adds platform-specific properties like `followerCount`, `isVerified`, and `viewCount`.

## Object types

### Detail endpoints

Endpoints that return a single resource (e.g. a user or video) return the object directly:

```json theme={null}
{
  "@context": [...],
  "type": "Person",
  "id": "https://www.tiktok.com/@example",
  "name": "Example User",
  "preferredUsername": "example",
  "followerCount": 50000,
  "isVerified": true
}
```

### List endpoints

Endpoints that return multiple items use `OrderedCollectionPage`:

```json theme={null}
{
  "@context": [...],
  "type": "OrderedCollectionPage",
  "totalItems": 342,
  "itemCount": 30,
  "nextCursor": "abc123",
  "orderedItems": [...]
}
```

See [pagination](/getting-started/pagination) for details on navigating through pages.

## Common properties

Properties are consistent across platforms:

| Property            | Description                                                   |
| ------------------- | ------------------------------------------------------------- |
| `type`              | ActivityStreams object type (`Person`, `Video`, `Note`, etc.) |
| `id`                | Canonical URL for the resource                                |
| `url`               | Web URL for the resource                                      |
| `entityId`          | Platform-specific ID used as a parameter in related endpoints |
| `name`              | Display name                                                  |
| `preferredUsername` | Username/handle                                               |
| `summary`           | Bio or description                                            |
| `published`         | ISO 8601 timestamp                                            |
| `icon`              | Avatar or thumbnail                                           |
| `image`             | Cover image or media                                          |
| `attachment`        | Related media or links                                        |

The same code that processes a TikTok user works for an Instagram, X, or Reddit user — the field names and structure are identical.

## Chaining requests with entityId

Every object in a response includes an `entityId` field — a platform-specific identifier you can use as a parameter when calling related endpoints.

```json theme={null}
{
  "type": "Video",
  "entityId": "7300000000000000001",
  "name": "My video",
  ...
}
```

For example, if you fetch a user's video list and want to get the comments for a specific video, use that video's `entityId` as the `videoId` parameter in the comments endpoint. The same pattern applies across all resource types and platforms.

<Note>
  Always use `entityId` to chain requests. Do not try to extract IDs from the `id` or `url` fields — those are canonical URLs, not parameter values.
</Note>
