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

# Generate A-Bogus parameter using API URL

> Generate A-Bogus parameter using API URL, the submitted URL cannot contain the original a_boogus parameter, and the a_bogus parameter is related to the User-Agent in the request header, which needs to be submitted and requested together.

<div className="inline-flex items-center gap-2 px-4 py-2 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg">
  <span className="text-base">🪙</span>
  <span className="text-sm font-medium text-yellow-900 dark:text-yellow-100"><span className="font-semibold">1 credit</span><span className="text-yellow-700 dark:text-yellow-300 ml-1">per request</span></span>
</div>

## Copy for AI

<div className="my-6 rounded-xl border border-gray-200 bg-gray-50 p-5 dark:border-gray-800 dark:bg-gray-900/40">
  <div className="min-w-0">
    <p className="text-base font-semibold text-gray-900 dark:text-gray-100">🤖 Why Code When AI Can Do It For You?</p>
    <p className="mt-1 text-sm text-gray-700 dark:text-gray-300">Stop writing code like it’s 1970! Let AI do the heavy lifting - click the sparkles to copy a perfectly formatted prompt for ChatGPT, Claude, or your favorite AI assistant.</p>
  </div>

  <div className="mt-4">
    <button
      type="button"
      className="inline-flex items-center gap-2 rounded-md border border-emerald-300 bg-emerald-50 px-3 py-2 text-sm font-medium text-emerald-800 hover:bg-emerald-100 dark:border-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-100 dark:hover:bg-emerald-900/50"
      onClick={() => navigator.clipboard.writeText(`I need to call the following KeyAPI endpoint. Please generate a complete and directly runnable Python example based on the API information provided below.

## API Information

Endpoint: POST https://api.keyapi.ai/v1/douyin/web/generate_a_bogus
Summary: Generate A-Bogus parameter using API URL

Required Headers:
- Authorization: Bearer <YOUR_API_KEY>

Parameters:
- None


## Code Requirements

- Use the Python \`requests\` library
- Provide a complete and directly runnable example
- Handle HTTP request errors, timeouts, and non-2xx responses
- Handle JSON parsing errors
- Prefer the Example values provided in the API information for sample parameters
- Keep the code simple and avoid unnecessary abstractions or complexity
`)}
    >
      ✨ Copy for AI
    </button>
  </div>
</div>


## OpenAPI

````yaml en/douyin-web.openapi.json POST /v1/douyin/web/generate_a_bogus
openapi: 3.0.1
info:
  title: Douyin Web API english documentation
  description: English reference documentation for the Douyin Web API.
  version: 1.0.0
servers:
  - url: https://api.keyapi.ai
    description: Production-KeyAPI
security:
  - JWT Bearer: []
