> ## 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.

# Get the guest Cookie of Douyin Web

> Get the guest Cookie of Douyin Web
- Can be used to crawl data of Douyin Web, such as user videos, mix videos, etc.
- Can fix identity to avoid duplicate data for some interfaces.
- Please note: Guest Cookie cannot crawl all data, there are certain restrictions.
- Can be used with open source projects to implement data crawling of Douyin Web using this interface.

<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">2 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: GET https://api.keyapi.ai/v1/douyin/web/fetch_douyin_web_guest_cookie
Summary: Get the guest Cookie of Douyin Web

Required Headers:
- Authorization: Bearer <YOUR_API_KEY>

Parameters:
- user_agent (Required): User browser agent. Example: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36


## 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 GET /v1/douyin/web/fetch_douyin_web_guest_cookie
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/fetch_douyin_web_guest_cookie:
    get:
      tags: []
      summary: Get the guest Cookie of Douyin Web
      description: >-
        Get the guest Cookie of Douyin Web

        - Can be used to crawl data of Douyin Web, such as user videos, mix
        videos, etc.

        - Can fix identity to avoid duplicate data for some interfaces.

        - Please note: Guest Cookie cannot crawl all data, there are certain
        restrictions.

        - Can be used with open source projects to implement data crawling of
        Douyin Web using this interface.
      parameters:
        - name: user_agent
          in: query
          description: User browser agent
          required: true
          example: >-
            Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,
            like Gecko) Chrome/90.0.4430.212 Safari/537.36
          schema:
            type: string
            example: >-
              Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
              (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
      responses:
        '200':
          description: Request successful
          content:
            application/json:
              schema:
                type: object
                properties: {}
              example:
                code: 0
                message: success
                data:
                  User-Agent: >-
                    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36
                    (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36
                  Cookie: >-
                    odin_tt=641ad4ddcb23674f21815a1b01ce32bc3d6766028d067c45b27ba3e4c2a59f16;passport_fe_beating_status=false;sid_guard=9724037396b3d5fe08a3920a48c624fa%7C1787542760%7C21600%7CMon%2C+24-Aug-2026+09%3A39%3A20+GMT;uid_tt=a833d55047de4b43e6c8a907db00fcd9;uid_tt_ss=a833d55047de4b43e6c8a907db00fcd9;sid_tt=9724037396b3d5fe08a3920a48c624fa;sessionid=9724037396b3d5fe08a3920a48c624fa;sessionid_ss=9724037396b3d5fe08a3920a48c624fa;session_tlb_tag=sttt%7C8%7ClyQDc5az1f4Io5IKSMYk-v________-5bA1EZKd6VOhUCCyzyEX8Z6tlTENcxsy0SsPZ8kaSs_c%3D;is_staff_user=false;sid_ucp_v1=1.0.0-KDEwZTJlZDk1NTVlMjdjZDczZTY2NjA2ZWY4YWZmMThhNGVhOGViYTcKCBDo-a7UBhgNGgJscSIgOTcyNDAzNzM5NmIzZDVmZTA4YTM5MjBhNDhjNjI0ZmE;ssid_ucp_v1=1.0.0-KDEwZTJlZDk1NTVlMjdjZDczZTY2NjA2ZWY4YWZmMThhNGVhOGViYTcKCBDo-a7UBhgNGgJscSIgOTcyNDAzNzM5NmIzZDVmZTA4YTM5MjBhNDhjNjI0ZmE;passport_assist_user=;ttwid=1%7CUl3kVnv_7i_jaq3-K5r03Yrfg0dhA4cPSFnWT-2uDuw%7C1787542761%7C9c340f5636b04f41402e35d58adf6e1e41ce6dacc2a47e661e60f7db6d1fb304;
                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:
        - basicAuth: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.keyapi.ai/v1/douyin/web/fetch_douyin_web_guest_cookie?user_agent=Mozilla/5.0%20%28Windows%20NT%2010.0%3B%20Win64%3B%20x64%29%20AppleWebKit/537.36%20%28KHTML%2C%20like%20Gecko%29%20Chrome/90.0.4430.212%20Safari/537.36' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/v1/douyin/web/fetch_douyin_web_guest_cookie',
                params={"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"user_agent": "Mozilla/5.0
            (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)
            Chrome/90.0.4430.212 Safari/537.36"});


            const response = await
            fetch(`https://api.keyapi.ai/v1/douyin/web/fetch_douyin_web_guest_cookie?${params}`,
            {
              method: 'GET',
              headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
            });

            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).

````