> ## 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.

# Get channel posts

> Returns a public YouTube channel's posts, most recent first. `likeCount` is rounded to what YouTube displays.



## OpenAPI

````yaml /openapi.json get /v1/youtube/channels/{channel}/posts
openapi: 3.1.0
info:
  title: KonbiniAPI
  version: 1.0.0
  description: >-
    Social media API that normalizes TikTok, Instagram, YouTube, Reddit, X, and
    LinkedIn data into a consistent ActivityStreams 2.0 format.


    Every authenticated response includes `X-Credits-Remaining` and
    `X-Credits-Used` headers. Each successful request costs 1 credit. Requests
    that fail with 400, 5xx, or upstream errors are refunded (X-Credits-Used:
    0).
  contact:
    name: KonbiniAPI
    email: hello@konbiniapi.com
    url: https://konbiniapi.com
servers:
  - url: https://api.konbiniapi.com
    description: Production
security:
  - apiKey: []
tags:
  - name: TikTok
    description: TikTok data endpoints
  - name: Instagram
    description: Instagram data endpoints
  - name: YouTube
    description: YouTube data endpoints
  - name: Reddit
    description: Reddit data endpoints
  - name: X
    description: X data endpoints
  - name: LinkedIn
    description: LinkedIn data endpoints
paths:
  /v1/youtube/channels/{channel}/posts:
    get:
      tags:
        - YouTube
      summary: Get channel posts
      description: >-
        Returns a public YouTube channel's posts, most recent first. `likeCount`
        is rounded to what YouTube displays.
      operationId: youtubeGetChannelPosts
      parameters:
        - schema:
            type: string
            description: >-
              Channel handle, with or without the `@` — the name in a channel
              URL. Resolving it costs one extra lookup; pass `channelId` to skip
              that.
            example: '@MrBeast'
          required: true
          description: >-
            Channel handle, with or without the `@` — the name in a channel URL.
            Resolving it costs one extra lookup; pass `channelId` to skip that.
          name: channel
          in: path
        - schema:
            type: string
            description: >-
              The channel’s `UC…` ID. Optional: supply it when you already have
              it — from a previous response, for instance — and it is used
              directly, skipping the handle lookup.
            example: UCX6OQ3DkcsbYNE6H8uQQuVA
          required: false
          description: >-
            The channel’s `UC…` ID. Optional: supply it when you already have it
            — from a previous response, for instance — and it is used directly,
            skipping the handle lookup.
          name: channelId
          in: query
        - schema:
            type: string
            description: Pagination cursor
            example: '0'
          required: false
          description: Pagination cursor
          name: cursor
          in: query
      responses:
        '200':
          description: Returns the channel community posts
          headers:
            X-Credits-Remaining:
              schema:
                type: integer
              description: Credits remaining after this request
            X-Credits-Used:
              schema:
                type: integer
              description: Credits consumed (1 if charged, 0 if refunded on error)
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      '@context':
                        type: array
                        prefixItems:
                          - type: string
                            enum:
                              - https://www.w3.org/ns/activitystreams#
                          - type: string
                            enum:
                              - https://konbiniapi.com/ns/social#
                        description: ActivityStreams JSON-LD context
                        example:
                          - https://www.w3.org/ns/activitystreams#
                          - https://konbiniapi.com/ns/social#
                      type:
                        type: string
                        description: ActivityStreams collection type
                        example: OrderedCollectionPage
                      partOf:
                        type: string
                        format: uri
                        description: URL of the full collection
                        example: >-
                          https://api.konbiniapi.com/v1/youtube/channels/UCX6OQ3DkcsbYNE6H8uQQuVA/posts
                      totalItems:
                        type:
                          - integer
                          - 'null'
                        description: Total number of items, null if unknown
                        example: null
                      cursor:
                        type:
                          - string
                          - 'null'
                        description: Current page cursor, null on first page
                        example: null
                      nextCursor:
                        type:
                          - string
                          - 'null'
                        description: Cursor for the next page, null on last page
                        example: <token>
                      next:
                        type:
                          - string
                          - 'null'
                        format: uri
                        description: URL for the next page, null on last page
                        example: >-
                          https://api.konbiniapi.com/v1/youtube/channels/UCX6OQ3DkcsbYNE6H8uQQuVA/posts?cursor=<token>
                      itemCount:
                        type: integer
                        description: Number of items returned in this page
                        example: 30
                      orderedItems:
                        type: array
                        items:
                          $ref: '#/components/schemas/YoutubeCommunityPost'
                        description: Items in this page
                    required:
                      - '@context'
                      - type
                      - partOf
                      - totalItems
                      - cursor
                      - nextCursor
                      - next
                      - itemCount
                      - orderedItems
                required:
                  - data
        '400':
          $ref: '#/components/responses/ValidationError'
        '401':
          $ref: '#/components/responses/UnauthorizedError'
        '402':
          $ref: '#/components/responses/CreditsExhaustedError'
        '403':
          $ref: '#/components/responses/ForbiddenError'
        '404':
          $ref: '#/components/responses/NotFoundError'
        '413':
          $ref: '#/components/responses/PayloadTooLargeError'
        '500':
          $ref: '#/components/responses/InternalError'
        '502':
          $ref: '#/components/responses/PlatformError'
        '503':
          $ref: '#/components/responses/ServiceUnavailableError'
        '504':
          $ref: '#/components/responses/PlatformTimeoutError'
