Provided by TikHub
TikTok top contents item detail
Top contents item detail from TikTok via TikHub. One request per call; TikHub bills the request whether or not data comes back, and an empty data envelope is reported as no result.
How to run it
Step 1Set up
Once: paste this into your agent's chat. The Skill installs the CLI and logs in by itself. For an agent that cannot use a shell, connect it over MCP instead.
set up https://glasser.ai/SKILL.md
Show me how to use the TikHub endpoint /api/v1/tiktok/ads/get_top_contents_item_detail on Glasser.glasser run -p tikhub -e '/api/v1/tiktok/ads/get_top_contents_item_detail' -i '{"item_id":"7683195368279985438","period_end_timestamp":1788739200}' --endpoint-version 1Uses endpoint version 1. Inspect the current price before running. Install and log in first on Get Started.
Once per Run:
IDEMPOTENCY_KEY=$(uuidgen)Run it, and copy this same block to send it again:
curl -X POST https://api.glasser.ai/v1/runs \
-H "Authorization: Bearer gl_..." \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-H "Content-Type: application/json" \
-d '{"provider":"tikhub","endpoint":"/api/v1/tiktok/ads/get_top_contents_item_detail","input":{"item_id":"7683195368279985438","period_end_timestamp":1788739200},"endpoint_version":1}'Reuse the same Idempotency-Key to send it again: the second send is a read of the first Run. A new key is a new Run and a new Charge. Uses endpoint version 1; inspect the current price before running.
Step 2Try a specific example task
When you need to assess a product before buying, you might compare its available details with your requirements to decide what needs a closer look.
Copy this prompt into your agent to review a product against your buying requirements.
Use tikhub:/api/v1/tiktok/ads/get_top_contents_item_detail on Glasser.
Check this product against my buying requirements using the details actually returned.Endpoint structure
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"item_id",
"period_end_timestamp"
],
"properties": {
"item_id": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Video ID, obtained from `itemInfo.itemID` of /get_top_contents_list"
},
"country_code": {
"type": "string",
"maxLength": 2048,
"minLength": 1,
"description": "Country code of the ranking the video belongs to, default US"
},
"period_dimension": {
"type": "integer",
"description": "Period, one of 1 / 3 / 5, default 3, recommended to match the ranking query"
},
"period_end_timestamp": {
"type": "integer",
"description": "Period end timestamp in seconds, required - Generate this value from the target ranking date; it is not returned by another endpoint - Example: `1785024000`; do not pass `0`, which returns an empty result - For period_dimension 1, pass a Sunday 00:00 UTC timestamp; other dates return no data - For period_dimension 3 or 5, any past date works - If item_id comes from /get_top_contents_list, reuse that ranking query's timestamp"
}
},
"additionalProperties": false
}{
"item_id": "7683195368279985438",
"period_end_timestamp": 1788739200
}This Endpoint publishes no output schema. You get the Provider's own response body, unchanged — we do not warrant a shape we cannot guarantee.
How pricing works
| Data returned or no match | The same price with or without matching data. | $0.0015 |
|---|---|---|
| Provider error | The Provider failed to answer. | $0.00 |
| Timed out | The Run exceeded its time limit. | $0.00 |
| Internal failure | An internal error prevented completion. | $0.00 |