ReefAPI Social Media API

The Social Media API from ReefAPI — 117 operation(s) for social media.

Operations 117

POST /bluesky/v1/profile actor profile: did/handle/displayName/desc/followers/follows/posts… #
POST /bluesky/v1/author_feed an actor's posts (full record+embed+counts), cursor-paginated… #
POST /bluesky/v1/search_actors search users by name/handle/bio (cursor); typeahead=true for fast suggest #
POST /bluesky/v1/thread a post + its reply tree (recursive) + parent #
POST /bluesky/v1/post_detail hydrate one or more posts by at:// URI (<=25)… #
POST /bluesky/v1/likes actors who liked a post (cursor); cid auto-used if given #
POST /bluesky/v1/reposts actors who reposted a post (cursor) #
POST /bluesky/v1/followers actors following the subject (cursor) #
POST /bluesky/v1/follows actors the subject follows (cursor) #
POST /bluesky/v1/quotes Accounts/posts that QUOTE a given post (quote-posts), cursor-paginated. #
POST /bluesky/v1/suggested_follows Accounts suggested from a given account — Bluesky's 'who to follow next' /… #
POST /bluesky/v1/lists The curated/moderation lists an account CREATED (user-curated lists +… #
POST /bluesky/v1/list A single list's metadata plus its MEMBERS (the accounts on the list), members… #
POST /bluesky/v1/list_feed The feed of posts authored by the members of a list (a list used as a custom… #
POST /bluesky/v1/actor_feeds The custom feed generators an account CREATED (its published feeds)… #
POST /bluesky/v1/feed_generator One custom feed generator's metadata plus its live online/valid status (is the… #
POST /bluesky/v1/get_feed The posts served BY a custom feed generator (e.g. #
POST /bluesky/v1/starter_packs The starter packs an account CREATED (shareable onboarding bundles of accounts… #
POST /bluesky/v1/starter_pack One starter pack's full detail: its underlying list, sample member profiles and… #
POST /bluesky/v1/search_posts Search Bluesky posts by keyword or hashtag — filter by sort order, date range… #
POST /bluesky/v1/get_actor_likes posts an actor liked (authed; the AppView serves the authenticated account's… #
POST /bluesky/v1/timeline the authenticated account's home timeline (authed) #
POST /instagram/v1/profile public profile facts and first-page recent posts #
POST /instagram/v1/posts public profile grid posts, newest first, with max_id pagination #
POST /instagram/v1/reels public profile reels tab, newest first, with max_id pagination #
POST /instagram/v1/similar_accounts public related profiles from web_profile_info #
POST /instagram/v1/post_info maximally-complete public post/reel detail by shortcode (URL) or media_id #
POST /instagram/v1/post_comments public comments for a post/reel by shortcode (URL) or media_id, with CURSOR… #
POST /instagram/v1/audio_media public reels feed that use a given audio/music track, with pagination #
POST /medium/v1/user Public Medium user profile by username #
POST /medium/v1/user_id Resolve username to Medium userId #
POST /medium/v1/user_articles An author's published articles, newest first, with deep pagination #
POST /medium/v1/user_top_articles User articles sorted by clap count from profile references #
POST /medium/v1/article Article metadata by url or id #
POST /medium/v1/article_content Article plain-text body from bodyModel paragraphs #
POST /medium/v1/article_html Article HTML body from bodyModel paragraphs #
POST /medium/v1/article_markdown Article markdown body from bodyModel paragraphs #
POST /medium/v1/article_responses Public responses/comments for an article #
POST /medium/v1/publication Publication/collection metadata by slug #
POST /medium/v1/publication_id Resolve publication slug to collection id #
POST /medium/v1/publication_articles A publication's articles, newest first, with deep pagination #
POST /medium/v1/tag Latest posts for a topic tag (the tag/topic feed) #
POST /medium/v1/search_users Look up an author by exact username. #
POST /medium/v1/search_publications Look up a publication by exact slug. #
POST /medium/v1/search_tags Check whether a topic tag exists and is active on Medium (resolves q as a tag… #
POST /medium/v1/followers An author's followers (paginated). Identify the author by 'user' or 'user_id' #
POST /medium/v1/following The authors a user follows (paginated). Identify the user by 'user' or 'user_id' #
POST /medium/v1/list Reading list metadata and articles from public list page HTML. #
POST /medium/v1/search_articles Search Medium articles by keyword — returns matching articles with title, URL… #
POST /pinterest/v1/search_pins Search Pinterest pins by keyword. #
POST /pinterest/v1/search_videos Search Pinterest video pins (Idea Pins / video) by keyword. #
POST /pinterest/v1/search_users Search Pinterest users/creators by keyword. #
POST /pinterest/v1/search_boards Search Pinterest boards by keyword. #
POST /pinterest/v1/suggestions Autocomplete / typeahead search suggestions for a partial query — the dropdown… #
POST /pinterest/v1/pin Full detail for one pin: title, description, image, video, outbound… #
POST /pinterest/v1/pin_comments Public comments & 'Tried it' notes on a pin: text, like/helpful counts… #
POST /pinterest/v1/profile Public profile for a username: name, bio, follower/following/board/pin counts… #
POST /pinterest/v1/user_boards Public boards owned by a username: name, url, description, pin-count, cover… #
POST /pinterest/v1/user_pins Pins created by a username (their feed). Paginate with meta.bookmark #
POST /pinterest/v1/board Board metadata: name, description, pin & follower & section counts, cover… #
POST /pinterest/v1/board_pins Pins inside a board. #
POST /reddit/v1/subreddit_posts Posts in a subreddit, ranked by `sort`. #
POST /reddit/v1/multi_subreddit_posts ONE merged newest-first feed across a whole watchlist of subreddits — pass up… #
POST /reddit/v1/post_comments Threaded comments for a post. Returns author/body/score per comment #
POST /reddit/v1/user User profile or content. #
POST /reddit/v1/subreddit_about Subreddit metadata: subscribers, description, created date, etc #
POST /reddit/v1/communities Search subreddits by name/keyword — find communities matching a term, with each… #
POST /reddit/v1/load_more_comments Expand the collapsed 'more comments' nodes from a post_comments call — pass… #
POST /reddit/v1/subreddit_extras Public subreddit extras: the community's rules and its wiki page index/content. #
POST /snapchat/v1/profile Full public Snapchat profile by username: display name, snapcode, subscriber… #
POST /snapchat/v1/story The account's current public story — the live snaps (image/video media URLs… #
POST /snapchat/v1/highlights The account's saved public highlight stories (curated highlights + Spotlight… #
POST /snapchat/v1/lenses The creator's own public AR lenses listed on their profile: name, preview… #
POST /snapchat/v1/spotlight The public trending Spotlight feed — ~25 popular Spotlight videos with… #
POST /snapchat/v1/spotlight_detail Full metadata for one public Spotlight video by its story id (from a spotlight… #
POST /snapchat/v1/lens_directory Snapchat's public top/trending AR lens directory: the featured lenses plus the… #
POST /snapchat/v1/lens_detail Detail for one public AR lens by its scannable UUID (from a lens result's… #
POST /threads/v1/profile Public Threads profile by username — name, bio, bio links, follower count… #
POST /threads/v1/posts Public posts from a Threads profile (most-recent first). #
POST /threads/v1/replies Public replies from a Threads profile (the Replies tab). #
POST /threads/v1/reposts Posts a Threads user has reposted — the Reposts tab on their profile. #
POST /threads/v1/post Maximally-complete public post detail. #
POST /threads/v1/post_replies The reply conversation for a public post (thread_items). #
POST /threads/v1/followers Account-gated: the followers list requires a logged-in Threads session and is… #
POST /threads/v1/following Account-gated: the following list requires a logged-in Threads session and is… #
POST /threads/v1/likes Account-gated: the list of accounts that liked a post (who-liked) is not… #
POST /tiktok-creative-center/v1/top_ads Top-performing TikTok ads for a market, filterable by region, period, industry… #
POST /tiktok-creative-center/v1/ad_detail Full creative record for one ad: title, brand, CTR, spend, likes, comments… #
POST /tiktok-creative-center/v1/search_ads Keyword search across TikTok's Top-Ads index (region/period scoped), returning… #
POST /tiktok-creative-center/v1/ad_filters The live filter taxonomy used by top_ads: full country (81), industry (258)… #
POST /tiktok-creative-center/v1/query_suggestions Suggested Top-Ads search terms surfaced by TikTok's Creative Center search box. #
POST /tiktok-creative-center/v1/trend_reports Creative-Center trend reports & creative-guidance articles (official TikTok… #
POST /tiktok-creative-center/v1/locations Supported markets for the `region` filter: ISO code + human country name (e.g. #
POST /twitch/v1/channel Full channel/user profile by login: id, display name, description, created-at… #
POST /twitch/v1/stream Live status of a channel: whether it is live right now and, if so, the stream… #
POST /twitch/v1/videos A channel's past broadcasts / VODs (most recent first), up to 100 in one page… #
POST /twitch/v1/clips Top clips of a channel, ranked by views, up to 100 in one page: id, slug… #
POST /twitch/v1/search_channels Search Twitch channels by name/keyword. #
POST /twitch/v1/search_categories Search Twitch games/categories by name. #
POST /twitch/v1/top_games The top games/categories on Twitch right now, ranked by live viewers: id, name… #
POST /twitch/v1/top_streams The top live streams on Twitch right now, ranked by viewers: stream id, title… #
POST /twitch/v1/game Game/category detail by name plus its top live streams: category id, display… #
POST /twitch/v1/schedule A channel's stream schedule: the next upcoming stream (start, title, category)… #
POST /twitch/v1/game_clips Top clips for a whole game/category (site-wide, across all channels), ranked by… #
POST /twitch/v1/game_videos Top past broadcasts / VODs for a whole game/category (site-wide, across all… #
POST /twitch/v1/team A Twitch team profile by name plus its member channels: team id, name, display… #
POST /username-osint/v1/username Find every public account for a username across 3000+ sites (powered by the… #

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/reefapi-social-media-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

reefapi-social-media-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reef Social Media API
  version: 1.0.0
  description: Unified data-API gateway. Call POST /{engine}/v1/{action} with an x-api-key header; every response is the { ok, data, meta, error } envelope.
servers:
- url: https://api.reefapi.com
security:
- ApiKeyAuth: []
tags:
- name: Social Media
paths:
  /bluesky/v1/profile:
    post:
      operationId: bluesky_profile
      summary: 'actor profile: did/handle/displayName/desc/followers/follows/posts…'
      tags:
      - Social Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                actors:
                  type: string
            example:
              actor: bsky.app
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/author_feed:
    post:
      operationId: bluesky_author_feed
      summary: an actor's posts (full record+embed+counts), cursor-paginated…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
                filter:
                  type: string
                cursor:
                  type: string
              required:
              - actor
            example:
              actor: bsky.app
              limit: 30
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/search_actors:
    post:
      operationId: bluesky_search_actors
      summary: search users by name/handle/bio (cursor); typeahead=true for fast suggest
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
                typeahead:
                  type: string
              required:
              - q
            example:
              q: news
              limit: 25
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/thread:
    post:
      operationId: bluesky_thread
      summary: a post + its reply tree (recursive) + parent
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uri:
                  type: string
                depth:
                  type: string
                parent_height:
                  type: string
              required:
              - uri
            example:
              uri: at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l
              depth: 3
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/post_detail:
    post:
      operationId: bluesky_post_detail
      summary: hydrate one or more posts by at:// URI (<=25)…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uris:
                  type: string
              required:
              - uris
            example:
              uris:
              - at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/likes:
    post:
      operationId: bluesky_likes
      summary: actors who liked a post (cursor); cid auto-used if given
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uri:
                  type: string
                cid:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - uri
            example:
              uri: at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l
              cid: bafyreicnt42y6vo6pfpvyro234ac4o6ijug6adwwrh7awflgrqlt4zibxq
              limit: 25
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/reposts:
    post:
      operationId: bluesky_reposts
      summary: actors who reposted a post (cursor)
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uri:
                  type: string
                cid:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - uri
            example:
              uri: at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l
              cid: bafyreicnt42y6vo6pfpvyro234ac4o6ijug6adwwrh7awflgrqlt4zibxq
              limit: 25
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/followers:
    post:
      operationId: bluesky_followers
      summary: actors following the subject (cursor)
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - actor
            example:
              actor: bsky.app
              limit: 50
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/follows:
    post:
      operationId: bluesky_follows
      summary: actors the subject follows (cursor)
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - actor
            example:
              actor: bsky.app
              limit: 10
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/quotes:
    post:
      operationId: bluesky_quotes
      summary: Accounts/posts that QUOTE a given post (quote-posts), cursor-paginated.
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                uri:
                  type: string
                cid:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - uri
            example:
              uri: at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.post/3l6oveex3ii2l
              cid: bafyreicnt42y6vo6pfpvyro234ac4o6ijug6adwwrh7awflgrqlt4zibxq
              limit: 25
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/suggested_follows:
    post:
      operationId: bluesky_suggested_follows
      summary: Accounts suggested from a given account — Bluesky's 'who to follow next' /…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
              required:
              - actor
            example:
              actor: bsky.app
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/lists:
    post:
      operationId: bluesky_lists
      summary: The curated/moderation lists an account CREATED (user-curated lists +…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - actor
            example:
              actor: nytimes.com
              limit: 10
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/list:
    post:
      operationId: bluesky_list
      summary: A single list's metadata plus its MEMBERS (the accounts on the list), members…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                list:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - list
            example:
              list: at://did:plc:eclio37ymobqex2ncko63h4r/app.bsky.graph.list/3lbl2hyzmfy2u
              limit: 20
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/list_feed:
    post:
      operationId: bluesky_list_feed
      summary: The feed of posts authored by the members of a list (a list used as a custom…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                list:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - list
            example:
              list: at://did:plc:eclio37ymobqex2ncko63h4r/app.bsky.graph.list/3lbl2hyzmfy2u
              limit: 15
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/actor_feeds:
    post:
      operationId: bluesky_actor_feeds
      summary: The custom feed generators an account CREATED (its published feeds)…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - actor
            example:
              actor: bsky.app
              limit: 10
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/feed_generator:
    post:
      operationId: bluesky_feed_generator
      summary: One custom feed generator's metadata plus its live online/valid status (is the…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                feed:
                  type: string
              required:
              - feed
            example:
              feed: at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/popular_feeds:
    post:
      operationId: bluesky_popular_feeds
      summary: Discover popular custom feed generators — pass `q` to search feeds by…
      tags:
      - Social Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
            example:
              q: news
              limit: 10
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/get_feed:
    post:
      operationId: bluesky_get_feed
      summary: The posts served BY a custom feed generator (e.g.
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                feed:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - feed
            example:
              feed: at://did:plc:z72i7hdynmk6r22z27h6tvur/app.bsky.feed.generator/whats-hot
              limit: 20
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/starter_packs:
    post:
      operationId: bluesky_starter_packs
      summary: The starter packs an account CREATED (shareable onboarding bundles of accounts…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
              required:
              - actor
            example:
              actor: bsky.app
              limit: 10
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/starter_pack:
    post:
      operationId: bluesky_starter_pack
      summary: 'One starter pack''s full detail: its underlying list, sample member profiles and…'
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                starter_pack:
                  type: string
              required:
              - starter_pack
            example:
              starter_pack: at://did:plc:ragtjsm2j2vknwkz3zp4oxrd/app.bsky.graph.starterpack/3m4j33zq7sz2m
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/search_posts:
    post:
      operationId: bluesky_search_posts
      summary: Search Bluesky posts by keyword or hashtag — filter by sort order, date range…
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                q:
                  type: string
                sort:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
                since:
                  type: string
                until:
                  type: string
                author:
                  type: string
                mentions:
                  type: string
                lang:
                  type: string
                domain:
                  type: string
                url:
                  type: string
                tag:
                  type: string
              required:
              - q
            example:
              q: bluesky
              sort: top
              limit: 25
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/get_actor_likes:
    post:
      operationId: bluesky_get_actor_likes
      summary: posts an actor liked (authed; the AppView serves the authenticated account's…
      tags:
      - Social Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                actor:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
            example:
              limit: 20
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /bluesky/v1/timeline:
    post:
      operationId: bluesky_timeline
      summary: the authenticated account's home timeline (authed)
      tags:
      - Social Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                limit:
                  type: string
                cursor:
                  type: string
                algorithm:
                  type: string
            example:
              limit: 20
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/profile:
    post:
      operationId: instagram_profile
      summary: public profile facts and first-page recent posts
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
              required:
              - username
            example:
              username: nike
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/posts:
    post:
      operationId: instagram_posts
      summary: public profile grid posts, newest first, with max_id pagination
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                limit:
                  type: string
                max_id:
                  type: string
                cursor:
                  type: string
                rich:
                  type: string
              required:
              - username
            example:
              username: nike
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/reels:
    post:
      operationId: instagram_reels
      summary: public profile reels tab, newest first, with max_id pagination
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                limit:
                  type: string
                max_id:
                  type: string
                cursor:
                  type: string
              required:
              - username
            example:
              username: nike
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/similar_accounts:
    post:
      operationId: instagram_similar_accounts
      summary: public related profiles from web_profile_info
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                username:
                  type: string
                limit:
                  type: string
              required:
              - username
            example:
              username: nike
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/search:
    post:
      operationId: instagram_search
      summary: topsearch blended public users, hashtags, and places
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
              required:
              - query
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/users_search:
    post:
      operationId: instagram_users_search
      summary: public user lookup by handle (exact / near-exact match)
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
              required:
              - query
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/hashtag_search:
    post:
      operationId: instagram_hashtag_search
      summary: topsearch public hashtags only
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
              required:
              - query
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/post_info:
    post:
      operationId: instagram_post_info
      summary: maximally-complete public post/reel detail by shortcode (URL) or media_id
      tags:
      - Social Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                shortcode:
                  type: string
                media_id:
                  type: string
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/post_comments:
    post:
      operationId: instagram_post_comments
      summary: public comments for a post/reel by shortcode (URL) or media_id, with CURSOR…
      tags:
      - Social Media
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                shortcode:
                  type: string
                media_id:
                  type: string
                limit:
                  type: string
                cursor:
                  type: string
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /instagram/v1/audio_media:
    post:
      operationId: instagram_audio_media
      summary: public reels feed that use a given audio/music track, with pagination
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                audio_id:
                  type: string
                limit:
                  type: string
                max_id:
                  type: string
                cursor:
                  type: string
              required:
              - audio_id
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or invalid x-api-key
        '429':
          description: Rate limited or quota exhausted
  /medium/v1/user:
    post:
      operationId: medium_user
      summary: Public Medium user profile by username
      tags:
      - Social Media
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  type: string
              required:
              - user
            example:
              user: dhh
      responses:
        '200':
          description: Result envelope
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Envelope'
        '401':
          description: Missing or inv

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