components:
  schemas:
    YoutubeCommunityPost:
      type: object
      properties:
        type:
          type: string
          enum:
            - Note
          example: Note
        id:
          type: string
          format: uri
          description: Community post URL
          example: https://www.youtube.com/post/UgkxZusu9I1Z-VuU5PGZNA2gclHi8V9CJVZk
        entityId:
          type: string
          description: YouTube post ID
          example: UgkxZusu9I1Z-VuU5PGZNA2gclHi8V9CJVZk
        content:
          type: string
          description: Post text
          example: >-
            Would you rather stop aging for 100 years or receive 1 billion
            dollars right now?
        likeCount:
          type: integer
          example: 107000
          description: Like count, rounded to what YouTube displays (9.6M becomes 9600000)
        attributedTo:
          type: object
          properties:
            type:
              type: string
              description: ActivityStreams object type
              example: Person
            id:
              type: string
              format: uri
              description: Profile URL
              example: https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
            url:
              type: string
              format: uri
              description: Profile URL
              example: https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA
            entityId:
              type: string
              example: UCX6OQ3DkcsbYNE6H8uQQuVA
              description: Platform-specific entity ID
            name:
              type: string
              example: MrBeast
              description: Display name
          required:
            - type
            - id
            - url
          description: Channel that made the post
        image:
          type: array
          items:
            $ref: '#/components/schemas/YoutubeImage'
          description: Attached images
        attachment:
          type: array
          items:
            anyOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - Question
                    example: Question
                  oneOf:
                    type: array
                    items:
                      type: object
                      properties:
                        type:
                          type: string
                          enum:
                            - Note
                          example: Note
                        name:
                          type: string
                          description: Choice text
                          example: 100 Years Of No Aging
                        isCorrect:
                          type: boolean
                          example: true
                          description: >-
                            Present on a quiz choice only, absent on a plain
                            poll
                        summary:
                          type: string
                          example: Shown once you answer.
                          description: >-
                            Explanation for this choice — quizzes only, when
                            YouTube supplies one
                      required:
                        - type
                        - name
                    minItems: 2
                    description: Poll or quiz choices
                  voterCount:
                    type: integer
                    example: 1800000
                    description: Approximate number of respondents
                required:
                  - type
                  - oneOf
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - Video
                  id:
                    type: string
                    format: uri
                  url:
                    type: string
                    format: uri
                  entityId:
                    type: string
                    description: YouTube video ID
                  name:
                    type: string
                    description: Video title
                  summary:
                    type: string
                    description: Short description excerpt
                  duration:
                    type: number
                    description: Duration in seconds
                  viewCount:
                    type: integer
                    description: Exact number of views
                  isVerified:
                    type: boolean
                    description: Whether the video's channel has a verification badge
                required:
                  - type
                  - id
                  - url
                  - entityId
          description: A poll/quiz or a shared video attached to the post, if any
      required:
        - type
        - id
        - entityId
        - content
    YoutubeImage:
      type: object
      properties:
        type:
          type: string
          description: ActivityStreams object type
          example: Image
        url:
          type: string
          format: uri
          description: Image URL
          example: >-
            https://i.ytimg.com/vi/plN7JMbadRg/hqdefault.jpg?sqp=-oaymwEmCKgBEF5IWvKriqkDGQgBFQAAiEIYAdgBAeIBCggYEAIYBjgBQAE=&rs=AOn4CLCiT6Vj47A7NogeJusgz-_sjWhu7A
        width:
          type: integer
          example: 168
          description: Width in pixels
        height:
          type: integer
          example: 94
          description: Height in pixels
      required:
        - type
        - url
      description: Channel avatar
    ValidationError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - validation_error
                description: Machine-readable error code
              message:
                type: string
                example: Validation error
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    UnauthorizedError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - missing_api_key
                  - invalid_api_key
                description: Machine-readable error code
              message:
                type: string
                example: Invalid API key
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    CreditsExhaustedError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - credits_exhausted
                description: Machine-readable error code
              message:
                type: string
                example: Credits exhausted. Upgrade your plan at konbiniapi.com
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    ForbiddenError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - api_key_disabled
                  - api_key_expired
                description: Machine-readable error code
              message:
                type: string
                example: API key is disabled
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    NotFoundError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - not_found
                  - route_not_found
                description: Machine-readable error code
              message:
                type: string
                example: Not found
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    PayloadTooLargeError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - validation_error
                description: Machine-readable error code
              message:
                type: string
                example: Request body too large
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    InternalError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - internal_error
                description: Machine-readable error code
              message:
                type: string
                example: Internal error
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    PlatformError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - platform_error
                description: Machine-readable error code
              message:
                type: string
                example: Platform error
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    ServiceUnavailableError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - service_unavailable
                description: Machine-readable error code
              message:
                type: string
                example: Service unavailable
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
    PlatformTimeoutError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
                enum:
                  - platform_error
                description: Machine-readable error code
              message:
                type: string
                example: Platform error
                description: Human-readable error message
            required:
              - code
              - message
          description: List of errors
        data:
          type: 'null'
          description: Always null for error responses
      required:
        - errors
        - data
  responses:
    ValidationError:
      description: Bad Request — Invalid parameters
      headers:
        X-Credits-Remaining:
          schema:
            type: integer
          description: Credits remaining after this request
        X-Credits-Used:
          schema:
            type: integer
          description: Credits consumed (1 if charged, 0 if refunded on error)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationError'
    UnauthorizedError:
      description: Unauthorized — Missing or invalid API key
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/UnauthorizedError'
    CreditsExhaustedError:
      description: Payment Required — Credits exhausted
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/CreditsExhaustedError'
    ForbiddenError:
      description: Forbidden — API key disabled or expired
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ForbiddenError'
    NotFoundError:
      description: Not Found
      headers:
        X-Credits-Remaining:
          schema:
            type: integer
          description: Credits remaining after this request
        X-Credits-Used:
          schema:
            type: integer
          description: Credits consumed (1 if charged, 0 if refunded on error)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/NotFoundError'
    PayloadTooLargeError:
      description: Content Too Large — Request body exceeds 1 MB
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PayloadTooLargeError'
    InternalError:
      description: Internal Server Error
      headers:
        X-Credits-Remaining:
          schema:
            type: integer
          description: Credits remaining after this request
        X-Credits-Used:
          schema:
            type: integer
          description: Credits consumed (1 if charged, 0 if refunded on error)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/InternalError'
    PlatformError:
      description: Bad Gateway — Upstream platform error
      headers:
        X-Credits-Remaining:
          schema:
            type: integer
          description: Credits remaining after this request
        X-Credits-Used:
          schema:
            type: integer
          description: Credits consumed (1 if charged, 0 if refunded on error)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PlatformError'
    ServiceUnavailableError:
      description: Service Unavailable
      headers:
        X-Credits-Remaining:
          schema:
            type: integer
          description: Credits remaining after this request
        X-Credits-Used:
          schema:
            type: integer
          description: Credits consumed (1 if charged, 0 if refunded on error)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ServiceUnavailableError'
    PlatformTimeoutError:
      description: Gateway Timeout — Upstream platform timed out
      headers:
        X-Credits-Remaining:
          schema:
            type: integer
          description: Credits remaining after this request
        X-Credits-Used:
          schema:
            type: integer
          description: Credits consumed (1 if charged, 0 if refunded on error)
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PlatformTimeoutError'
  securitySchemes:
    apiKey:
      type: http
      scheme: bearer
      description: |-
        Send your API key in the Authorization header as a Bearer token.
        Example: `Authorization: Bearer <your-api-key>`

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.