KonbiniAPI Reddit API

Twenty-two Reddit endpoints — the provider's deepest surface — covering users, subreddits and their structured rules, posts, comments and reply threads, duplicates and crossposts, site-wide feeds, three search endpoints, and three batch endpoints that fetch up to 100 subreddits, posts or comments per request. Shipped in v1.2.0 (May 2026); batch added in v1.3.0 (June 2026).

OpenAPI Specification

konbiniapi-reddit-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Konbini Reddit API
  version: 1.0.0
  description: 'Social media API that normalizes Instagram, TikTok, X, Reddit, 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: Reddit
  description: Reddit data endpoints
paths:
  /v1/reddit/users/{username}:
    get:
      operationId: redditGetUser
      tags:
      - Reddit
      summary: Get user profile
      description: Returns public Reddit user profile information including bio, avatar, verification flags, and account creation date.
      parameters:
      - schema:
          type: string
          description: Reddit username (with or without `u/` prefix)
          example: spez
        required: true
        description: Reddit username (with or without `u/` prefix)
        name: username
        in: path
      responses:
        '200':
          description: Returns the Reddit user profile
          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
                        enum:
                        - Person
                      id:
                        type: string
                        format: uri
                        description: Profile URL
                        example: https://www.reddit.com/user/spez/
                      url:
                        type: string
                        format: uri
                        description: Profile URL
                        example: https://www.reddit.com/user/spez/
                      entityId:
                        type: string
                        description: Platform-specific entity ID
                        example: t2_4x25quk
                      preferredUsername:
                        type: string
                        description: Username or handle
                        example: spez
                      name:
                        type: string
                        description: Display name
                        example: Steve Huffman
                      icon:
                        $ref: '#/components/schemas/RedditImage'
                      role:
                        type: string
                        description: Role label for distinguished accounts
                        example: admin
                      summary:
                        type: string
                        description: User bio
                        example: Reddit CEO
                      published:
                        type: string
                        format: date-time
                        description: Account creation date
                        example: '2005-12-08T07:46:43.000Z'
                      isVerified:
                        type: boolean
                        description: Whether the account is verified
                        example: true
                      isEmployee:
                        type: boolean
                        description: Whether the account belongs to a Reddit employee
                        example: true
                      isMod:
                        type: boolean
                        description: Whether the account is a moderator
                        example: false
                      isPremium:
                        type: boolean
                        description: Whether the account has a paid premium subscription
                        example: false
                      isSearchable:
                        type: boolean
                        description: Whether the profile is visible to search engines
                        example: true
                      isFollowable:
                        type: boolean
                        description: Whether the account can be followed
                        example: true
                      isAdult:
                        type: boolean
                        description: Whether the profile is marked as adult content
                        example: false
                      score:
                        type: integer
                        description: Total Reddit account score
                        example: 999999
                      postScore:
                        type: integer
                        description: Score earned from Reddit posts
                        example: 555555
                      commentScore:
                        type: integer
                        description: Score earned from Reddit comments
                        example: 444444
                      awarderScore:
                        type: integer
                        description: Score earned from giving awards
                        example: 123
                      awardeeScore:
                        type: integer
                        description: Score earned from receiving awards
                        example: 321
                      status:
                        type: string
                        description: Account status
                        example: active
                      image:
                        allOf:
                        - $ref: '#/components/schemas/RedditImage'
                        - description: Banner image
                    required:
                    - '@context'
                    - type
                    - id
                    - url
                required:
                - data
        '400':
          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:
                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
        '401':
          description: Unauthorized — Missing or invalid API key
          content:
            application/json:
              schema:
                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
        '402':
          description: Payment Required — Credits exhausted
          content:
            application/json:
              schema:
                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
        '403':
          description: Forbidden — API key disabled or expired
          content:
            application/json:
              schema:
                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
        '404':
          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:
                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
        '413':
          description: Content Too Large — Request body exceeds 1 MB
          content:
            application/json:
              schema:
                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
        '500':
          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:
                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
        '502':
          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:
                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
        '503':
          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:
                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
        '504':
          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:
                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
  /v1/reddit/users/{username}/posts:
    get:
      operationId: redditGetUserPosts
      tags:
      - Reddit
      summary: Get user posts
      description: Returns public posts submitted by a Reddit user. Supports hot, new, top, and controversial ordering, with optional time windows for top and controversial.
      parameters:
      - schema:
          type: string
          description: Reddit username (with or without `u/` prefix)
          example: spez
        required: true
        description: Reddit username (with or without `u/` prefix)
        name: username
        in: path
      - schema:
          type: integer
          minimum: 1
          maximum: 100
          default: 25
          description: 'Number of posts to fetch (maximum: 100)'
          example: 25
        required: false
        description: 'Number of posts to fetch (maximum: 100)'
        name: count
        in: query
      - schema:
          type: string
          description: Pagination cursor
          example: '0'
        required: false
        description: Pagination cursor
        name: cursor
        in: query
      - schema:
          type: string
          enum:
          - hot
          - new
          - top
          - controversial
          default: new
          description: 'Sort order: new (default), hot, top, or controversial'
          example: new
        required: false
        description: 'Sort order: new (default), hot, top, or controversial'
        name: order
        in: query
      - schema:
          type: string
          enum:
          - hour
          - day
          - week
          - month
          - year
          - all
          description: 'Time window for top or controversial ordering: hour, day, week, month, year, or all (default)'
          example: week
        required: false
        description: 'Time window for top or controversial ordering: hour, day, week, month, year, or all (default)'
        name: time
        in: query
      responses:
        '200':
          description: Returns the user 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/reddit/users/spez/posts
                      totalItems:
                        type:
                        - integer
                        - 'null'
                        description: Total number of items, null if unknown
                        example: 1309
                      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: t3_post_2
                      next:
                        type:
                        - string
                        - 'null'
                        format: uri
                        description: URL for the next page, null on last page
                        example: https://api.konbiniapi.com/v1/reddit/users/spez/posts?cursor=t3_post_2&count=25&order=top&time=week
                      itemCount:
                        type: integer
                        description: Number of items returned in this page
                        example: 30
                      orderedItems:
                        type: array
                        items:
                          $ref: '#/components/schemas/RedditPost'
                        description: Items in this page
                    required:
                    - '@context'
                    - type
                    - partOf
                    - totalItems
                    - cursor
                    - nextCursor
                    - next
                    - itemCount
                    - orderedItems
                required:
                - data
        '400':
          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:
                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
        '401':
          description: Unauthorized — Missing or invalid API key
          content:
            application/json:
              schema:
                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
        '402':
          description: Payment Required — Credits exhausted
          content:
            application/json:
              schema:
                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
        '403':
          description: Forbidden — API key disabled or expired
          content:
            application/json:
              schema:
                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
        '404':
          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:
                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
        '413':
          description: Content Too Large — Request body exceeds 1 MB
          content:
            application/json:
              schema:
                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
                    

# --- truncated at 32 KB (406 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/konbiniapi/refs/heads/main/openapi/konbiniapi-reddit-api-openapi.yml