Openhandle API

Read-only REST API returning public Instagram, TikTok, X (Twitter), and Reddit profiles, posts, comments, followers, and search in one normalized envelope. 109 GET operations under /v1/, Bearer API-key auth, opaque cursor pagination, per-request freshness tiers, and a uniform error envelope. Also reachable as a remote MCP server.

Operations 109

GET /v1/instagram/comments/{identifier}/likers List comment likers #
GET /v1/instagram/hashtags/{identifier} Get a hashtag #
GET /v1/instagram/hashtags/{identifier}/posts List hashtag posts #
GET /v1/instagram/hashtags/{identifier}/reels List hashtag reels #
GET /v1/instagram/highlights/{identifier} Get a highlight #
GET /v1/instagram/locations/{identifier} Get a location #
GET /v1/instagram/locations/{identifier}/posts List location posts #
GET /v1/instagram/music/{identifier} Get a music #
GET /v1/instagram/music/{identifier}/stream List music stream pages #
GET /v1/instagram/posts/{identifier} Get a post #
GET /v1/instagram/posts/{identifier}/clip-metadata Get clip metadata #
GET /v1/instagram/posts/{identifier}/comment-metadata Get comment metadata #
GET /v1/instagram/posts/{identifier}/comment-moderation Check comment moderation #
GET /v1/instagram/posts/{identifier}/comments List post comments #
GET /v1/instagram/posts/{identifier}/comments/{comment_id}/replies List comment replies #
GET /v1/instagram/posts/{identifier}/insights Get post insights #
GET /v1/instagram/posts/{identifier}/likers List post likers #
GET /v1/instagram/posts/{identifier}/oembed Get post oEmbed data #
GET /v1/instagram/posts/{identifier}/tagged-users List tagged users #
GET /v1/instagram/posts/{identifier}/template Get post template #
GET /v1/instagram/profiles/{identifier} Get a profile #
GET /v1/instagram/profiles/{identifier}/about Get profile about information #
GET /v1/instagram/profiles/{identifier}/business-recommendations List business recommendations #
GET /v1/instagram/profiles/{identifier}/followers List profile followers #
GET /v1/instagram/profiles/{identifier}/followers/search Search profile followers #
GET /v1/instagram/profiles/{identifier}/following List profile following #
GET /v1/instagram/profiles/{identifier}/following/search Search profile following #
GET /v1/instagram/profiles/{identifier}/highlights List profile highlights #
GET /v1/instagram/profiles/{identifier}/pinned-posts List profile pinned posts #
GET /v1/instagram/profiles/{identifier}/posts List profile posts #
GET /v1/instagram/profiles/{identifier}/reels List profile reels #
GET /v1/instagram/profiles/{identifier}/reposts List profile reposts #
GET /v1/instagram/profiles/{identifier}/stories List profile stories #
GET /v1/instagram/profiles/{identifier}/suggested List profile suggested #
GET /v1/instagram/profiles/{identifier}/tagged-posts List profile tagged posts #
GET /v1/instagram/profiles/{identifier}/videos List profile videos #
GET /v1/instagram/search/hashtags Search Instagram hashtags #
GET /v1/instagram/search/music Search Instagram music #
GET /v1/instagram/search/places Search Instagram places #
GET /v1/instagram/search/profiles Search Instagram profiles #
GET /v1/instagram/search/reels Search Instagram reels #
GET /v1/instagram/search/top Search all Instagram results #
GET /v1/instagram/stories/{identifier} Get a story #
GET /v1/reddit/domains/{identifier}/posts List domain posts #
GET /v1/reddit/posts/{identifier} Get a post #
GET /v1/reddit/posts/{identifier}/comments List post comments #
GET /v1/reddit/posts/{identifier}/duplicates List duplicate posts #
GET /v1/reddit/profiles/{identifier} Get a profile #
GET /v1/reddit/profiles/{identifier}/comments List profile comments #
GET /v1/reddit/profiles/{identifier}/moderated List moderated subreddits #
GET /v1/reddit/profiles/{identifier}/posts List profile posts #
GET /v1/reddit/profiles/{identifier}/trophies List profile trophies #
GET /v1/reddit/search/posts Search posts #
GET /v1/reddit/search/profiles Search profiles #
GET /v1/reddit/search/subreddits Search subreddits #
GET /v1/reddit/subreddits/new List new subreddits #
GET /v1/reddit/subreddits/{identifier} Get a subreddit #
GET /v1/reddit/subreddits/{identifier}/posts List subreddit posts #
GET /v1/reddit/subreddits/{identifier}/rules List subreddit rules #
GET /v1/reddit/subreddits/{identifier}/wiki-pages List wiki pages #
GET /v1/reddit/subreddits/{identifier}/wiki-pages/{page} Get a wiki page #
GET /v1/test-data Search the synthetic test-data catalog #
GET /v1/test-data/{id} Get one synthetic catalog entry #
GET /v1/tiktok/effects Get effects in a batch #
GET /v1/tiktok/effects/{identifier} Get an effect #
GET /v1/tiktok/effects/{identifier}/posts List effect posts #
GET /v1/tiktok/hashtags/{identifier} Get a hashtag #
GET /v1/tiktok/hashtags/{identifier}/posts List hashtag posts #
GET /v1/tiktok/locations/{identifier} Get a location #
GET /v1/tiktok/locations/{identifier}/posts List location posts #
GET /v1/tiktok/music/{identifier} Get a music #
GET /v1/tiktok/music/{identifier}/posts List music posts #
GET /v1/tiktok/posts/{identifier} Get a post #
GET /v1/tiktok/posts/{identifier}/comments List post comments #
GET /v1/tiktok/posts/{identifier}/comments/{comment_id}/replies List comment replies #
GET /v1/tiktok/profiles/{identifier} Get a profile #
GET /v1/tiktok/profiles/{identifier}/followers List profile followers #
GET /v1/tiktok/profiles/{identifier}/following List profile following #
GET /v1/tiktok/profiles/{identifier}/liked-posts List profile liked posts #
GET /v1/tiktok/profiles/{identifier}/playlists List profile playlists #
GET /v1/tiktok/profiles/{identifier}/playlists/{playlist_id} Get a playlist #
GET /v1/tiktok/profiles/{identifier}/playlists/{playlist_id}/posts List playlist posts #
GET /v1/tiktok/profiles/{identifier}/posts List profile posts #
GET /v1/tiktok/search/hashtags Search Tiktok hashtags #
GET /v1/tiktok/search/locations Search Tiktok locations #
GET /v1/tiktok/search/music Search Tiktok music #
GET /v1/tiktok/search/posts Search Tiktok posts #
GET /v1/tiktok/search/profiles Search Tiktok profiles #
GET /v1/tiktok/trending/categories List trending categories #
GET /v1/tiktok/trending/music List trending music #
GET /v1/tiktok/trending/posts List trending posts #
GET /v1/twitter/lists/{identifier}/posts List Twitter list posts #
GET /v1/twitter/posts/{identifier} Get a post #
GET /v1/twitter/posts/{identifier}/comments List post comments #
GET /v1/twitter/posts/{identifier}/comments/{comment_id}/replies List comment replies #
GET /v1/twitter/posts/{identifier}/reposters List post reposters #
GET /v1/twitter/profiles/{identifier} Get a profile #
GET /v1/twitter/profiles/{identifier}/followers List profile followers #
GET /v1/twitter/profiles/{identifier}/following List profile following #
GET /v1/twitter/profiles/{identifier}/media List profile media #
GET /v1/twitter/profiles/{identifier}/posts List profile posts #
GET /v1/twitter/profiles/{identifier}/replies List profile replies #
GET /v1/twitter/search/media Search Twitter media #
GET /v1/twitter/search/posts Search Twitter posts #
GET /v1/twitter/search/suggestions Search suggestions #
GET /v1/twitter/search/users Search Twitter users #
POST /v1/urls/fetch Fetch the resource at a social URL #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/openhandle-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

