> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sociavault.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search Hashtag Posts

> Find public Instagram posts and reels for a hashtag. This endpoint discovers Google-indexed content and then reads the public Instagram pages, so it works without Instagram's login-gated search and relies only on publicly available data.

<Note>💳 **1 credit** per request</Note>


## OpenAPI

````yaml GET /v1/scrape/instagram/search/hashtag
openapi: 3.1.0
info:
  title: SociaVault API
  version: 1.0.0
  description: >-
    # SociaVault API Documentation


    The SociaVault API provides comprehensive access to social media data
    extraction across multiple platforms.


    ## Features


    - **Multi-Platform Support**: TikTok, Instagram, YouTube, Facebook, Twitter,
    Reddit, Threads, and more

    - **Credit-Based System**: Pay-as-you-go pricing with transparent credit
    costs

    - **High Performance**: Fast, reliable data extraction

    - **Comprehensive Data**: Detailed user profiles, videos, posts, comments,
    and analytics


    ## Authentication


    All API requests require authentication using an API key in the `X-API-Key`
    header:


    ```bash

    X-API-Key: sk_live_your_api_key_here

    ```


    Get your API key from the [SociaVault
    Dashboard](https://sociavault.com/dashboard).


    ## Credits


    Each endpoint consumes credits based on data complexity:

    - Simple requests (profiles): 1 credit

    - Complex requests (demographics): 20+ credits

    - Paginated requests: Credits per page


    Check your credit balance in the dashboard or via the API.


    ## Support


    - **Documentation**: https://docs.sociavault.com

    - **Email**: support@sociavault.com

    - **Discord**: https://discord.gg/sociavault
  contact:
    name: SociaVault Support
    email: support@sociavault.com
    url: https://sociavault.com/support
  license:
    name: Commercial
    url: https://sociavault.com/terms
servers:
  - url: https://api.sociavault.com
    description: Production API
security:
  - ApiKeyAuth: []
tags:
  - name: account
    description: Account management and credit balance
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/account
  - name: tiktok
    description: Scrape TikTok profiles, videos, and more
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/tiktok
  - name: tiktok-shop
    description: Everything about TikTok Shop
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/tiktok-shop
  - name: instagram
    description: Gets Instagram profiles, posts, and reels
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/instagram
  - name: youtube
    description: Scrape YouTube channels, videos, and more
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/youtube
  - name: linkedin
    description: Scrape LinkedIn
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/linkedin
  - name: facebook
    description: Get public Facebook profiles and posts
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/facebook
  - name: facebookAdLibrary
    description: Scrapes the Facebook (Meta) Ad Library
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/facebookAdLibrary
  - name: facebookMarketplace
    description: Search Facebook Marketplace and pull full listing details
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/facebookMarketplace
  - name: googleAdLibrary
    description: >-
      Scrape the Google Ad Transparency Library. *This only gets the public ads.
      Some ads you need to log in for and sadly we can't get those. Also, since
      there are so many variations, the return types might not all be 100% the
      same.
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/googleAdLibrary
  - name: linkedinAdLibrary
    description: Search the LinkedIn Ad Library
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/linkedinAdLibrary
  - name: twitter
    description: Get Twitter profiles, tweets, followers and more
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/twitter
  - name: reddit
    description: Scrape Reddit posts and comments
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/reddit
  - name: threads
    description: Get Threads posts
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/threads
  - name: google
    description: Scrape Google search results
    externalDocs:
      description: Learn more
      url: https://docs.sociavault.com/platforms/google
paths:
  /v1/scrape/instagram/search/hashtag:
    get:
      tags:
        - instagram
      summary: Search Hashtag Posts
      description: >-
        Find public Instagram posts and reels for a hashtag. This endpoint
        discovers Google-indexed content and then reads the public Instagram
        pages, so it works without Instagram's login-gated search and relies
        only on publicly available data.
      operationId: instagram_SearchHashtag
      parameters:
        - name: hashtag
          in: query
          description: 'The hashtag to search for. The # is optional.'
          required: true
          schema:
            type: string
            example: makeup
        - name: date_posted
          in: query
          description: Only return posts Google indexed within this recent window.
          required: false
          schema:
            type: string
            enum:
              - last-hour
              - last-day
              - last-week
              - last-month
              - last-year
            example: last-week
        - name: media_type
          in: query
          description: >-
            Use `all` to search public posts and reels, or `reels` to return
            only reels. Defaults to `all`.
          required: false
          schema:
            type: string
            enum:
              - all
              - reels
            default: all
            example: all
        - name: cursor
          in: query
          description: >-
            Cursor from the previous response. Here it is the next Google
            results page number.
          required: false
          schema:
            type: string
            example: '2'
      responses:
        '200':
          description: >-
            Successful response


            **Key Response Fields:**

            - `data.hashtag`: The hashtag that was searched

            - `data.media_type`: Media-type filter applied (`all` or `reels`)

            - `data.posts`: Matched posts/reels, keyed by index (`"0"`, `"1"`,
            ...)

            - `data.posts[0].shortcode`: The post/reel shortcode

            - `data.posts[0].url`: Direct Instagram URL to the post or reel

            - `data.posts[0].caption`: Caption text (includes hashtags)

            - `data.posts[0].is_video`: Whether the item is a video/reel

            - `data.posts[0].product_type`: Content type (e.g. `clips` for
            reels)

            - `data.posts[0].display_url`: Full-size image/thumbnail URL

            - `data.posts[0].video_url`: Direct video file URL (videos only)

            - `data.posts[0].video_view_count`: View count (videos only)

            - `data.posts[0].video_play_count`: Play count (videos only)

            - `data.posts[0].like_count`: Number of likes

            - `data.posts[0].comment_count`: Number of comments

            - `data.posts[0].taken_at`: ISO timestamp of when it was posted

            - `data.posts[0].owner.username`: Author's Instagram username

            - `data.posts[0].owner.follower_count`: Author's follower count

            - `data.posts[0].owner.is_verified`: Whether the author is verified

            - `data.posts[0].clips_music_attribution_info.song_name`: Audio/song
            name (reels)

            - `data.posts[0].comments[0].text`: Text of an attached top-level
            comment

            - `data.cursor`: Next Google results page number — pass to the
            `cursor` parameter to fetch more
          content:
            application/json:
              example:
                success: true
                data:
                  success: true
                  hashtag: football
                  media_type: all
                  posts:
                    '0':
                      id: '3935303022056391819'
                      __typename: XDTGraphVideo
                      shortcode: DadAT-ZMUSL
                      url: https://www.instagram.com/reel/DadAT-ZMUSL/
                      caption: |-
                        ⚽️❤️‍🩹

                        #danibantai #football #explorepage #trending #lrva
                      thumbnail_src: >-
                        https://scontent-mia3-2.cdninstagram.com/v/t51.82787-15/736289400_18608832160010607_2224580029648266756_n.jpg?stp=c0.280.720.720a_dst-jpg_e15_s640x640_tt6&_nc_ht=scontent-mia3-2.cdninstagram.com&_nc_cat=103&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=5Feexk_kENMQ7kNvwHp3wlC&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQDiH5CV7_6u5FvBzv86EzsjWbNiwvM2uGQIIazYVZzzRA&oe=6A55C6FF&_nc_sid=c6f216
                      display_url: >-
                        https://scontent-mia3-2.cdninstagram.com/v/t51.82787-15/736289400_18608832160010607_2224580029648266756_n.jpg?stp=dst-jpg_e15_tt6&_nc_ht=scontent-mia3-2.cdninstagram.com&_nc_cat=103&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=5Feexk_kENMQ7kNvwHp3wlC&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQCIcSoEf4I4PA3CoYPKm9ew6V8X7j6ij53S7xiaXrPmVg&oe=6A55C6FF&_nc_sid=c6f216
                      video_url: >-
                        https://scontent-mia5-1.cdninstagram.com/o1/v/t2/f2/m86/AQNP21Wv7NHQpBCtllLMu_BgrVMKXKt9IMd2Vwu85-l2rIVgyOxXSWfQVWeKS-7OiWyULTnK4xrZWkUqy706zXitma6FiXKmE5ZeEiU.mp4?_nc_cat=101&_nc_sid=5e9851&_nc_ht=scontent-mia5-1.cdninstagram.com&_nc_ohc=M4ikL8Yvk8gQ7kNvwFgDCPE&efg=eyJ2ZW5jb2RlX3RhZyI6Inhwdl9wcm9ncmVzc2l2ZS5JTlNUQUdSQU0uQ0xJUFMuQzMuNzIwLmRhc2hfYmFzZWxpbmVfMV92MSIsInhwdl9hc3NldF9pZCI6MTAwNzQ1MjcyNTM1MTIxOCwiYXNzZXRfYWdlX2RheXMiOjMsInZpX3VzZWNhc2VfaWQiOjEwODI3LCJkdXJhdGlvbl9zIjoxMiwidXJsZ2VuX3NvdXJjZSI6Ind3dyJ9&ccb=17-1&vs=c3755ff93241848&_nc_vs=HBksFQIYUmlnX3hwdl9yZWVsc19wZXJtYW5lbnRfc3JfcHJvZC8xMDQzNzE4OEM1QUREM0Q1QzJEOTQ1OTBCODcyRTc5Ql92aWRlb19kYXNoaW5pdC5tcDQVAALIARIAFQIYUWlnX3hwdl9wbGFjZW1lbnRfcGVybWFuZW50X3YyLzhENEQ4NEQzNzlENDI2MzAxQUQ5NjkzQTg5NTc2QkE3X2F1ZGlvX2Rhc2hpbml0Lm1wNBUCAsgBEgAoABgAGwKIB3VzZV9vaWwBMRJwcm9ncmVzc2l2ZV9yZWNpcGUBMRUAACbkzJTdu5HKAxUCKAJDMywXQChU_fO2RaIYEmRhc2hfYmFzZWxpbmVfMV92MREAdf4HZZapAQA&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&_nc_zt=28&_nc_ss=7a22e&oh=00_AQBXTJTN3uMTyNkuGMSidTwKlaIEYqDryq2rB_q1oXwcHg&oe=6A51B552
                      has_audio: true
                      accessibility_caption: null
                      video_view_count: 98748
                      video_play_count: 230155
                      product_type: clips
                      video_duration: 12.166
                      clips_music_attribution_info:
                        artist_name: Akhil Sachdeva
                        song_name: O Sanam
                        uses_original_audio: false
                        should_mute_audio: false
                        should_mute_audio_reason: ''
                        audio_id: '3079041445721970'
                      is_video: true
                      owner:
                        id: '495690606'
                        username: ameyranawade04
                        is_verified: true
                        profile_pic_url: >-
                          https://scontent-mia3-2.cdninstagram.com/v/t51.82787-19/629440957_18564258094010607_5740497760132182682_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia3-2.cdninstagram.com&_nc_cat=103&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=exjT_KjxXD4Q7kNvwG2h2pO&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQCMy4sQp5s2pA1MMTSofLPdKNtctfYbGOIocHq3yozVyQ&oe=6A55B6FF&_nc_sid=c6f216
                        full_name: Amey Ranawade
                        is_private: false
                        is_unpublished: false
                        follower_count: 118495
                        post_count: 852
                      taken_at: '2026-07-06T13:42:44.000Z'
                      is_ad: false
                      like_count: 18962
                      is_affiliate: false
                      is_paid_partnership: false
                      location: null
                      comment_count: 38
                      comments:
                        '0':
                          id: '18204402619358155'
                          text: That 1st foul was so Argentinian🙌
                          owner:
                            id: '6062796267'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia5-1.cdninstagram.com/v/t51.2885-19/484918795_431978763307250_4929062029165462220_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia5-1.cdninstagram.com&_nc_cat=102&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=oW5CxxLqWWYQ7kNvwFuMOoV&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQDKWNJm42Msq9A0-JFhcZCk-ockzzVuMKYGMO9ispqEMw&oe=6A559C38&_nc_sid=c6f216
                            username: milind.latare
                          like_count: 0
                          created_at: '2026-07-09T11:42:32.000Z'
                        '1':
                          id: '18087265439131695'
                          text: 🙌🏻🙌🏻
                          owner:
                            id: '39084676275'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia3-3.cdninstagram.com/v/t51.82787-19/705350180_18074738291300276_2342142674726240914_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia3-3.cdninstagram.com&_nc_cat=108&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=Zvpe2TZxnx8Q7kNvwGo-5fr&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQAfco3fsme5ihrCtw2DZ2TPUC02D-qKxYI8W3dagGuMmw&oe=6A55A18B&_nc_sid=c6f216
                            username: shashwat_pandey_0711
                          like_count: 0
                          created_at: '2026-07-08T19:44:08.000Z'
                        '2':
                          id: '17895977205537654'
                          text: It's called love ⚽❤️
                          owner:
                            id: '47617707587'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia5-1.cdninstagram.com/v/t51.82787-19/728195977_18099961895587588_5216428696161209257_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia5-1.cdninstagram.com&_nc_cat=104&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=WH6P3FV3g2YQ7kNvwGsi9P5&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQDqdmq6_xU3_RZg9-PeIIaRHHexYEsnhfQqWjEg5H67kg&oe=6A55ABEE&_nc_sid=c6f216
                            username: biswa._.04
                          like_count: 0
                          created_at: '2026-07-08T05:27:46.000Z'
                        '3':
                          id: '17962635606130413'
                          text: '@ig_deewinezzz big respect 👌'
                          owner:
                            id: '45265502792'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia3-3.cdninstagram.com/v/t51.82787-19/685186182_18112158830510793_8627847005199676948_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDc4LmMyIn0&_nc_ht=scontent-mia3-3.cdninstagram.com&_nc_cat=109&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=yAc2ok4qHpsQ7kNvwG3GIaK&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQB_8HRYlUIVFBUxdWs0kDgoc0BNT5nKcYA6cBESCIGM_g&oe=6A55CFFD&_nc_sid=c6f216
                            username: _aho.na_
                          like_count: 1
                          created_at: '2026-07-07T18:06:38.000Z'
                        '4':
                          id: '18122547034745370'
                          text: >-
                            @ameyranawade04 next time hamare socks pehne ke
                            khelna !!
                          owner:
                            id: '53344006244'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia3-3.cdninstagram.com/v/t51.2885-19/505465210_18004181531782245_5433120968243122643_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia3-3.cdninstagram.com&_nc_cat=109&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=rO5dr60_Z0cQ7kNvwFQu6VI&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQBcUVMUWBk6EE5Si00U4mZht4pyj9Il6jHM_QYJSv7rdA&oe=6A55BE15&_nc_sid=c6f216
                            username: builtsports
                          like_count: 0
                          created_at: '2026-07-07T08:37:23.000Z'
                        '5':
                          id: '18330769519281865'
                          text: Nr bhagat turf 🔥 nerul @ameyranawade04
                          owner:
                            id: '17118499217'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia3-3.cdninstagram.com/v/t51.2885-19/501211327_18097233136571218_7726353765871354695_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia3-3.cdninstagram.com&_nc_cat=110&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=bg-SuSmhP_EQ7kNvwGyeVBW&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQDwXmIDJx6YV72A9dTlvnwkVPu9_G9uPvCkh7ngMZdnYA&oe=6A55BEBD&_nc_sid=c6f216
                            username: akkuuwwhh
                          like_count: 0
                          created_at: '2026-07-06T21:14:25.000Z'
                        '6':
                          id: '18091430426070743'
                          text: ❤️🙌🔥
                          owner:
                            id: '7301336087'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia3-3.cdninstagram.com/v/t51.82787-19/718980657_18359882983240088_5322397187404780374_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby45MzcuYzIifQ&_nc_ht=scontent-mia3-3.cdninstagram.com&_nc_cat=108&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=FkfydEvi1LIQ7kNvwHI-2vA&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQCy3tk9UpW0bYpLX3HCn16AuHfJABahfxzJs74J_3UyOg&oe=6A55D1CE&_nc_sid=c6f216
                            username: _sam_jr_10_
                          like_count: 0
                          created_at: '2026-07-06T20:09:06.000Z'
                        '7':
                          id: '18126748975653770'
                          text: '@abhishekambekar11 da😍🔥'
                          owner:
                            id: '3097787551'
                            is_verified: false
                            profile_pic_url: >-
                              https://scontent-mia5-1.cdninstagram.com/v/t51.82787-19/672344419_18464978692099552_628876818623022143_n.jpg?stp=dst-jpg_s150x150_tt6&efg=eyJ2ZW5jb2RlX3RhZyI6InByb2ZpbGVfcGljLmRqYW5nby4xMDgwLmMyIn0&_nc_ht=scontent-mia5-1.cdninstagram.com&_nc_cat=104&_nc_oc=Q6cZ2gFtM4-C85MCaNDVX7Ssq4bBjO45ZP73LAu47mAEow23Dcwz3WYXSXuriqPoUchay9c&_nc_ohc=l9xIp3fnxh8Q7kNvwHEU-LJ&_nc_gid=8R0IzetFZNp2wVRD8ZPjPg&edm=ADp7STQBAAAA&ccb=7-5&oh=00_AQBaOoJM6Y8z9oQE1fRZJ5fGJyJHuTuwwesmqnDR_p3_jw&oe=6A559D0B&_nc_sid=c6f216
                            username: sahil_salvi_8e
                          like_count: 0
                          created_at: '2026-07-06T18:37:54.000Z'
                  cursor: '2'
                credits_used: 1
                endpoint: instagram/search/hashtag
        '400':
          description: Bad Request - Invalid parameters or missing required fields
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: 'Hashtag is required (the # is optional)'
                  endpoint:
                    type: string
                  credits_required:
                    type: integer
                required:
                  - error
        '401':
          description: Unauthorized - Invalid or missing API key
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Invalid API key
                  docs:
                    type: string
                    example: https://docs.sociavault.com/authentication
                required:
                  - error
        '402':
          description: Payment Required - Insufficient credits
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Insufficient credits
                  required:
                    type: integer
                    example: 1
                    description: Credits required for this request
                  available:
                    type: integer
                    example: 0
                    description: Credits currently available
                required:
                  - error
                  - required
                  - available
        '500':
          description: Internal Server Error - Service configuration or processing error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Service configuration error
                required:
                  - error
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: |-
        API key for authentication. Format: `sk_live_xxxxxxxxxxxxx`

        Get your API key from the [Dashboard](https://sociavault.com/dashboard).

````