# TikTok public posts and profiles without an official API

2026-08-07

> Public posts, profiles, comments, hashtags, and sounds as JSON. Not TikTok Research, not Marketing API.

- Index: https://fetcher.sh/blog.md
- This page (HTML): https://fetcher.sh/blog/tiktok-public-posts-without-official-api

![A 3D render of a social app icon](https://images.unsplash.com/photo-1611162618071-b39a2ec055fb?auto=format&fit=crop&w=1600&q=80)

Photo by Alexander Shatov on [Unsplash](https://unsplash.com/?utm_source=fetcher_sh&utm_medium=referral).

TikTok’s official Research and Marketing APIs are partner products. If you have them, use them. If you do not, and you still need public posts, a profile, a hashtag, or a sound as JSON, [tiktok.fetcher.sh](https://tiktok.fetcher.sh) is the catalog host for that.

Search posts, resolve a username, list followers, read comments, walk hashtags and sounds — pay per call. Sounds in the response are entities (a music id, the posts that used it). We do not host the audio file. Spark Ads and Creative Center are not in the catalog. A geotag on a post is not a substitute for [Maps and Yelp](/blog/local-seo-maps-yelp-review-monitoring).

Reels and Shorts are other hosts. A TikTok post id is not a Reels shortcode.

## Search, profiles, comments

Search by keyword, sorted by likes or recency, optionally in a date window. Resolve a handle. List a user’s posts, followers, and followings. Fetch a post, its comments, and comment replies. Hashtag handle and hashtag posts. Music posts. Location posts.

`curl -H 'Authorization: Bearer bby_live_…' 'https://tiktok.fetcher.sh/api/post/search?keyword=ai'`

The host’s featured examples already do “most liked this month” and “posted yesterday.” [Hashtags and sounds as data](/blog/hashtags-sounds-trending-topics-as-data) is the topic-object note. [Creator lookup](/blog/creator-influencer-lookup-public-profiles) sizes a public account. Nested comment replies are part of the [thread](/blog/comment-threads-youtube-instagram-tiktok-reddit-x) object, not a second product.

Date windows on search are how you stop drowning in a keyword that has existed for years. Sort by likes when you want the cluster that already won. Sort by recency when you want the cluster that started this morning.

## Research API, Marketing API, this host

Official TikTok APIs stay partner products: research licenses, ads tooling, Spark. We return public posts and profiles, not ads tooling, not an mp3 CDN, not Creative Center.

If you are buying Spark Ads, you already have a path. If you are a newsroom or an agent that needs the public cluster around a sound, you often do not. Do not wait on a Research API application to list posts under a hashtag you can already open in a browser.

## A case: a sound that started moving this week

A culture desk wants to know which public posts used a particular sound after a TV moment. They have a music id from one viral post, not an official Research API license.

They fetch that post, read the sound entity, then list posts for that music id, sorted by recency, limited to the last few days. They pull comments on the top few. They are not downloading the mp3. They are not buying Spark Ads. They are reading the public cluster around a sound.

If the next question is “who is this creator,” resolve the handle and stop. If the next question is “is this a local business,” you have left TikTok and you want Maps.

## A case: a creator roster that lives on TikTok now

A talent team used to size people on Instagram. The roster moved. They resolve TikTok handles, pull follower counts, list recent posts, and they do not pretend IG follower counts still describe the job.

They optionally walk a page of followers for overlap, knowing it is a sample ([follower graphs](/blog/follower-following-graphs-x-instagram-tiktok)). They never call this host for YouTube subscribers; that list is not in the catalog.

Keyword search with a date window is how a desk watches a topic without a hashtag. “Posted yesterday, sorted by likes” is already a featured example for a reason: it is the query a morning meeting actually wants. Pair it with a sound id when the TV moment had a song, and with a hashtag when it had a slogan. Those are three keys. Using only one is how you undercount.

A geotag on a post still is not a restaurant listing. If the caption names a cafe, you may hop to Yelp or Maps. You do not pass the TikTok location id to google-maps.fetcher.sh.

A culture desk’s weekly: one hashtag, one sound id, one keyword search with a date window. Store post ids. Diff. Comments only on the new top few. That is a watch. It is not Research API. It is not Spark. It is not a follower crawl “for completeness.”

If the roster question is “who is this,” resolve and list recent posts. If the place question is “what cafe,” change hosts. TikTok will happily return a geotag that does not know Yelp.

## What the official APIs still own

Official TikTok APIs stay partner products. We return public posts and profiles, not ads tooling, not Creative Center, not an audio file. Docs: [tiktok.fetcher.sh](https://tiktok.fetcher.sh). Same 402 or Bearer key as every other host. Spark Ads remain Spark Ads. Creative Center remains Creative Center. If the brief was “download the sound,” the brief is outside this catalog. If the brief was “which public posts used it this week,” you are in the right place.