openhandle-openapi.yml Raw ↑
components:
  schemas:
    ErrorEnvelope:
      properties:
        error:
          properties:
            code:
              type: string
            details:
              additionalProperties: true
              type: object
            message:
              type: string
            requestId:
              type: string
            retryable:
              type: boolean
          required:
          - code
          - message
          - requestId
          - retryable
          type: object
      required:
      - error
      type: object
    InstagramAudio:
      additionalProperties: false
      properties:
        artist:
          anyOf:
          - $ref: '#/components/schemas/InstagramProfileReference'
          - type: 'null'
        artistId:
          minLength: 1
          type:
          - string
          - 'null'
        artistName:
          minLength: 1
          type:
          - string
          - 'null'
        artwork:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        clusterId:
          minLength: 1
          type:
          - string
          - 'null'
        compositionStartTime:
          type:
          - number
          - 'null'
        createdAt:
          format: date-time
          minLength: 1
          type:
          - string
          - 'null'
        duration:
          type:
          - number
          - 'null'
        fastStartUrl:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
        filters:
          items: {}
          type:
          - array
          - 'null'
        hasLyrics:
          type:
          - boolean
          - 'null'
        highlightStartTimes:
          items:
            type: number
          type:
          - array
          - 'null'
        id:
          minLength: 1
          type: string
        isAutomaticallyAttributed:
          type:
          - boolean
          - 'null'
        isCrosspostedFromFacebook:
          type:
          - boolean
          - 'null'
        isExplicit:
          type:
          - boolean
          - 'null'
        isTrending:
          type:
          - boolean
          - 'null'
        metrics:
          $ref: '#/components/schemas/InstagramAudioMetrics'
        monetizationType:
          minLength: 1
          type:
          - string
          - 'null'
        musicId:
          minLength: 1
          type:
          - string
          - 'null'
        originalPostId:
          minLength: 1
          type:
          - string
          - 'null'
        overlapDuration:
          type:
          - number
          - 'null'
        parts:
          items:
            $ref: '#/components/schemas/InstagramAudioPart'
          type:
          - array
          - 'null'
        previewUrl:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
        spotify:
          additionalProperties: false
          properties:
            id:
              minLength: 1
              type:
              - string
              - 'null'
            url:
              format: uri
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - id
          - url
          type: object
        startTime:
          type:
          - number
          - 'null'
        streaming:
          anyOf:
          - $ref: '#/components/schemas/InstagramStreaming'
          - type: 'null'
        subtype:
          minLength: 1
          type:
          - string
          - 'null'
        title:
          minLength: 1
          type:
          - string
          - 'null'
        type:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - id
      - type
      - musicId
      - artistId
      - clusterId
      - title
      - artistName
      - artist
      - isExplicit
      - hasLyrics
      - isTrending
      - subtype
      - isAutomaticallyAttributed
      - isCrosspostedFromFacebook
      - monetizationType
      - duration
      - startTime
      - overlapDuration
      - compositionStartTime
      - createdAt
      - originalPostId
      - url
      - fastStartUrl
      - previewUrl
      - artwork
      - streaming
      - highlightStartTimes
      - filters
      - metrics
      - spotify
      - parts
      type: object
    InstagramAudioMetrics:
      additionalProperties: false
      properties:
        photos:
          type:
          - integer
          - 'null'
        previousTrendRank:
          type:
          - integer
          - 'null'
        reels:
          type:
          - integer
          - 'null'
        trendRank:
          type:
          - integer
          - 'null'
      required:
      - trendRank
      - previousTrendRank
      - reels
      - photos
      type: object
    InstagramAudioPart:
      additionalProperties: false
      properties:
        artist:
          anyOf:
          - $ref: '#/components/schemas/InstagramProfileReference'
          - type: 'null'
        artistName:
          minLength: 1
          type:
          - string
          - 'null'
        artwork:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        isExplicit:
          type:
          - boolean
          - 'null'
        musicId:
          minLength: 1
          type:
          - string
          - 'null'
        parentStartTime:
          type:
          - number
          - 'null'
        startTime:
          type:
          - number
          - 'null'
        title:
          minLength: 1
          type:
          - string
          - 'null'
        type:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - type
      - title
      - artistName
      - isExplicit
      - musicId
      - artist
      - startTime
      - parentStartTime
      - artwork
      type: object
    InstagramAudioReference:
      additionalProperties: false
      properties:
        artist:
          anyOf:
          - $ref: '#/components/schemas/InstagramProfileReference'
          - type: 'null'
        artistId:
          minLength: 1
          type:
          - string
          - 'null'
        artistName:
          minLength: 1
          type:
          - string
          - 'null'
        artwork:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        clusterId:
          minLength: 1
          type:
          - string
          - 'null'
        compositionStartTime:
          type:
          - number
          - 'null'
        createdAt:
          format: date-time
          minLength: 1
          type:
          - string
          - 'null'
        duration:
          type:
          - number
          - 'null'
        fastStartUrl:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
        filters:
          items: {}
          type:
          - array
          - 'null'
        hasLyrics:
          type:
          - boolean
          - 'null'
        highlightStartTimes:
          items:
            type: number
          type:
          - array
          - 'null'
        id:
          minLength: 1
          type:
          - string
          - 'null'
        isAutomaticallyAttributed:
          type:
          - boolean
          - 'null'
        isCrosspostedFromFacebook:
          type:
          - boolean
          - 'null'
        isExplicit:
          type:
          - boolean
          - 'null'
        isTrending:
          type:
          - boolean
          - 'null'
        metrics:
          $ref: '#/components/schemas/InstagramAudioMetrics'
        monetizationType:
          minLength: 1
          type:
          - string
          - 'null'
        musicId:
          minLength: 1
          type:
          - string
          - 'null'
        originalPostId:
          minLength: 1
          type:
          - string
          - 'null'
        overlapDuration:
          type:
          - number
          - 'null'
        parts:
          items:
            $ref: '#/components/schemas/InstagramAudioPart'
          type:
          - array
          - 'null'
        previewUrl:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
        spotify:
          additionalProperties: false
          properties:
            id:
              minLength: 1
              type:
              - string
              - 'null'
            url:
              format: uri
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - id
          - url
          type: object
        startTime:
          type:
          - number
          - 'null'
        streaming:
          anyOf:
          - $ref: '#/components/schemas/InstagramStreaming'
          - type: 'null'
        subtype:
          minLength: 1
          type:
          - string
          - 'null'
        title:
          minLength: 1
          type:
          - string
          - 'null'
        type:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - id
      - type
      - musicId
      - artistId
      - clusterId
      - title
      - artistName
      - artist
      - isExplicit
      - hasLyrics
      - isTrending
      - subtype
      - isAutomaticallyAttributed
      - isCrosspostedFromFacebook
      - monetizationType
      - duration
      - startTime
      - overlapDuration
      - compositionStartTime
      - createdAt
      - originalPostId
      - url
      - fastStartUrl
      - previewUrl
      - artwork
      - streaming
      - highlightStartTimes
      - filters
      - metrics
      - spotify
      - parts
      type: object
    InstagramBioLink:
      additionalProperties: false
      properties:
        icon:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        id:
          minLength: 1
          type:
          - string
          - 'null'
        image:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        isPinned:
          type:
          - boolean
          - 'null'
        isVerified:
          type:
          - boolean
          - 'null'
        title:
          minLength: 1
          type:
          - string
          - 'null'
        type:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - id
      - title
      - url
      - type
      - isPinned
      - isVerified
      - icon
      - image
      type: object
    InstagramClipMetadata:
      additionalProperties: false
      properties:
        audio:
          anyOf:
          - $ref: '#/components/schemas/InstagramAudioReference'
          - type: 'null'
        partial:
          anyOf:
          - $ref: '#/components/schemas/InstagramPartialData'
          - type: 'null'
        postId:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - postId
      - audio
      - partial
      type: object
    InstagramComment:
      additionalProperties: false
      properties:
        ai:
          additionalProperties: false
          properties:
            type:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - type
          type: object
        author:
          anyOf:
          - $ref: '#/components/schemas/InstagramProfileReference'
          - type: 'null'
        createdAt:
          format: date-time
          minLength: 1
          type: string
        id:
          minLength: 1
          type: string
        isByPostAuthor:
          type:
          - boolean
          - 'null'
        isCovered:
          type:
          - boolean
          - 'null'
        isEdited:
          type:
          - boolean
          - 'null'
        isLikedByPostAuthor:
          type:
          - boolean
          - 'null'
        isPinned:
          type:
          - boolean
          - 'null'
        keywords:
          items: {}
          type:
          - array
          - 'null'
        likedByCoauthors:
          items:
            $ref: '#/components/schemas/InstagramProfileReference'
          type:
          - array
          - 'null'
        media:
          items:
            $ref: '#/components/schemas/InstagramImage'
          type:
          - array
          - 'null'
        metrics:
          $ref: '#/components/schemas/InstagramCommentMetrics'
        parentId:
          minLength: 1
          type:
          - string
          - 'null'
        pinnedPosition:
          type:
          - integer
          - 'null'
        postId:
          minLength: 1
          type:
          - string
          - 'null'
        previewUsers:
          items:
            $ref: '#/components/schemas/InstagramProfileReference'
          type:
          - array
          - 'null'
        ranking:
          additionalProperties: false
          properties:
            index:
              type:
              - integer
              - 'null'
            isRanked:
              type:
              - boolean
              - 'null'
            replyIndex:
              type:
              - integer
              - 'null'
          required:
          - index
          - replyIndex
          - isRanked
          type: object
        replies:
          items:
            $ref: '#/components/schemas/InstagramCommentReference'
          type:
          - array
          - 'null'
        replyToId:
          minLength: 1
          type:
          - string
          - 'null'
        sharingEnabled:
          type:
          - boolean
          - 'null'
        status:
          minLength: 1
          type:
          - string
          - 'null'
        text:
          minLength: 1
          type:
          - string
          - 'null'
        translation:
          additionalProperties: false
          properties:
            text:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - text
          type: object
      required:
      - id
      - text
      - postId
      - parentId
      - replyToId
      - createdAt
      - author
      - status
      - isCovered
      - isEdited
      - sharingEnabled
      - isByPostAuthor
      - isPinned
      - pinnedPosition
      - isLikedByPostAuthor
      - ai
      - ranking
      - keywords
      - previewUsers
      - metrics
      - replies
      - translation
      - likedByCoauthors
      - media
      type: object
    InstagramCommentMetadata:
      additionalProperties: false
      properties:
        comments:
          $ref: '#/components/schemas/InstagramCommentSettings'
        metrics:
          additionalProperties: false
          properties:
            comments:
              type:
              - integer
              - 'null'
          required:
          - comments
          type: object
        postId:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - postId
      - metrics
      - comments
      type: object
    InstagramCommentMetrics:
      additionalProperties: false
      properties:
        likes:
          type:
          - integer
          - 'null'
        replies:
          type:
          - integer
          - 'null'
      required:
      - likes
      - replies
      type: object
    InstagramCommentModeration:
      additionalProperties: false
      properties:
        isOffensive:
          type:
          - boolean
          - 'null'
      required:
      - isOffensive
      type: object
    InstagramCommentReference:
      additionalProperties: false
      properties:
        ai:
          additionalProperties: false
          properties:
            type:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - type
          type: object
        author:
          anyOf:
          - $ref: '#/components/schemas/InstagramProfileReference'
          - type: 'null'
        createdAt:
          format: date-time
          minLength: 1
          type:
          - string
          - 'null'
        id:
          minLength: 1
          type:
          - string
          - 'null'
        isByPostAuthor:
          type:
          - boolean
          - 'null'
        isCovered:
          type:
          - boolean
          - 'null'
        isEdited:
          type:
          - boolean
          - 'null'
        isLikedByPostAuthor:
          type:
          - boolean
          - 'null'
        isPinned:
          type:
          - boolean
          - 'null'
        keywords:
          items: {}
          type:
          - array
          - 'null'
        likedByCoauthors:
          items:
            $ref: '#/components/schemas/InstagramProfileReference'
          type:
          - array
          - 'null'
        media:
          items:
            $ref: '#/components/schemas/InstagramImage'
          type:
          - array
          - 'null'
        metrics:
          $ref: '#/components/schemas/InstagramCommentMetrics'
        parentId:
          minLength: 1
          type:
          - string
          - 'null'
        pinnedPosition:
          type:
          - integer
          - 'null'
        postId:
          minLength: 1
          type:
          - string
          - 'null'
        previewUsers:
          items:
            $ref: '#/components/schemas/InstagramProfileReference'
          type:
          - array
          - 'null'
        ranking:
          additionalProperties: false
          properties:
            index:
              type:
              - integer
              - 'null'
            isRanked:
              type:
              - boolean
              - 'null'
            replyIndex:
              type:
              - integer
              - 'null'
          required:
          - index
          - replyIndex
          - isRanked
          type: object
        replies:
          items:
            $ref: '#/components/schemas/InstagramCommentReference'
          type:
          - array
          - 'null'
        replyToId:
          minLength: 1
          type:
          - string
          - 'null'
        sharingEnabled:
          type:
          - boolean
          - 'null'
        status:
          minLength: 1
          type:
          - string
          - 'null'
        text:
          minLength: 1
          type:
          - string
          - 'null'
        translation:
          additionalProperties: false
          properties:
            text:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - text
          type: object
      required:
      - id
      - text
      - postId
      - parentId
      - replyToId
      - createdAt
      - author
      - status
      - isCovered
      - isEdited
      - sharingEnabled
      - isByPostAuthor
      - isPinned
      - pinnedPosition
      - isLikedByPostAuthor
      - ai
      - ranking
      - keywords
      - previewUsers
      - metrics
      - replies
      - translation
      - likedByCoauthors
      - media
      type: object
    InstagramCommentSettings:
      additionalProperties: false
      properties:
        enabled:
          type:
          - boolean
          - 'null'
        hasMore:
          type:
          - boolean
          - 'null'
        likesEnabled:
          type:
          - boolean
          - 'null'
        maxVisiblePreviewComments:
          type:
          - integer
          - 'null'
        preview:
          items:
            $ref: '#/components/schemas/InstagramCommentReference'
          type:
          - array
          - 'null'
        threadingEnabled:
          type:
          - boolean
          - 'null'
      required:
      - hasMore
      - maxVisiblePreviewComments
      - likesEnabled
      - threadingEnabled
      - enabled
      - preview
      type: object
    InstagramCoordinates:
      additionalProperties: false
      properties:
        latitude:
          type:
          - number
          - 'null'
        longitude:
          type:
          - number
          - 'null'
      required:
      - latitude
      - longitude
      type: object
    InstagramCrop:
      additionalProperties: false
      properties:
        bottom:
          type:
          - number
          - 'null'
        left:
          type:
          - number
          - 'null'
        right:
          type:
          - number
          - 'null'
        top:
          type:
          - number
          - 'null'
      required:
      - left
      - right
      - top
      - bottom
      type: object
    InstagramDASH:
      additionalProperties: false
      properties:
        manifest:
          minLength: 1
          type:
          - string
          - 'null'
        qualityCount:
          type:
          - integer
          - 'null'
        variants:
          items:
            $ref: '#/components/schemas/InstagramStreamVariant'
          type:
          - array
          - 'null'
      required:
      - manifest
      - variants
      - qualityCount
      type: object
    InstagramHashtag:
      additionalProperties: false
      properties:
        avatar:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        bio:
          minLength: 1
          type:
          - string
          - 'null'
        id:
          minLength: 1
          type: string
        isTrending:
          type:
          - boolean
          - 'null'
        metrics:
          additionalProperties: false
          properties:
            posts:
              type:
              - integer
              - 'null'
            views:
              type:
              - integer
              - 'null'
          required:
          - posts
          - views
          type: object
        name:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type: string
      required:
      - id
      - name
      - url
      - bio
      - avatar
      - isTrending
      - metrics
      type: object
    InstagramHashtagReference:
      additionalProperties: false
      properties:
        avatar:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        bio:
          minLength: 1
          type:
          - string
          - 'null'
        id:
          minLength: 1
          type:
          - string
          - 'null'
        isTrending:
          type:
          - boolean
          - 'null'
        metrics:
          additionalProperties: false
          properties:
            posts:
              type:
              - integer
              - 'null'
            views:
              type:
              - integer
              - 'null'
          required:
          - posts
          - views
          type: object
        name:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - id
      - name
      - url
      - bio
      - avatar
      - isTrending
      - metrics
      type: object
    InstagramHighlight:
      additionalProperties: false
      properties:
        author:
          anyOf:
          - $ref: '#/components/schemas/InstagramProfileReference'
          - type: 'null'
        cover:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        createdAt:
          format: date-time
          minLength: 1
          type:
          - string
          - 'null'
        id:
          minLength: 1
          type: string
        isArchived:
          type:
          - boolean
          - 'null'
        isConvertedToReel:
          type:
          - boolean
          - 'null'
        isInProfileGrid:
          type:
          - boolean
          - 'null'
        isPinned:
          type:
          - boolean
          - 'null'
        lastStoryAt:
          format: date-time
          minLength: 1
          type:
          - string
          - 'null'
        metrics:
          additionalProperties: false
          properties:
            stories:
              type:
              - integer
              - 'null'
          required:
          - stories
          type: object
        stories:
          items:
            $ref: '#/components/schemas/InstagramStoryReference'
          type:
          - array
          - 'null'
        title:
          minLength: 1
          type:
          - string
          - 'null'
        updatedAt:
          format: date-time
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type: string
      required:
      - id
      - url
      - title
      - author
      - createdAt
      - updatedAt
      - lastStoryAt
      - isPinned
      - isArchived
      - isConvertedToReel
      - isInProfileGrid
      - cover
      - metrics
      - stories
      type: object
    InstagramHighlightReference:
      additionalProperties: false
      properties:
        id:
          minLength: 1
          type:
          - string
          - 'null'
        title:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - id
      - title
      type: object
    InstagramImage:
      additionalProperties: false
      properties:
        height:
          type:
          - integer
          - 'null'
        id:
          minLength: 1
          type:
          - string
          - 'null'
        isDefault:
          type:
          - boolean
          - 'null'
        isSpatial:
          type:
          - boolean
          - 'null'
        thumbnail:
          anyOf:
          - $ref: '#/components/schemas/InstagramImage'
          - type: 'null'
        type:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
        variants:
          items:
            $ref: '#/components/schemas/InstagramImage'
          type:
          - array
          - 'null'
        width:
          type:
          - integer
          - 'null'
      required:
      - thumbnail
      - id
      - type
      - url
      - width
      - height
      - isDefault
      - isSpatial
      - variants
      type: object
    InstagramLocation:
      additionalProperties: false
      properties:
        address:
          $ref: '#/components/schemas/InstagramLocationAddress'
        category:
          minLength: 1
          type:
          - string
          - 'null'
        coordinates:
          $ref: '#/components/schemas/InstagramCoordinates'
        external:
          additionalProperties: false
          properties:
            id:
              minLength: 1
              type:
              - string
              - 'null'
            source:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - id
          - source
          type: object
        hours:
          anyOf:
          - $ref: '#/components/schemas/InstagramLocationHours'
          - type: 'null'
        id:
          minLength: 1
          type: string
        name:
          minLength: 1
          type:
          - string
          - 'null'
        phone:
          minLength: 1
          type:
          - string
          - 'null'
        searchContext:
          additionalProperties: false
          properties:
            subtitle:
              minLength: 1
              type:
              - string
              - 'null'
            title:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - title
          - subtitle
          type: object
        shortName:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type: string
        website:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - id
      - name
      - shortName
      - category
      - url
      - phone
      - website
      - address
      - coordinates
      - external
      - searchContext
      - hours
      type: object
    InstagramLocationAddress:
      additionalProperties: false
      properties:
        city:
          minLength: 1
          type:
          - string
          - 'null'
        countryCode:
          minLength: 1
          type:
          - string
          - 'null'
        postalCode:
          minLength: 1
          type:
          - string
          - 'null'
        region:
          minLength: 1
          type:
          - string
          - 'null'
        street:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - street
      - city
      - postalCode
      - region
      - countryCode
      type: object
    InstagramLocationHours:
      additionalProperties: false
      properties:
        currentStatus:
          minLength: 1
          type:
          - string
          - 'null'
        isOpen:
          type:
          - boolean
          - 'null'
        schedule:
          items: {}
          type:
          - array
          - 'null'
        status:
          minLength: 1
          type:
          - string
          - 'null'
        today:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - status
      - currentStatus
      - today
      - isOpen
      - schedule
      type: object
    InstagramLocationReference:
      additionalProperties: false
      properties:
        address:
          $ref: '#/components/schemas/InstagramLocationAddress'
        category:
          minLength: 1
          type:
          - string
          - 'null'
        coordinates:
          $ref: '#/components/schemas/InstagramCoordinates'
        external:
          additionalProperties: false
          properties:
            id:
              minLength: 1
              type:
              - string
              - 'null'
            source:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - id
          - source
          type: object
        hours:
          anyOf:
          - $ref: '#/components/schemas/InstagramLocationHours'
          - type: 'null'
        id:
          minLength: 1
          type:
          - string
          - 'null'
        name:
          minLength: 1
          type:
          - string
          - 'null'
        phone:
          minLength: 1
          type:
          - string
          - 'null'
        searchContext:
          additionalProperties: false
          properties:
            subtitle:
              minLength: 1
              type:
              - string
              - 'null'
            title:
              minLength: 1
              type:
              - string
              - 'null'
          required:
          - title
          - subtitle
          type: object
        shortName:
          minLength: 1
          type:
          - string
          - 'null'
        url:
          format: uri
          minLength: 1
          type:
          - string
          - 'null'
        website:
          minLength: 1
          type:
          - string
          - 'null'
      required:
      - id
      - name
      - shortName
      - category
      - url
      - phone
      - website
      - address
      - coordinates
      - external
      - searchContext
      - hours
      type: object
    InstagramMedia:
      additionalProperties: false
      properties:
        altText:
      

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