KonbiniAPI Instagram API

Instagram data endpoints

OpenAPI Specification

konbiniapi-instagram-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Konbini Instagram API
  version: 1.0.0
  description: 'Social media API that normalizes Instagram and TikTok 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: Instagram
  description: Instagram data endpoints
paths:
  /v1/instagram/users/{username}:
    get:
      operationId: instagramGetUser
      tags:
      - Instagram
      summary: Get User Profile
      description: Returns profile information for an Instagram user including bio, follower counts, profile picture, and account metadata. Look up any public Instagram account by username.
      parameters:
      - schema:
          type: string
          description: Instagram username (with or without @ symbol)
          example: khaby00
        required: true
        description: Instagram username (with or without @ symbol)
        name: username
        in: path
      responses:
        '200':
          description: Returns the Instagram 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
                        description: ActivityStreams object type
                        example: Person
                      id:
                        type: string
                        format: uri
                        description: Profile URL
                        example: https://www.instagram.com/khaby00/
                      url:
                        type: string
                        format: uri
                        description: Profile URL
                        example: https://www.instagram.com/khaby00/
                      entityId:
                        type: string
                        description: Platform-specific entity ID
                        example: '779085683'
                      name:
                        type: string
                        description: Display name
                        example: Khabane Lame
                      preferredUsername:
                        type: string
                        description: Username or handle
                        example: khaby00
                      summary:
                        type: string
                        description: Bio text
                        example: Just a guy who reacts
                      attachment:
                        type: array
                        items:
                          $ref: '#/components/schemas/InstagramLink'
                        description: External links
                      isPrivate:
                        type: boolean
                        description: Whether account is private
                        example: false
                      isVerified:
                        type: boolean
                        description: Whether account is verified
                        example: true
                      isPaidVerified:
                        type: boolean
                        description: Whether account has paid verification
                        example: false
                      isBusiness:
                        type: boolean
                        description: Whether account has business features enabled
                        example: false
                      isProfessional:
                        type: boolean
                        description: Whether account has professional/creator features enabled
                        example: true
                      category:
                        type: string
                        description: Business or creator category
                        example: Public figure
                      pronouns:
                        type: array
                        items:
                          type: string
                        description: User pronouns
                        example:
                        - he/him
                      hasVideos:
                        type: boolean
                        description: Whether user has video content
                        example: true
                      hasChannel:
                        type: boolean
                        description: Whether user has a broadcast channel
                        example: false
                      hasMicroblog:
                        type: boolean
                        description: Whether user has Threads content
                        example: true
                      followerCount:
                        type: integer
                        description: Number of followers
                        example: 77560380
                      followingCount:
                        type: integer
                        description: Number of accounts followed
                        example: 1004
                      mediaCount:
                        type: integer
                        description: Number of posts
                        example: 626
                      videoCount:
                        type: integer
                        description: Number of Reels
                        example: 120
                      highlightCount:
                        type: integer
                        description: Number of story highlights
                        example: 10
                      icon:
                        $ref: '#/components/schemas/InstagramImage'
                        description: User profile picture
                      image:
                        type: array
                        items:
                          $ref: '#/components/schemas/InstagramImage'
                        description: Profile pictures in multiple sizes
                    required:
                    - '@context'
                    - type
                    - id
                    - url
                    - entityId
                    - name
                    - preferredUsername
                    - isPrivate
                    - isVerified
                    - isPaidVerified
                    - isBusiness
                    - isProfessional
                    - hasVideos
                    - hasChannel
                    - hasMicroblog
                    - followerCount
                    - followingCount
                    - mediaCount
                    - videoCount
                    - highlightCount
                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
        '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
  /v1/instagram/users/{username}/posts:
    get:
      operationId: instagramGetUserPosts
      tags:
      - Instagram
      summary: Get User Posts
      description: Returns a paginated list of posts from an Instagram user's profile feed. Maximum 12 posts per page. Includes photos, videos, carousels, and engagement counts.
      parameters:
      - schema:
          type: string
          description: Instagram username (with or without @ symbol)
          example: khaby00
        required: true
        description: Instagram username (with or without @ symbol)
        name: username
        in: path
      - schema:
          type: integer
          minimum: 1
          maximum: 12
          default: 12
          description: 'Number of posts to fetch (maximum: 12)'
          example: 12
        required: false
        description: 'Number of posts to fetch (maximum: 12)'
        name: count
        in: query
      - schema:
          type: string
          description: Pagination cursor
          example: '0'
        required: false
        description: Pagination cursor
        name: cursor
        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/instagram/users/khaby00/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: '0'
                      nextCursor:
                        type:
                        - string
                        - 'null'
                        description: Cursor for the next page, null on last page
                        example: '1772217402000'
                      next:
                        type:
                        - string
                        - 'null'
                        format: uri
                        description: URL for the next page, null on last page
                        example: https://api.konbiniapi.com/v1/instagram/users/khaby00/posts?cursor=abc123&count=12
                      itemCount:
                        type: integer
                        description: Number of items returned in this page
                        example: 30
                      orderedItems:
                        type: array
                        items:
                          $ref: '#/components/schemas/InstagramPost'
                        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
        '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:
           

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