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

# Social Post Search



## OpenAPI

````yaml openapi.json GET /gateway/v1/search/social/posts
openapi: 3.1.0
info:
  title: Hermod
  version: 0.0.1
servers:
  - url: https://api.asksurf.ai
security: []
paths:
  /gateway/v1/search/social/posts:
    get:
      tags:
        - Search
      summary: Social Post Search
      description: >-
        Searches X (Twitter) posts by keyword or `from:handle` syntax.


        **Included fields:** author, content, engagement metrics, timestamp.


        **Pagination:** check `meta.has_more`; if true, pass `meta.next_cursor`
        as the `cursor` query parameter in the next request.
      operationId: search-social-posts
      parameters:
        - description: >-
            Search keyword or `from:handle` syntax like `ethereum` or
            `from:cz_binance`
          explode: false
          in: query
          name: q
          required: true
          schema:
            description: >-
              Search keyword or `from:handle` syntax like `ethereum` or
              `from:cz_binance`
            examples:
              - ethereum
            type: string
        - description: Results per page
          explode: false
          in: query
          name: limit
          schema:
            default: 20
            description: Results per page
            examples:
              - 20
            format: int64
            maximum: 100
            minimum: 1
            type: integer
        - description: >-
            Opaque cursor token from a previous response's next_cursor field for
            fetching the next page
          explode: false
          in: query
          name: cursor
          schema:
            description: >-
              Opaque cursor token from a previous response's next_cursor field
              for fetching the next page
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CursorDataResponseXTweet'
          description: OK
        default:
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DataAPIError'
          description: Error
      security:
        - AccessToken: []
components:
  schemas:
    CursorDataResponseXTweet:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/CursorDataResponseXTweet.json
          format: uri
          readOnly: true
          type: string
        data:
          items:
            $ref: '#/components/schemas/XTweet'
          type:
            - array
            - 'null'
        meta:
          $ref: '#/components/schemas/CursorMeta'
      required:
        - data
        - meta
      type: object
    DataAPIError:
      additionalProperties: false
      properties:
        $schema:
          description: A URL to the JSON Schema for this object.
          examples:
            - https://example.com/schemas/DataAPIError.json
          format: uri
          readOnly: true
          type: string
        error:
          $ref: '#/components/schemas/DataAPIErrorDetail'
      required:
        - error
      type: object
    XTweet:
      additionalProperties: false
      properties:
        author:
          $ref: '#/components/schemas/XAuthor'
          description: Author of the tweet
        created_at:
          description: Unix timestamp (seconds) when the tweet was posted
          format: int64
          type: integer
        media:
          description: Attached media items (photos, videos, GIFs)
          items:
            $ref: '#/components/schemas/XMedia'
          type:
            - array
            - 'null'
        stats:
          $ref: '#/components/schemas/XStats'
          description: Engagement statistics (likes, reposts, replies, views)
        text:
          description: Full text content of the tweet
          type: string
        tweet_id:
          description: Numeric tweet ID as a string (e.g. '1234567890123456789')
          type: string
        url:
          description: Permanent link to the tweet on X/Twitter
          type: string
      required:
        - tweet_id
        - text
        - url
        - created_at
        - author
        - stats
      type: object
    CursorMeta:
      additionalProperties: false
      properties:
        cached:
          description: Whether this response was served from cache
          type: boolean
        credits_used:
          description: Credits deducted for this request
          format: int64
          type: integer
        has_more:
          description: Whether more items exist beyond the current page.
          type: boolean
        limit:
          description: Maximum number of items returned in this response
          format: int64
          type: integer
        next_cursor:
          description: >-
            Opaque cursor token for fetching the next page. Empty when no more
            pages exist.
          type: string
      required:
        - has_more
        - limit
        - credits_used
        - cached
      type: object
    DataAPIErrorDetail:
      additionalProperties: false
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
      type: object
    XAuthor:
      additionalProperties: false
      properties:
        avatar:
          description: Profile picture URL
          type: string
        handle:
          description: X/Twitter handle without the @ prefix (e.g. 'cz_binance')
          type: string
        name:
          description: Display name on X/Twitter
          type: string
        user_id:
          description: Numeric X/Twitter user ID as a string
          type: string
      required:
        - user_id
        - handle
        - name
      type: object
    XMedia:
      additionalProperties: false
      properties:
        type:
          description: 'Media type: photo, video, or animated_gif'
          type: string
        url:
          description: Direct URL to the media asset
          type: string
      required:
        - type
        - url
      type: object
    XStats:
      additionalProperties: false
      properties:
        likes:
          description: Number of likes (hearts)
          format: int64
          type: integer
        replies:
          description: Number of replies
          format: int64
          type: integer
        reposts:
          description: Number of retweets/reposts
          format: int64
          type: integer
        views:
          description: Total view count
          format: int64
          type: integer
      required:
        - views
        - likes
        - reposts
        - replies
      type: object

````