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

# Search API

> Search API

Search API

**Pricing** — billed per successful call; the final charge scales by your plan multiplier. Charged only when the upstream response body `code` is `200`.

<Note>
  Response structure is not yet fully documented — **refer to the actual API response**.
</Note>

## Example

```bash theme={null}
curl "https://api.aisa.one/apis/v1/tikhub/lemon8/app/fetch_search?query=lemon8" \
  -H "Authorization: Bearer YOUR_API_KEY"
```


## OpenAPI

````yaml openapi/tikhub.json GET /tikhub/lemon8/app/fetch_search
openapi: 3.0.0
info:
  title: TikHub API
  description: >-
    Multi-platform social media data — Douyin, TikTok, Bilibili, Kuaishou,
    Weibo, Xiaohongshu, Zhihu, and commercial (Xingtu/Huahuo/Billboard)
    endpoints.
  version: 1.0.0
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - bearerAuth: []
paths:
  /tikhub/lemon8/app/fetch_search:
    get:
      tags:
        - TikHub - Lemon8
      summary: Search API
      description: >-
        Lemon8 (app).


        ### Purpose:

        - Search API

        ### Parameters:

        - query: Search keyword

        - max_cursor: Pagination parameter, can be obtained from the return
        result of the last request. It is empty for the first request, and the
        `max_cursor` returned by the last request is used for subsequent
        requests. You can judge whether there is more data by the `has_more`
        field in the return result.

        - filter_type: Search filter type, default is an empty string, optional
        values are as follows:
            - Empty string: All (default using this parameter to search)
            - video: Search only video
            - posts: Search only posts
        - order_by: Search sort type, default is an empty string, optional
        values are as follows:
            - Empty string: Relevance (default using this parameter to sort)
            - popular: Sort by popularity
            - recent: Sort from new to old
        - search_tab: Search type, default is `main`, optional values are as
        follows:
            - main: Display as `Top` in the APP (comprehensive search, default using this parameter to search)
            - user: Display as `Accounts` in the APP (search user accounts)
            - hashtag: Display as `Hashtags` in the APP (search hashtags)
            - article: Display as `Posts` in the APP (search articles)
        ### Return:

        - Search results
      operationId: get_tikhub_lemon8_app_fetch_search
      parameters:
        - name: query
          in: query
          required: true
          schema:
            type: string
            description: Search keyword
            title: Query
          description: Search keyword
          example: lemon8
        - name: max_cursor
          in: query
          required: false
          schema:
            type: string
            description: >-
              Pagination parameter, can be obtained from the return result of
              the last request. It is empty for the first request, and the
              `max_cursor` returned by the last request is used for subsequent
              requests. You can judge whether there is more data by the
              `has_more` field in the return result.
            default: ''
            title: Max Cursor
          description: >-
            Pagination parameter, can be obtained from the return result of the
            last request. It is empty for the first request, and the
            `max_cursor` returned by the last request is used for subsequent
            requests. You can judge whether there is more data by the `has_more`
            field in the return result.
          example: ''
        - name: filter_type
          in: query
          required: false
          schema:
            type: string
            description: >-
              Search filter type, default is an empty string, optional values
              are as follows:
                  - Empty string: All (default using this parameter to search)
                  - video: Search only video
                  - posts: Search only posts
            default: ''
            title: Filter Type
          description: >-
            Search filter type, default is an empty string, optional values are
            as follows:
                - Empty string: All (default using this parameter to search)
                - video: Search only video
                - posts: Search only posts
          example: ''
        - name: order_by
          in: query
          required: false
          schema:
            type: string
            description: >-
              Search sort type, default is an empty string, optional values are
              as follows:
                  - Empty string: Relevance (default using this parameter to sort)
                  - popular: Sort by popularity
                  - recent: Sort from new to old
            default: ''
            title: Order By
          description: >-
            Search sort type, default is an empty string, optional values are as
            follows:
                - Empty string: Relevance (default using this parameter to sort)
                - popular: Sort by popularity
                - recent: Sort from new to old
          example: ''
        - name: search_tab
          in: query
          required: false
          schema:
            type: string
            description: |-
              Search type, default is `main`, optional values are as follows:
                  - main: Display as `Top` in the APP (comprehensive search, default using this parameter to search)
                  - user: Display as `Accounts` in the APP (search user accounts)
                  - hashtag: Display as `Hashtags` in the APP (search hashtags)
                  - article: Display as `Posts` in the APP (search articles)
            default: main
            title: Search Tab
          description: |-
            Search type, default is `main`, optional values are as follows:
                - main: Display as `Top` in the APP (comprehensive search, default using this parameter to search)
                - user: Display as `Accounts` in the APP (search user accounts)
                - hashtag: Display as `Hashtags` in the APP (search hashtags)
                - article: Display as `Posts` in the APP (search articles)
          example: main
      responses:
        '200':
          description: >-
            Successful response. The outer object follows `ResponseModel`; the
            endpoint-specific payload is in `data`.


            ### Return

            - Search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
components:
  schemas:
    ResponseModel:
      properties:
        code:
          type: integer
          title: Code
          description: HTTP status code
          default: 200
        request_id:
          title: Request Id
          description: Unique request identifier
          nullable: true
          type: string
        message:
          type: string
          title: Message
          description: Response message (EN-US)
          default: Request successful. This request will incur a charge.
        message_zh:
          type: string
          title: Message Zh
          description: Response message (ZH-CN)
          default: 请求成功，本次请求将被计费。
        support:
          type: string
          title: Support
          description: Support message
          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
        time:
          type: string
          title: Time
          description: The time the response was generated
        time_stamp:
          type: integer
          title: Time Stamp
          description: The timestamp the response was generated
        time_zone:
          type: string
          title: Time Zone
          description: The timezone of the response time
          default: America/Los_Angeles
        docs:
          title: Docs
          description: Link to the API Swagger documentation for this endpoint
          nullable: true
          type: string
        cache_message:
          title: Cache Message
          description: Cache message (EN-US)
          default: >-
            This response is cached and accessible via the URL below for 24
            hours at no extra cost. The cache is for request tracing only — it
            doesn't affect the API's data freshness and won't be returned
            through the API again.
          nullable: true
          type: string
        cache_message_zh:
          title: Cache Message Zh
          description: Cache message (ZH-CN)
          default: >-
            本次响应已缓存，可通过下方 URL 直接查看，有效期 24
            小时，访问缓存链接无额外费用。缓存仅用于请求溯源，不影响接口数据的时效性，也不会再次通过接口返回。
          nullable: true
          type: string
        cache_url:
          title: Cache Url
          description: The URL to access the cached result
          nullable: true
          type: string
        router:
          type: string
          title: Router
          description: The endpoint that generated this response
          default: ''
        params:
          title: Params
          description: The parameters used in the request
          default: {}
        data:
          title: Data
          description: >-
            Endpoint-specific response payload. The official shared model does
            not declare a fixed type or field set. Use the operation's
            documented return fields or response example; an operation-specific
            schema, when present, describes the documented fields. Undocumented
            fields must be read from the actual response rather than assumed.
          nullable: true
      type: object
      title: ResponseModel
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: AIsa API key. Get yours at https://aisa.one

````