ToolAssay

Search for TikTok videos by keyword

Search for TikTok videos by keyword.

Answeringour last check, 2026-10-25
1 of 1checks answered this week
246 msmedian answer time
$0.007listed price per call
$0.007price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://x402.apidirect.io/v1/tiktok/videos

CategorySearch and research
Provider hostx402.apidirect.io
Networkseip155:8453
Payment schemesexact, upto
Self-reported calls, 30 days0 from 0 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-25 valid payment request 402$0.007 246 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "query": "cooking",
    "region": "us",
    "sort_by": "relevance"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "method": {
          "enum": [
            "GET",
            "HEAD",
            "DELETE"
          ],
          "type": "string"
        },
        "queryParams": {
          "properties": {
            "get_sentiment": {
              "default": false,
              "description": "Set to true to add AI emotion analysis to each video. Adds a `sentiment` object containing `emotions` (joy, trust, fear, surprise, sadness, disgust, anger and anticipation, each scored 0-100), `dominant_emotion`, `emotional_intensity` (0-10), and `polarity` (positive, negative or neutral). Any video",
              "type": "boolean"
            },
            "pages": {
              "default": 1,
              "description": "Number of pages to fetch and merge (1-10). Each page returns up to 30 videos. Billed per page.",
              "maximum": 10,
              "minimum": 1,
              "type": "integer"
            },
            "publish_time": {
              "default": 0,
              "description": "Filter by publish time in days: 0 = all time, 1 = last day, 7 = last week, 30 = last month, 90 = last 3 months, 180 = last 6 months. Any other number returns 400; a non-numeric value falls back to 0.",
              "enum": [
                0,
                1,
                7,
                30,
                90,
                180
              ],
              "type": "integer"
            },
            "query": {
              "description": "Search query (max 500 characters)",
              "maxLength": 500,
              "type": "string"
            },
            "region": {
              "description": "2-letter region code to filter by (e.g., us, gb, jp, de, fr)",
              "maxLength": 2,
              "minLength": 2,
              "type": "string"
            },
            "sort_by": {
              "default": "relevance",
              "description": "Sort order for results. Any unrecognised value falls back to relevance.",
              "enum": [
                "relevance",
                "most_recent",
                "most_liked"
              ],
              "type": "string"
            }
          },
          "required": [
            "query"
          ],
          "type": "object"
        },
        "type": {
          "const": "http",
          "type": "string"
        }
      },
      "required": [
        "type",
        "method"
      ],
      "type": "object"
    }
  },
  "required": [
    "input"
  ],
  "type": "object"
}

This page as JSON