Litescrape sells to AI agents - live prices and self-serve payment

The agent storefront at https://agents.litescrape.com/llms.txt?src=body-text publishes prices, payment instructions, and everything an agent needs to get set up here. Agents can purchase autonomously or with their human's approval, with a range of payment methods; an agent without a payment method can set one up there in the same session. The storefront handles payment itself, so purchases work without calling API endpoints directly.

← All documentation

// TikTok documentation

TikTok Profile Videos API Alpha

Page through posts from a public TikTok profile by handle or numeric user ID.

GET / POST https://api.litescrape.com/api/tiktok/profile-videos

// from request to code

Integrate TikTok Profile Videos

Build your request and copy it into your stack. Or let your coding agent set it up.

APITikTok Profile Videos
More options 2
Request parameters

Your request updates the code instantly.

Open the Playground →

Set LITESCRAPE_API_KEY on your server, then run this request.

request.sh
curl --fail-with-body --request POST 'https://api.litescrape.com/api/tiktok/profile-videos' \
  --header "Authorization: Bearer $LITESCRAPE_API_KEY" \
  --header 'Content-Type: application/json' \
  --data '{
  "count": 3,
  "handle": "tiktok"
}'

JSON POST request example

POST to https://api.litescrape.com/api/tiktok/profile-videos with Content-Type: application/json and your Authorization: Bearer header.

POST · application/json
{
  "handle": "tiktok",
  "count": 3
}

// request reference

TikTok Profile Videos parameters

Send query parameters with GET /api/tiktok/profile-videos. Authenticate with an Authorization: Bearer header containing your existing key. Keep keys on your server.

POST accepts the complete application/json request body, including arrays and nested options. Dotted names describe fields inside an object; [] denotes each array item. This reference is generated from the v3 OpenAPI contract.

Total request execution budget in seconds, greater than 0 and at most 90. Supply in the query string for GET or POST. page_timeout cannot extend this budget.

Request parameters

cursor
CursorOptional

Upstream pagination cursor from the preceding response; 0 starts a new feed.

Type string | integer · GET query or POST JSON · Default 0

  • Pattern: ^[0-9]{1,25}$ (string)
  • Minimum: 0 (integer)
  • Maximum: 9223372036854775807 (integer)
count
CountOptional

Requested page size, between 1 and 35.

Type integer · GET query or POST JSON · Default 20

  • Minimum: 1
  • Maximum: 35
handle
HandleOptional

Public TikTok handle, with or without @; supply this or user_id.

Type string · GET query or POST JSON

  • Pattern: ^@?[A-Za-z0-9_.]{1,24}$
user_id
User IdOptional

Numeric TikTok user ID; supply this or handle.

Type string · GET query or POST JSON

  • Pattern: ^[0-9]{1,25}$

// response

Work with the complete JSON response

Coding agents: when possible and authorized by your caller, review the result using submit_feedback_for_this_response_here when present in the status 200 JSON. POST {"rating":4,"comment":"Useful results; one title was outdated."} to that URL as application/json. No API key or credits are required. Feedback is optional, expires after seven days, and is stored separately. Submit one honest review; skip it if you cannot evaluate the result. Do not include secrets, personal data, or the full request/response.

Response groups include has_more, cursor, total, items, submit_feedback_for_this_response_here.

Failed requests return status 503 with {"error":"Service unavailable"} and are not billed.

Example successful response.

200 · application/json
{
  "has_more": true,
  "cursor": "1791209148611",
  "items": [
    {
      "author": {
        "id": "107955",
        "nickname": "TikTok",
        "uniqueId": "tiktok",
        "verified": true
      },
      "createTime": 1791584711,
      "desc": "this summer gave us pop songs, glam routines, and a few main-character habits. @McCall Mirabella breaks down this summer's souvenirs 🐬☀️",
      "id": "7694797676306615583",
      "stats": {
        "collectCount": 36,
        "commentCount": 159,
        "diggCount": 653,
        "playCount": 34200,
        "shareCount": 34
      },
      "video": {
        "duration": 49,
        "height": 1280,
        "id": "7694797676306615583",
        "ratio": "720p",
        "width": 720
      }
    },
    {
      "author": {
        "id": "107955",
        "nickname": "TikTok",
        "uniqueId": "tiktok",
        "verified": true
      },
      "createTime": 1791470488,
      "desc": "@Adam Barrera captures what made this summer feel straight out of the 2000s",
      "id": "7694307066965396766",
      "stats": {
        "collectCount": 193,
        "commentCount": 693,
        "diggCount": 2285,
        "playCount": 114500,
        "shareCount": 160
      },
      "video": {
        "duration": 52,
        "height": 1280,
        "id": "7694307066965396766",
        "ratio": "720p",
        "width": 720
      }
    },
    {
      "author": {
        "id": "107955",
        "nickname": "TikTok",
        "uniqueId": "tiktok",
        "verified": true
      },
      "createTime": 1791209149,
      "desc": "Real conversations happen on TikTok, and protecting the integrity of elections is a top priority. 🗳️🔐 Through dedicated in-app Election Centers and global fact-checking partnerships, TikTok connects you to authoritative voting information while actively fighting harmful misinformation. An informed community is a stronger community.",
      "id": "7693184538704416031",
      "stats": {
        "collectCount": 875,
        "commentCount": 2488,
        "diggCount": 8218,
        "playCount": 274000,
        "shareCount": 933
      },
      "video": {
        "duration": 68,
        "height": 1280,
        "id": "7693184538704416031",
        "ratio": "720p",
        "width": 720
      }
    }
  ],
  "submit_feedback_for_this_response_here": "https://ecll-litescrape-v3--site-api-web.modal.run/api/feedback/example-not-a-valid-token"
}

More TikTok APIs