tags: []
paths:
  /v1/douyin/web/generate_a_bogus:
    post:
      tags: []
      summary: Generate A-Bogus parameter using API URL
      description: >-
        Generate A-Bogus parameter using API URL, the submitted URL cannot
        contain the original a_boogus parameter, and the a_bogus parameter is
        related to the User-Agent in the request header, which needs to be
        submitted and requested together.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                  description: >-
                    API link, please remove the original a_boogus parameter from
                    the url (if any).
                  example: >-
                    https://www.douyin.com/aweme/v1/web/general/search/single/?device_platform=webapp&aid=6383&channel=channel_pc_web&search_channel=aweme_general&enable_history=1&keyword=%E4%B8%AD%E5%8D%8E%E5%A8%98&search_source=normal_search&query_correct_type=1&is_filter_search=0&from_group_id=7346905902554844468&offset=0&count=15&need_filter_settings=1&pc_client_type=1&version_code=190600&version_name=19.6.0&cookie_enabled=true&screen_width=1280&screen_height=800&browser_language=zh-CN&browser_platform=Win32&browser_name=Firefox&browser_version=124.0&browser_online=true&engine_name=Gecko&engine_version=124.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=&platform=PC&webid=7348962975497324070&msToken=YCTVM6YGmjFdIpQAN9ykXLBXiSiuHdZkOkEQWTeqVOHBEPmOcM0lNwE0Kd9vgHPMPigSndZDHfAq9k-6lDmH3Jqz6mHHxmn-BzQjmLMIfLIPgirgnOixM9x4PwgcNQ%3D%3D
                data:
                  type: string
                  description: >-
                    Request payload, only need to submit in POST request, use an
                    empty string in GET request.
                  example: >-
                    {\"creator_oec_id\": \"7495029460384385115\",
                    \"profile_types\": [2]}
                user_agent:
                  type: string
                  description: >-
                    user-agent, you need to submit the User-Agent in your
                    request header, which is involved in the calculation of the
                    a_bogus parameter.
                  example: >-
                    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
                    (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
                index_0:
                  type: integer
                  description: >-
                    The first value of the encrypted plaintext list, no special
                    requirements, the default is 0, do not modify it at will.
                  default: 0
                index_1:
                  type: integer
                  description: >-
                    The second value of the encrypted plaintext list, no special
                    requirements, the default is 1, do not modify it at will.
                  default: 1
                index_2:
                  type: integer
                  description: >-
                    The third value of the encrypted plaintext list, no special
                    requirements, the default is 14, do not modify it at will.
                  default: 14
              required:
                - url
                - data
                - user_agent
            example:
              url: >-
                https://www.douyin.com/aweme/v1/web/general/search/single/?device_platform=webapp&aid=6383&channel=channel_pc_web&search_channel=aweme_general&enable_history=1&keyword=%E4%B8%AD%E5%8D%8E%E5%A8%98&search_source=normal_search&query_correct_type=1&is_filter_search=0&from_group_id=7346905902554844468&offset=0&count=15&need_filter_settings=1&pc_client_type=1&version_code=190600&version_name=19.6.0&cookie_enabled=true&screen_width=1280&screen_height=800&browser_language=zh-CN&browser_platform=Win32&browser_name=Firefox&browser_version=124.0&browser_online=true&engine_name=Gecko&engine_version=124.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=&platform=PC&webid=7348962975497324070&msToken=YCTVM6YGmjFdIpQAN9ykXLBXiSiuHdZkOkEQWTeqVOHBEPmOcM0lNwE0Kd9vgHPMPigSndZDHfAq9k-6lDmH3Jqz6mHHxmn-BzQjmLMIfLIPgirgnOixM9x4PwgcNQ%3D%3D
              data: '{"creator_oec_id": "7495029460384385115", "profile_types": [2]}'
              user_agent: >-
                Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
                (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
              index_0: 0
              index_1: 1
              index_2: 14
        required: true
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                type: object
                properties: {}
              example:
                code: 0
                message: success
                data:
                  url: >-
                    https://www.douyin.com/aweme/v1/web/general/search/single/?device_platform=webapp&aid=6383&channel=channel_pc_web&search_channel=aweme_general&enable_history=1&keyword=%E4%B8%AD%E5%8D%8E%E5%A8%98&search_source=normal_search&query_correct_type=1&is_filter_search=0&from_group_id=7346905902554844468&offset=0&count=15&need_filter_settings=1&pc_client_type=1&version_code=190600&version_name=19.6.0&cookie_enabled=true&screen_width=1280&screen_height=800&browser_language=zh-CN&browser_platform=Win32&browser_name=Firefox&browser_version=124.0&browser_online=true&engine_name=Gecko&engine_version=124.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=&platform=PC&webid=7348962975497324070&msToken=YCTVM6YGmjFdIpQAN9ykXLBXiSiuHdZkOkEQWTeqVOHBEPmOcM0lNwE0Kd9vgHPMPigSndZDHfAq9k-6lDmH3Jqz6mHHxmn-BzQjmLMIfLIPgirgnOixM9x4PwgcNQ%3D%3D&a_bogus=YvWZMDuDDDDNkfgf54oLfY3q6vZ3Yh4n0SVkMD2f6V3VTg39HMYQ9exoxwTv-mYjFs%2FjIeEjy4hbO3xprQC9MZwf7Wsx%2F2CZsg00t-P2so0j53intL6mE0hN5kb3SFlm5XNAEOJ0y75nFmT0Wo9cmhK4bfebY7Y6i6tr8E%3D%3D
                  a_bogus: >-
                    YvWZMDuDDDDNkfgf54oLfY3q6vZ3Yh4n0SVkMD2f6V3VTg39HMYQ9exoxwTv-mYjFs%2FjIeEjy4hbO3xprQC9MZwf7Wsx%2F2CZsg00t-P2so0j53intL6mE0hN5kb3SFlm5XNAEOJ0y75nFmT0Wo9cmhK4bfebY7Y6i6tr8E%3D%3D
                  user_agent: >-
                    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
                    (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36
                requestId: 2c59c78f-a0fc-4adc-8201-d801a05b8412
          headers: {}
        '400':
          $ref: '#/components/responses/400'
          description: Bad Request
        '401':
          $ref: '#/components/responses/401'
          description: Unauthorized
        '402':
          $ref: '#/components/responses/402'
          description: Payment Required
        '429':
          $ref: '#/components/responses/429'
          description: Too Many Requests
        '500':
          $ref: '#/components/responses/500'
          description: Internal Server Error
      deprecated: false
      security:
        - JWT Bearer: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request POST \
              --url 'https://api.keyapi.ai/v1/douyin/web/generate_a_bogus' \
              --header 'Content-Type: application/json' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
              --data '{"url": "https://www.douyin.com/aweme/v1/web/general/search/single/?device_platform=webapp&aid=6383&channel=channel_pc_web&search_channel=aweme_general&enable_history=1&keyword=%E4%B8%AD%E5%8D%8E%E5%A8%98&search_source=normal_search&query_correct_type=1&is_filter_search=0&from_group_id=7346905902554844468&offset=0&count=15&need_filter_settings=1&pc_client_type=1&version_code=190600&version_name=19.6.0&cookie_enabled=true&screen_width=1280&screen_height=800&browser_language=zh-CN&browser_platform=Win32&browser_name=Firefox&browser_version=124.0&browser_online=true&engine_name=Gecko&engine_version=124.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=&platform=PC&webid=7348962975497324070&msToken=YCTVM6YGmjFdIpQAN9ykXLBXiSiuHdZkOkEQWTeqVOHBEPmOcM0lNwE0Kd9vgHPMPigSndZDHfAq9k-6lDmH3Jqz6mHHxmn-BzQjmLMIfLIPgirgnOixM9x4PwgcNQ%3D%3D", "data": "{\"creator_oec_id\": \"7495029460384385115\", \"profile_types\": [2]}", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36", "index_0": 0, "index_1": 1, "index_2": 14}'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.post(
                'https://api.keyapi.ai/v1/douyin/web/generate_a_bogus',
                json={"url": "https://www.douyin.com/aweme/v1/web/general/search/single/?device_platform=webapp&aid=6383&channel=channel_pc_web&search_channel=aweme_general&enable_history=1&keyword=%E4%B8%AD%E5%8D%8E%E5%A8%98&search_source=normal_search&query_correct_type=1&is_filter_search=0&from_group_id=7346905902554844468&offset=0&count=15&need_filter_settings=1&pc_client_type=1&version_code=190600&version_name=19.6.0&cookie_enabled=true&screen_width=1280&screen_height=800&browser_language=zh-CN&browser_platform=Win32&browser_name=Firefox&browser_version=124.0&browser_online=true&engine_name=Gecko&engine_version=124.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=&platform=PC&webid=7348962975497324070&msToken=YCTVM6YGmjFdIpQAN9ykXLBXiSiuHdZkOkEQWTeqVOHBEPmOcM0lNwE0Kd9vgHPMPigSndZDHfAq9k-6lDmH3Jqz6mHHxmn-BzQjmLMIfLIPgirgnOixM9x4PwgcNQ%3D%3D", "data": "{\"creator_oec_id\": \"7495029460384385115\", \"profile_types\": [2]}", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36", "index_0": 0, "index_1": 1, "index_2": 14},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const response = await
            fetch('https://api.keyapi.ai/v1/douyin/web/generate_a_bogus', {
              method: 'POST',
              headers: {
                'Authorization': 'Bearer <YOUR_API_KEY>',
                'Content-Type': 'application/json'
              },
              body: JSON.stringify({"url": "https://www.douyin.com/aweme/v1/web/general/search/single/?device_platform=webapp&aid=6383&channel=channel_pc_web&search_channel=aweme_general&enable_history=1&keyword=%E4%B8%AD%E5%8D%8E%E5%A8%98&search_source=normal_search&query_correct_type=1&is_filter_search=0&from_group_id=7346905902554844468&offset=0&count=15&need_filter_settings=1&pc_client_type=1&version_code=190600&version_name=19.6.0&cookie_enabled=true&screen_width=1280&screen_height=800&browser_language=zh-CN&browser_platform=Win32&browser_name=Firefox&browser_version=124.0&browser_online=true&engine_name=Gecko&engine_version=124.0&os_name=Windows&os_version=10&cpu_core_num=16&device_memory=&platform=PC&webid=7348962975497324070&msToken=YCTVM6YGmjFdIpQAN9ykXLBXiSiuHdZkOkEQWTeqVOHBEPmOcM0lNwE0Kd9vgHPMPigSndZDHfAq9k-6lDmH3Jqz6mHHxmn-BzQjmLMIfLIPgirgnOixM9x4PwgcNQ%3D%3D", "data": "{\"creator_oec_id\": \"7495029460384385115\", \"profile_types\": [2]}", "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36", "index_0": 0, "index_1": 1, "index_2": 14})
            });

            const data = await response.json();

            console.log(data);
components:
  responses:
    '400':
      description: Bad Request
      content:
        application/json:
          schema:
            type: object
            example:
              code: 400
              data: null
              message: 'Missing required parameter: handle'
    '401':
      description: Unauthorized
      content:
        application/json:
          schema:
            type: object
            example:
              code: 401
              data: null
              message: apiKey is null
    '402':
      description: Payment Required
      content:
        application/json:
          schema:
            type: object
            example:
              code: 402
              data: null
              message: apiKey quota is not enough
    '429':
      description: Too Many Requests
      content:
        application/json:
          schema:
            type: object
            example:
              code: 429
              data: null
              message: qps limit exceeded
    '500':
      description: Internal Server Error
      content:
        application/json:
          schema:
            type: object
            example:
              code: 500
              data: null
              message: Internal server error
  securitySchemes:
    JWT Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |-
        API key for authentication. Format: `sk_live_xxxxxxxxxxxxx`
        Get your API key from the [Dashboard](http://keyapi.ai/app/dashboard).

````