Skip to content
Eden Engine

TikTok Photo Post Search by Keyword (First 20 Results)

omnial/tiktok-photo-search

Searches TikTok photo posts (image carousels) for a keyword and returns the first 20 results. Each post comes with its ID, caption, creation time, the author's ID, handle and verification flag, play, like, comment, share and save counts, its hashtags, and the width and height of each image in the carousel. Image links are not returned.

activeper callv1

Price

Up to $0.00205 per call; you pay what the call used

The price shown is the price you pay. No monthly minimum. Top-ups start at $5.

Data source

TikTok

Data from TikTok.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/tiktok-photo-search" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/tiktok-photo-search" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/tiktok-photo-search", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/tiktok-photo-search", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00205
Updated
Oct 14, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "keyword"
  ],
  "properties": {
    "count": {
      "enum": [
        20
      ],
      "type": "integer",
      "default": 20,
      "description": "How many posts to return; only 20, the one tested, is offered."
    },
    "offset": {
      "enum": [
        0
      ],
      "type": "integer",
      "default": 0,
      "description": "Where the results start; only 0, the first page, is offered."
    },
    "keyword": {
      "type": "string",
      "minLength": 1,
      "description": "The search term, in plain words."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "item_list": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Post ID."
          },
          "desc": {
            "type": "string",
            "description": "The caption, with its hashtags."
          },
          "stats": {
            "type": "object",
            "properties": {
              "diggCount": {
                "type": "number",
                "description": "Likes."
              },
              "playCount": {
                "type": "number"
              },
              "shareCount": {
                "type": "number"
              },
              "collectCount": {
                "type": "number",
                "description": "Saves."
              },
              "commentCount": {
                "type": "number"
              }
            },
            "description": "Engagement counts, which may be rounded."
          },
          "author": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The author's user ID."
              },
              "uniqueId": {
                "type": "string",
                "description": "The author's handle."
              },
              "verified": {
                "type": "boolean",
                "description": "Whether the account is verified."
              }
            }
          },
          "imagePost": {
            "type": "object",
            "properties": {
              "images": {
                "type": "array",
                "items": {
                  "type": "object",
                  "properties": {
                    "imageWidth": {
                      "type": "number"
                    },
                    "imageHeight": {
                      "type": "number"
                    }
                  }
                },
                "description": "One entry per image in the carousel."
              }
            }
          },
          "challenges": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "Hashtag ID."
                },
                "title": {
                  "type": "string",
                  "description": "Hashtag text, without the #."
                }
              }
            },
            "description": "The hashtags on the post."
          },
          "createTime": {
            "type": "number",
            "description": "When it was posted, Unix seconds."
          }
        }
      },
      "description": "The matching photo posts, in result order."
    },
    "status_code": {
      "type": "number",
      "description": "0 on success."
    }
  },
  "description": "Photo posts matching the keyword."
}