[{"data":1,"prerenderedAt":1078},["ShallowReactive",2],{"blog-\u002Fblog\u002Fwire-up-tiktok-trend-tracking":3,"blog-related-\u002Fblog\u002Fwire-up-tiktok-trend-tracking":806},{"id":4,"title":5,"author":6,"body":7,"category":790,"cover":791,"description":792,"draft":793,"extension":794,"image":790,"launchCta":790,"listingCover":790,"meta":795,"navigation":446,"ogImage":790,"path":796,"publishedAt":797,"readTime":790,"seo":798,"stem":799,"tags":800,"toolCategory":790,"updatedAt":790,"__hash__":805},"blogUnlisted\u002Fblog\u002Fwire-up-tiktok-trend-tracking.md","How to Track TikTok Trends on a Schedule With Monid","The Monid Team",{"type":8,"value":9,"toc":773},"minimark",[10,23,39,44,102,106,109,155,159,164,173,183,191,195,201,209,213,216,248,260,264,275,326,333,337,347,386,392,396,399,514,529,533,536,603,610,617,621,624,657,663,667,670,694,698,714,721,725,740,746,758,769],[11,12,13,14,18,19,22],"p",{},"To track TikTok trends before they peak, run a keyword search sorted by most likes and filtered to the last week, then diff the results against what you have already logged. That one query shape, ",[15,16,17],"code",{},"sort_type=1"," plus ",[15,20,21],{},"publish_time=7",", is what turns a flat keyword search into a \"what is breaking out right now\" feed, and a scheduled re-run is what surfaces a rising sound or product early instead of after everyone else already posted about it.",[11,24,25,32,33,38],{},[26,27,31],"a",{"href":28,"rel":29},"https:\u002F\u002Fmonid.ai",[30],"nofollow","Monid"," is a pay-per-call data API marketplace: one key and one wallet reach hundreds of external data endpoints, and you pay only when a run succeeds. The TikTok search endpoint you need is already in the catalog, so this build is a query, a seen-set, and a schedule line. The provider here is ",[26,34,37],{"href":35,"rel":36},"https:\u002F\u002Ftikhub.io",[30],"TikHub",", and every video pull is billed per call at a fraction of a cent.",[40,41,43],"h2",{"id":42},"tldr","TL;DR",[45,46,47,59,80,83,99],"ul",{},[48,49,50,51,54,55,58],"li",{},"Endpoint: ",[15,52,53],{},"tikhub"," ",[15,56,57],{},"\u002Fapi\u002Fv1\u002Ftiktok\u002Fapp\u002Fv3\u002Ffetch_video_search_result",", which returns ranked videos for a search term.",[48,60,61,62,64,65,67,68,71,72,75,76,79],{},"Pin two query params to get a breakout feed: ",[15,63,17],{}," (most likes) and ",[15,66,21],{}," (last week). Add ",[15,69,70],{},"count",", ",[15,73,74],{},"offset",", and ",[15,77,78],{},"region"," to control depth and market.",[48,81,82],{},"Keep a set of video ids you have already seen. Each run, diff the fresh ids against that set and keep only the new high-like videos.",[48,84,85,88,89,92,93,98],{},[15,86,87],{},"monid inspect"," is free. Only ",[15,90,91],{},"monid run"," bills, per call, so cost is the number of pulls you take, not the number of videos returned. Live rate on ",[26,94,97],{"href":95,"rel":96},"https:\u002F\u002Fmonid.ai\u002Ftools",[30],"monid.ai\u002Ftools",".",[48,100,101],{},"Wrap the pull, the diff, and the append in a script, then hand it to cron or Task Scheduler on the cadence you want.",[40,103,105],{"id":104},"what-makes-a-search-into-a-breakout-feed","What makes a search into a breakout feed",[11,107,108],{},"A raw keyword search on TikTok returns whatever the platform thinks is most relevant, which skews toward big evergreen accounts and last year's viral clips. That is the wrong signal for trend tracking. Two query params fix it.",[11,110,111,114,115,118,119,122,123,126,127,129,130,132,133,136,137,140,141,144,145,148,149,151,152,154],{},[15,112,113],{},"sort_type"," controls ordering: ",[15,116,117],{},"0"," is relatedness (the noisy default), ",[15,120,121],{},"1"," is most likes. ",[15,124,125],{},"publish_time"," bounds recency: ",[15,128,117],{}," is unlimited, ",[15,131,121],{}," is the last day, ",[15,134,135],{},"7"," the last week, ",[15,138,139],{},"30"," the last month, and ",[15,142,143],{},"90"," or ",[15,146,147],{},"180"," for wider windows. Set ",[15,150,17],{}," and ",[15,153,21],{}," together and you are asking a precise question: which recently posted videos for this term already pulled the most engagement? A clip that racked up heavy likes in the past seven days is, by definition, something breaking out now. That pairing is the whole trick, and the rest of this recipe is plumbing around it.",[40,156,158],{"id":157},"set-up-monid-once","Set up Monid once",[160,161,163],"h3",{"id":162},"for-agents","For agents",[11,165,166,167,172],{},"Grab an API key at ",[26,168,171],{"href":169,"rel":170},"https:\u002F\u002Fapp.monid.ai\u002F",[30],"app.monid.ai",", then paste this to your agent and hand it the key:",[174,175,180],"pre",{"className":176,"code":178,"language":179},[177],"language-text","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md\n","text",[15,181,178],{"__ignoreMap":182},"",[11,184,185,186,98],{},"It learns the whole discover, inspect, run workflow itself. More details in the ",[26,187,190],{"href":188,"rel":189},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-skill",[30],"agent quickstart",[160,192,194],{"id":193},"for-humans","For humans",[174,196,199],{"className":197,"code":198,"language":179},[177],"npm install -g @monid-ai\u002Fcli\nmonid keys add --label main --key \u003Cyour-api-key>\n",[15,200,198],{"__ignoreMap":182},[11,202,203,204,98],{},"More details in the ",[26,205,208],{"href":206,"rel":207},"https:\u002F\u002Fmonid.ai\u002Fdocs\u002Fguide\u002Fquickstart-cli",[30],"CLI quickstart",[40,210,212],{"id":211},"step-1-read-the-schema-before-you-spend","Step 1: Read the schema before you spend",[11,214,215],{},"Inspect is free and shows the accepted query params, their defaults, the output shape, and the current price. Read it once so you know the exact field where video ids live before you start diffing.",[174,217,221],{"className":218,"code":219,"language":220,"meta":182,"style":182},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","monid inspect -p tikhub -e \u002Fapi\u002Fv1\u002Ftiktok\u002Fapp\u002Fv3\u002Ffetch_video_search_result\n","bash",[15,222,223],{"__ignoreMap":182},[224,225,228,232,236,239,242,245],"span",{"class":226,"line":227},"line",1,[224,229,231],{"class":230},"sBMFI","monid",[224,233,235],{"class":234},"sfazB"," inspect",[224,237,238],{"class":234}," -p",[224,240,241],{"class":234}," tikhub",[224,243,244],{"class":234}," -e",[224,246,247],{"class":234}," \u002Fapi\u002Fv1\u002Ftiktok\u002Fapp\u002Fv3\u002Ffetch_video_search_result\n",[11,249,250,251,254,255,151,257,259],{},"Confirm three things from the output: ",[15,252,253],{},"keyword"," is the only required field, ordering and recency are the ",[15,256,113],{},[15,258,125],{}," query params, and pricing is per call rather than per video. Note the path to the results array and the id field, because the dedupe step in Step 4 keys off exactly those.",[40,261,263],{"id":262},"step-2-pull-the-top-videos-for-a-term","Step 2: Pull the top videos for a term",[11,265,266,267,270,271,274],{},"This is the only step that bills. Because these are query parameters, pass them with ",[15,268,269],{},"--query",". The ",[15,272,273],{},"-w"," flag waits inline so the finished result comes straight back.",[174,276,278],{"className":218,"code":277,"language":220,"meta":182,"style":182},"# top videos for a term, sorted by most likes, from the last week\nmonid run -p tikhub -e \u002Fapi\u002Fv1\u002Ftiktok\u002Fapp\u002Fv3\u002Ffetch_video_search_result \\\n  --query '{\"keyword\":\"stanley cup\",\"sort_type\":1,\"publish_time\":7,\"count\":20,\"region\":\"US\"}' -w\n",[15,279,280,286,307],{"__ignoreMap":182},[224,281,282],{"class":226,"line":227},[224,283,285],{"class":284},"sHwdD","# top videos for a term, sorted by most likes, from the last week\n",[224,287,289,291,294,296,298,300,303],{"class":226,"line":288},2,[224,290,231],{"class":230},[224,292,293],{"class":234}," run",[224,295,238],{"class":234},[224,297,241],{"class":234},[224,299,244],{"class":234},[224,301,302],{"class":234}," \u002Fapi\u002Fv1\u002Ftiktok\u002Fapp\u002Fv3\u002Ffetch_video_search_result",[224,304,306],{"class":305},"sTEyZ"," \\\n",[224,308,310,313,317,320,323],{"class":226,"line":309},3,[224,311,312],{"class":234},"  --query",[224,314,316],{"class":315},"sMK4o"," '",[224,318,319],{"class":234},"{\"keyword\":\"stanley cup\",\"sort_type\":1,\"publish_time\":7,\"count\":20,\"region\":\"US\"}",[224,321,322],{"class":315},"'",[224,324,325],{"class":234}," -w\n",[11,327,328,329,332],{},"That returns the current breakout candidates for \"stanley cup\" in the US market. To capture the payload for the diff step, redirect stdout to a file, for example append ",[15,330,331],{},"> latest.json"," to the command.",[40,334,336],{"id":335},"step-3-page-deeper-or-widen-the-window","Step 3: Page deeper or widen the window",[11,338,339,340,342,343,346],{},"Twenty results is the top of the list. If a term moves fast and you want more coverage, page with ",[15,341,74],{},". If a term is quiet and the last week returns thin, widen to ",[15,344,345],{},"publish_time=30"," for a monthly view.",[174,348,350],{"className":218,"code":349,"language":220,"meta":182,"style":182},"# page deeper with offset, or widen the window with publish_time\nmonid run -p tikhub -e \u002Fapi\u002Fv1\u002Ftiktok\u002Fapp\u002Fv3\u002Ffetch_video_search_result \\\n  --query '{\"keyword\":\"stanley cup\",\"sort_type\":1,\"publish_time\":30,\"count\":20,\"offset\":20,\"region\":\"US\"}' -w\n",[15,351,352,357,373],{"__ignoreMap":182},[224,353,354],{"class":226,"line":227},[224,355,356],{"class":284},"# page deeper with offset, or widen the window with publish_time\n",[224,358,359,361,363,365,367,369,371],{"class":226,"line":288},[224,360,231],{"class":230},[224,362,293],{"class":234},[224,364,238],{"class":234},[224,366,241],{"class":234},[224,368,244],{"class":234},[224,370,302],{"class":234},[224,372,306],{"class":305},[224,374,375,377,379,382,384],{"class":226,"line":309},[224,376,312],{"class":234},[224,378,316],{"class":315},[224,380,381],{"class":234},"{\"keyword\":\"stanley cup\",\"sort_type\":1,\"publish_time\":30,\"count\":20,\"offset\":20,\"region\":\"US\"}",[224,383,322],{"class":315},[224,385,325],{"class":234},[11,387,388,389,391],{},"Keep ",[15,390,17],{}," fixed across both calls. The moment you loosen the sort or the window, you stop asking \"what is breaking out\" and start asking \"what is broadly popular,\" which is a different and much noisier question.",[40,393,395],{"id":394},"step-4-dedupe-against-what-you-have-already-seen","Step 4: Dedupe against what you have already seen",[11,397,398],{},"A single pull is a leaderboard. The value is in the delta between pulls. Keep one file of video ids you have already logged, and each run reduces to a set difference. Pull the ids from the latest payload (use the id path you confirmed in Step 1), then compare.",[174,400,402],{"className":218,"code":401,"language":220,"meta":182,"style":182},"# extract video ids from the latest pull\njq -r '.aweme_list[]?.aweme_id' latest.json | sort -u > ids-now.txt\n\n# new ids are the ones not already in seen.txt\ncomm -13 seen.txt ids-now.txt > new-ids.txt\n\n# fold the new ids into the seen set for the next run\ncat new-ids.txt >> seen.txt && sort -u seen.txt -o seen.txt\n",[15,403,404,409,442,448,454,474,479,485],{"__ignoreMap":182},[224,405,406],{"class":226,"line":227},[224,407,408],{"class":284},"# extract video ids from the latest pull\n",[224,410,411,414,417,419,422,424,427,430,433,436,439],{"class":226,"line":288},[224,412,413],{"class":230},"jq",[224,415,416],{"class":234}," -r",[224,418,316],{"class":315},[224,420,421],{"class":234},".aweme_list[]?.aweme_id",[224,423,322],{"class":315},[224,425,426],{"class":234}," latest.json",[224,428,429],{"class":315}," |",[224,431,432],{"class":230}," sort",[224,434,435],{"class":234}," -u",[224,437,438],{"class":315}," >",[224,440,441],{"class":234}," ids-now.txt\n",[224,443,444],{"class":226,"line":309},[224,445,447],{"emptyLinePlaceholder":446},true,"\n",[224,449,451],{"class":226,"line":450},4,[224,452,453],{"class":284},"# new ids are the ones not already in seen.txt\n",[224,455,457,460,463,466,469,471],{"class":226,"line":456},5,[224,458,459],{"class":230},"comm",[224,461,462],{"class":234}," -13",[224,464,465],{"class":234}," seen.txt",[224,467,468],{"class":234}," ids-now.txt",[224,470,438],{"class":315},[224,472,473],{"class":234}," new-ids.txt\n",[224,475,477],{"class":226,"line":476},6,[224,478,447],{"emptyLinePlaceholder":446},[224,480,482],{"class":226,"line":481},7,[224,483,484],{"class":284},"# fold the new ids into the seen set for the next run\n",[224,486,488,491,494,497,499,502,504,506,508,511],{"class":226,"line":487},8,[224,489,490],{"class":230},"cat",[224,492,493],{"class":234}," new-ids.txt",[224,495,496],{"class":315}," >>",[224,498,465],{"class":234},[224,500,501],{"class":315}," &&",[224,503,432],{"class":230},[224,505,435],{"class":234},[224,507,465],{"class":234},[224,509,510],{"class":234}," -o",[224,512,513],{"class":234}," seen.txt\n",[11,515,516,517,520,521,524,525,528],{},"If your inspect output showed the array under a different key or the id under a different field, change those two references and the logic holds. ",[15,518,519],{},"comm -13"," prints only lines present in the fresh pull and absent from ",[15,522,523],{},"seen.txt",", so ",[15,526,527],{},"new-ids.txt"," is exactly the breakouts you have not seen before.",[40,530,532],{"id":531},"step-5-keep-the-new-breakouts-with-their-numbers","Step 5: Keep the new breakouts with their numbers",[11,534,535],{},"Ids alone are not actionable. Join the new ids back to the payload so each alert carries the like count and the caption, then you can sort the batch and push only the strongest.",[174,537,539],{"className":218,"code":538,"language":220,"meta":182,"style":182},"jq --rawfile ids new-ids.txt '\n  ($ids | split(\"\\n\") | map(select(length > 0))) as $new\n  | [ .aweme_list[]?\n      | select(.aweme_id as $id | $new | index($id))\n      | { id: .aweme_id,\n          likes: .statistics.digg_count,\n          desc: .desc } ]\n  | sort_by(-.likes)\n' latest.json > breakouts.json\n",[15,540,541,556,561,566,571,576,581,586,591],{"__ignoreMap":182},[224,542,543,545,548,551,553],{"class":226,"line":227},[224,544,413],{"class":230},[224,546,547],{"class":234}," --rawfile",[224,549,550],{"class":234}," ids",[224,552,493],{"class":234},[224,554,555],{"class":315}," '\n",[224,557,558],{"class":226,"line":288},[224,559,560],{"class":234},"  ($ids | split(\"\\n\") | map(select(length > 0))) as $new\n",[224,562,563],{"class":226,"line":309},[224,564,565],{"class":234},"  | [ .aweme_list[]?\n",[224,567,568],{"class":226,"line":450},[224,569,570],{"class":234},"      | select(.aweme_id as $id | $new | index($id))\n",[224,572,573],{"class":226,"line":456},[224,574,575],{"class":234},"      | { id: .aweme_id,\n",[224,577,578],{"class":226,"line":476},[224,579,580],{"class":234},"          likes: .statistics.digg_count,\n",[224,582,583],{"class":226,"line":481},[224,584,585],{"class":234},"          desc: .desc } ]\n",[224,587,588],{"class":226,"line":487},[224,589,590],{"class":234},"  | sort_by(-.likes)\n",[224,592,594,596,598,600],{"class":226,"line":593},9,[224,595,322],{"class":315},[224,597,426],{"class":234},[224,599,438],{"class":315},[224,601,602],{"class":234}," breakouts.json\n",[11,604,605,606,609],{},"That leaves ",[15,607,608],{},"breakouts.json"," holding only new videos for the term, ranked by likes. Route it wherever you want: a Slack webhook, a daily digest, or an append to a running log so you can look back at what surfaced each day.",[11,611,612],{},[613,614],"img",{"alt":615,"src":616},"A monitoring loop: a term runs a likes-sorted last-7-days search, the results are deduped against a seen set, new breakouts are kept and alerted, and a schedule fires the next run","\u002Fimg\u002Fblog\u002Fwire-up-tiktok-trend-tracking-fig-monitor-loop.png",[40,618,620],{"id":619},"step-6-run-it-on-a-schedule","Step 6: Run it on a schedule",[11,622,623],{},"Wrap Steps 2 through 5 in one script that takes a term as its argument, and hand it to cron or Windows Task Scheduler. A daily run catches most product and sound trends early; a term you care about a lot can run every few hours.",[174,625,627],{"className":218,"code":626,"language":220,"meta":182,"style":182},"0 *\u002F6 * * * \u002Fpath\u002Fto\u002Ftrack-term.sh \"stanley cup\"\n",[15,628,629],{"__ignoreMap":182},[224,630,631,633,636,639,641,643,645,648,651,654],{"class":226,"line":227},[224,632,117],{"class":230},[224,634,635],{"class":305}," *",[224,637,638],{"class":234},"\u002F6",[224,640,635],{"class":305},[224,642,635],{"class":305},[224,644,635],{"class":305},[224,646,647],{"class":234}," \u002Fpath\u002Fto\u002Ftrack-term.sh",[224,649,650],{"class":315}," \"",[224,652,653],{"class":234},"stanley cup",[224,655,656],{"class":315},"\"\n",[11,658,659,660,662],{},"To watch several terms, add a line per term, each with its own ",[15,661,523],{},". Because billing is per call, the cost of the whole tracker is just terms multiplied by pages multiplied by runs per day, which stays easy to predict as you add more.",[40,664,666],{"id":665},"the-honest-limit","The honest limit",[11,668,669],{},"This reads TikTok's public search ranking, not a private trends API. It reflects what the platform surfaces for a term, which is powerful for early signal but is not a sanctioned trends dataset. A few things to keep honest:",[45,671,672,680,685],{},[48,673,674,675,151,677,679],{},"A broad term is noisy. Pin ",[15,676,113],{},[15,678,125],{}," tightly, and prefer specific terms (a product name, a sound title) over generic ones (a single common word).",[48,681,682,684],{},[15,683,78],{}," matters. A trend breaking in the US may not show for another market, so run the same term across the regions you serve rather than assuming one covers all.",[48,686,687,688,693],{},"If you need TikTok's officially sanctioned trend data, that route is the ",[26,689,692],{"href":690,"rel":691},"https:\u002F\u002Fdevelopers.tiktok.com\u002Fproducts\u002Fresearch-api\u002F",[30],"TikTok Research API",", which is approval-gated and limited to eligible researchers. This recipe is the pragmatic alternative when you want a standing tracker today without that gate.",[40,695,697],{"id":696},"cost-tally","Cost tally",[45,699,700,705,708,711],{},[48,701,702,704],{},[15,703,87],{},": free, so schema reading and field confirmation cost nothing.",[48,706,707],{},"One video pull: per call, a fraction of a cent, regardless of how many videos come back.",[48,709,710],{},"One term, four runs a day: single-digit calls daily, cents for the month.",[48,712,713],{},"Ten terms, every six hours, two pages each: still lands in single-digit dollars for a full month of standing coverage.",[11,715,716,717,720],{},"Per-call billing is why a scheduled tracker stays cheap: widening to more terms or a tighter cadence scales linearly and predictably. These magnitudes are a starting point, not a quote. Check the live rate on ",[26,718,97],{"href":95,"rel":719},[30]," before you widen.",[40,722,724],{"id":723},"faq","FAQ",[11,726,727,731,732,151,734,736,737,98],{},[728,729,730],"strong",{},"How do I track TikTok trends without the official Research API?","\nRun a keyword search through Monid on the TikHub endpoint with ",[15,733,17],{},[15,735,21],{},", dedupe the video ids against a seen-set, and re-run on a schedule. That gives you an early breakout feed for any term without the approval gate on the ",[26,738,692],{"href":690,"rel":739},[30],[11,741,742,745],{},[728,743,744],{},"Why sort by most likes and filter to the last week?","\nBecause a video that gathered heavy likes in the past seven days is, by definition, something rising now. Relatedness sorting and unlimited recency surface evergreen popularity instead, which is the wrong signal for spotting what is breaking out.",[11,747,748,751,752,754,755,98],{},[728,749,750],{},"How is this billed on Monid?","\nInspect is free. Only ",[15,753,91],{}," bills, and it is charged per call, so one pull of the top videos for a term is one flat charge no matter how many videos return. Live pricing is on ",[26,756,97],{"href":95,"rel":757},[30],[11,759,760,763,764,98],{},[728,761,762],{},"Can an agent run the whole loop by itself?","\nYes. Monid ships as an MCP server, so an agent handed \"track TikTok breakouts for stanley cup every six hours\" can inspect the schema, run the search, and dedupe the results on its own. Point it at ",[26,765,768],{"href":766,"rel":767},"https:\u002F\u002Fmonid.ai\u002FSKILL.md",[30],"monid.ai\u002FSKILL.md",[770,771,772],"style",{},"html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":182,"searchDepth":288,"depth":288,"links":774},[775,776,777,781,782,783,784,785,786,787,788,789],{"id":42,"depth":288,"text":43},{"id":104,"depth":288,"text":105},{"id":157,"depth":288,"text":158,"children":778},[779,780],{"id":162,"depth":309,"text":163},{"id":193,"depth":309,"text":194},{"id":211,"depth":288,"text":212},{"id":262,"depth":288,"text":263},{"id":335,"depth":288,"text":336},{"id":394,"depth":288,"text":395},{"id":531,"depth":288,"text":532},{"id":619,"depth":288,"text":620},{"id":665,"depth":288,"text":666},{"id":696,"depth":288,"text":697},{"id":723,"depth":288,"text":724},null,"\u002Fimg\u002Fblog\u002Fwire-up-tiktok-trend-tracking.png","Track TikTok trends by watching a keyword, sorting rising videos by likes from the last week, deduping against what you have seen, and re-running on a schedule.",false,"md",{},"\u002Fblog\u002Fwire-up-tiktok-trend-tracking","2026-08-05",{"title":5,"description":792},"blog\u002Fwire-up-tiktok-trend-tracking",[801,802,803,804],"tiktok","trends","social","agents","VsnYxXVKd2HwztYysremXr_nlBn66PlVvuyP3ngZtuE",[807,868,939,1005],{"id":808,"title":809,"author":790,"body":810,"category":790,"cover":854,"description":182,"draft":793,"extension":794,"image":790,"launchCta":855,"listingCover":790,"meta":858,"navigation":446,"ogImage":790,"path":859,"publishedAt":860,"readTime":790,"seo":861,"stem":862,"tags":863,"toolCategory":790,"updatedAt":790,"__hash__":867},"blog\u002Fblog\u002Fakta-pro-is-now-available-on-monid.md","Introducing private markets\ndata for agents",{"type":8,"value":811,"toc":850},[812,816,824,827,831,837,844,847],[40,813,815],{"id":814},"what-is-aktapro","What is akta.pro",[11,817,818,823],{},[26,819,822],{"href":820,"rel":821},"https:\u002F\u002Fwww.akta.pro\u002F",[30],"akta.pro"," is a private company data and signals API for\nAI agents. Company Database covers 20M+ companies with 75+ structured fields\neach. News Signals delivers deduplicated, entity-resolved company news,\nindustry news, and signals on open-ended topics, all scored for impact and\nsentiment.",[11,825,826],{},"Private-company research is usually scattered across databases, news feeds,\nreview sites, and web search. akta.pro turns that into structured API calls, so\nan agent gets the right company context and keeps moving.",[40,828,830],{"id":829},"what-is-monid","What is Monid",[11,832,833,836],{},[26,834,31],{"href":28,"rel":835},[30]," is the tool layer for agents. It lets agents connect\nto all the tools and APIs they need, without managing signups, API keys, or\nsubscriptions.",[11,838,839,840,98],{},"Today, Monid provides tools for social media scraping, web search, image and\nmusic generation, people data search, weather APIs, ",[26,841,843],{"href":95,"rel":842},[30],"and more",[845,846],"hr",{},[11,848,849],{},"On Monid, akta.pro becomes available as part of that same layer. Your agent can\nrequest private-company context, call akta.pro through Monid, receive structured\nmarket data, and continue the task. Private markets research should feel like\nany other tool call: describe the company or sector, get the signal, keep\nbuilding.",{"title":182,"searchDepth":288,"depth":288,"links":851},[852,853],{"id":814,"depth":288,"text":815},{"id":829,"depth":288,"text":830},"\u002Fimg\u002Fblog\u002Fakta-pro-is-now-available-on-monid-v2.png",{"label":856,"command":857},"Give your agent this line to get started.","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use akta.pro to research recent news, company enrichment, and alternative signals for Databricks",{},"\u002Fblog\u002Fakta-pro-is-now-available-on-monid","2026-07-07",{"title":809,"description":182},"blog\u002Fakta-pro-is-now-available-on-monid",[804,864,865,866],"partner-tools","private-markets","data","05ST9oH9qSQ4_vNxcczvHDEyev2JDIqBwMiM-zelWJo",{"id":869,"title":870,"author":790,"body":871,"category":790,"cover":928,"description":929,"draft":793,"extension":794,"image":790,"launchCta":790,"listingCover":790,"meta":930,"navigation":446,"ogImage":790,"path":931,"publishedAt":932,"readTime":790,"seo":933,"stem":934,"tags":935,"toolCategory":790,"updatedAt":790,"__hash__":938},"blog\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.md","Your Claude Code can now make phone calls",{"type":8,"value":872,"toc":924},[873,877,888,892,900,903,905,910,916,918,921],[11,874,876],{"style":875},"font-size:18px !important;line-height:1.65 !important;margin:0 0 24px;color:inherit;","Copy this line to your agent to make your first phone call.",[174,878,882],{"className":879,"code":880,"language":881,"meta":182,"style":182},"language-sh shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and use Saperly to call my phone number to confirm the connection works\n","sh",[15,883,884],{"__ignoreMap":182},[224,885,886],{"class":226,"line":227},[224,887,880],{},[40,889,891],{"id":890},"what-is-saperly","What is Saperly",[11,893,894,899],{},[26,895,898],{"href":896,"rel":897},"https:\u002F\u002Fsaperly.com\u002F",[30],"Saperly"," is phone infrastructure for AI agents. It gives\nan agent a real phone number with voice, SMS, routing, spend controls, and\ncompliance built in, without making the builder manage carrier accounts or\ntelephony paperwork.",[11,901,902],{},"Your agent can confirm an appointment, follow up on a lead, check availability,\nor route a conversation without leaving the workflow it is already running.",[40,904,830],{"id":829},[11,906,907,836],{},[26,908,31],{"href":28,"rel":909},[30],[11,911,912,913,98],{},"Today, Monid provides tools for social media scraping, web search, image \u002F\nmusic \u002F 3d model generation, people data search, weather APIs, ",[26,914,843],{"href":95,"rel":915},[30],[845,917],{},[11,919,920],{},"On Monid, Saperly becomes available as part of that same layer. Your agent can\nrequest a phone call, use Saperly through Monid, receive the result, and keep\ngoing. Calling should feel like any other tool call: describe the outcome, let\nthe agent handle the phone work, and continue the task.",[770,922,923],{},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":182,"searchDepth":288,"depth":288,"links":925},[926,927],{"id":890,"depth":288,"text":891},{"id":829,"depth":288,"text":830},"\u002Fimg\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls.png","Saperly is now available on Monid. Your agent can now make phone calls for you.",{},"\u002Fblog\u002Fyour-claude-code-can-now-make-phone-calls","2026-07-05",{"title":870,"description":929},"blog\u002Fyour-claude-code-can-now-make-phone-calls",[804,864,936,937],"voice","phone","Wp96EVH5j2eyHDSu2f5Rtv0RYmyWX7frAhalel9fOus",{"id":940,"title":941,"author":790,"body":942,"category":790,"cover":994,"description":995,"draft":793,"extension":794,"image":790,"launchCta":790,"listingCover":790,"meta":996,"navigation":446,"ogImage":790,"path":997,"publishedAt":998,"readTime":790,"seo":999,"stem":1000,"tags":1001,"toolCategory":790,"updatedAt":790,"__hash__":1004},"blog\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.md","Introducing\nClaude for 3D models",{"type":8,"value":943,"toc":990},[944,947,956,960,968,971,973,978,983,985,988],[11,945,946],{"style":875},"Copy this line to your agent to generate your 3D model.",[174,948,950],{"className":879,"code":949,"language":881,"meta":182,"style":182},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a 3D model for a rabbit\n",[15,951,952],{"__ignoreMap":182},[224,953,954],{"class":226,"line":227},[224,955,949],{},[40,957,959],{"id":958},"what-is-suzanne","What is Suzanne",[11,961,962,967],{},[26,963,966],{"href":964,"rel":965},"https:\u002F\u002Fwww.suzanne3d.com",[30],"Suzanne"," is an AI-native 3D modeling tool that turns a prompt into a\nusable 3D asset. Instead of opening a modeling tool, blocking out forms,\nadding details, and exporting by hand, you describe what you want and let\nSuzanne generate the model for you.",[11,969,970],{},"That changes who can create 3D objects. Product teams can prototype visual\nideas faster. Game builders can rough out props and characters without\nwaiting on a full art pass. Agents can generate assets as part of a larger\nworkflow, then hand those files to downstream tools for rendering, testing,\nor iteration.",[40,972,830],{"id":829},[11,974,975,836],{},[26,976,31],{"href":28,"rel":977},[30],[11,979,839,980,98],{},[26,981,843],{"href":95,"rel":982},[30],[845,984],{},[11,986,987],{},"On Monid, Suzanne becomes available as part of that same layer. Your agent can\nask for the 3D asset it needs, call Suzanne through Monid, and continue the task.\n3D creation should feel as direct as text generation: describe the thing, get\nthe artifact, keep building.",[770,989,923],{},{"title":182,"searchDepth":288,"depth":288,"links":991},[992,993],{"id":958,"depth":288,"text":959},{"id":829,"depth":288,"text":830},"\u002Fimg\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models.png","Suzanne is now available on Monid. Turn any idea into a production-ready 3D model in one prompt.",{},"\u002Fblog\u002Fintroducing-suzanne-chatgpt-for-3d-models","2026-06-25",{"title":941,"description":995},"blog\u002Fintroducing-suzanne-chatgpt-for-3d-models",[1002,804,1003],"3d","creative-tools","Mz475YlhLBgR80gyiTlL2MhfALZKYwbl4Rfwy96HZG0",{"id":1006,"title":1007,"author":790,"body":1008,"category":790,"cover":1067,"description":1068,"draft":793,"extension":794,"image":790,"launchCta":790,"listingCover":790,"meta":1069,"navigation":446,"ogImage":790,"path":1070,"publishedAt":1071,"readTime":790,"seo":1072,"stem":1073,"tags":1074,"toolCategory":790,"updatedAt":790,"__hash__":1077},"blog\u002Fblog\u002Fminimax-is-now-available-on-monid.md","MiniMax is now available on Monid",{"type":8,"value":1009,"toc":1062},[1010,1013,1022,1026,1034,1038,1041,1043,1049,1055,1057,1060],[11,1011,1012],{"style":875},"Copy this line to your agent to create music.",[174,1014,1016],{"className":879,"code":1015,"language":881,"meta":182,"style":182},"set up https:\u002F\u002Fmonid.ai\u002FSKILL.md and create a song with MiniMax Music 2.6\n",[15,1017,1018],{"__ignoreMap":182},[224,1019,1020],{"class":226,"line":227},[224,1021,1015],{},[40,1023,1025],{"id":1024},"minimax-music-26","MiniMax Music 2.6",[11,1027,1028,1033],{},[26,1029,1032],{"href":1030,"rel":1031},"https:\u002F\u002Fwww.minimax.io",[30],"MiniMax"," Music 2.6 turns a prompt into music your agent can use right away. Describe the style, mood, lyrics, or use case, and generate a track inside the same workflow.",[40,1035,1037],{"id":1036},"minimax-text-to-image-image-01","MiniMax Text-to-Image image-01",[11,1039,1040],{},"MiniMax image-01 turns text prompts into images. Ask for a concept, scene, product visual, or creative asset, and let your agent generate it through Monid.",[40,1042,830],{"id":829},[11,1044,1045,1048],{},[26,1046,31],{"href":28,"rel":1047},[30]," is the tool layer for agents. It lets agents connect to all the tools and APIs they need, without managing signups, API keys, or subscriptions.",[11,1050,1051,1052,98],{},"Today, Monid provides tools for social media scraping, web search, image and music generation, people data search, weather APIs, ",[26,1053,843],{"href":95,"rel":1054},[30],[845,1056],{},[11,1058,1059],{},"On Monid, MiniMax becomes part of the same tool layer your agent already uses. Describe what you need, generate the image or music, and keep building.",[770,1061,923],{},{"title":182,"searchDepth":288,"depth":288,"links":1063},[1064,1065,1066],{"id":1024,"depth":288,"text":1025},{"id":1036,"depth":288,"text":1037},{"id":829,"depth":288,"text":830},"\u002Fimg\u002Fblog\u002Fminimax-is-now-available-on-monid.png","Create images and music with MiniMax models through Monid.",{},"\u002Fblog\u002Fminimax-is-now-available-on-monid","2026-06-24",{"title":1007,"description":1068},"blog\u002Fminimax-is-now-available-on-monid",[804,1003,1075,1076],"image-generation","music-generation","B3dZqIjNJNK7Y9ysAenI0XzKobOZMlEP87FRWrW19Vc",1786670266999]