ssh.autos

Catalog / Social, content & reviews

SOCIAL, CONTENT & REVIEWS

TikTok Profile & Video

Collect public TikTok profiles and videos.

PER CALL · X402 / MPP From $0.02 per call 1 endpoint at api.ssh.autos. Pay in USDC, no account. See the endpoint
APIFY STORE Public actor Run it with your Apify account: bulk runs, schedules and exports. Open on Apify

About this data

Collect public TikTok profiles and videos. Profiles return followers, following, total likes, video count, bio, link, verified status and latest videos; video links return plays, likes, comments, shares, saves, caption, hashtags, music and author. Failures are not charged.

From the actor’s Apify Store listing. The per-call endpoint may return a bounded subset; its own description is below.

Buy per call over x402

One endpoint at api.ssh.autos. Each call is one JSON POST, paid in USDC with no account or API key, and answered in the same HTTP response.

POST /v1/tiktok/profile-video

Look up a public TikTok profile, optionally with one recent video, or provide a video URL.

PRICE$0.02 per call, in USDC
RESULTOne JSON answer per call
PAYMENTx402 or MPP · no account

Profile rows include nickname, bio/link, verification, avatar and follower/like/video counts.

Video rows include caption, publication time, duration and engagement counts where TikTok supplies them.

No download or account login.

Input

Send a JSON body to POST https://api.ssh.autos/v1/tiktok/profile-video.

FieldTypeRequiredNotes
profilestringoptional1–400 characters
videoUrlstringoptional1–2048 characters
latestVideosintegeroptional0–1; default 0

Returned fields

The answer is JSON: records, a list, and summary, the run status and counts. Each record has these 43 fields; a field the source does not publish comes back null.

43 fields per record
FieldTypeNotes
kindstringprofile or video. Failures live in OUTPUT.itemErrors and are never dataset rows or billed.
one of profile, video
idstringTikTok account id (profile rows) or video id (video rows).
urlstringCanonical profile or video link.
usernamestringProfile rows: the account's username.
nicknamestringProfile rows: display name.
biostringProfile rows: bio text.
bioLinkstringProfile rows: the link shown in the bio.
verifiedbooleanProfile rows: verified badge.
privateAccountbooleanProfile rows: the account is private.
isSellerbooleanProfile rows: the account sells on TikTok Shop.
commerceCategorystringProfile rows: business category, when set.
languagestringProfile language, or the detected caption language for videos.
avatarUrlstringProfile rows: profile picture link (time-limited).
secUidstringProfile rows: TikTok's stable secondary account id.
accountCreatedAtstringProfile rows: account creation time (UTC, ISO 8601) when TikTok publishes it.
followersintegerProfile rows: exact follower count.
followingintegerProfile rows: accounts followed.
totalLikesintegerProfile rows: total likes received across all videos.
videoCountintegerProfile rows: number of public videos.
friendsintegerProfile rows: mutual follows.
embedAllowedbooleanProfile rows: whether TikTok lists this profile's latest videos.
createdAtstringVideo rows: publish time (UTC, ISO 8601).
createTimeUnixintegerVideo rows: publish time as a Unix timestamp.
postTypestringVideo rows: video or photo carousel.
one of video, photo
playsinteger—
likesinteger—
commentsinteger—
sharesinteger—
savesintegerVideo rows: times the video was saved to favourites.
repostsinteger—
hashtagsarray of stringsVideo rows: hashtags in the caption, without #.
mentionsarray of stringsVideo rows: usernames mentioned in the caption.
durationSecondsinteger—
widthinteger—
heightinteger—
coverUrlstringVideo rows: cover image link (time-limited).
locationCreatedstringVideo rows: country code where the video was posted, when published.
isAdbooleanVideo rows: marked as an ad.
musicobject—
authorobject—
inputstringThe input value this row came from.
sourcestringprofile and video rows from your inputs; profileLatest for a profile's latest videos.
one of profile, video, profileLatest
scrapedAtstringCollection time (UTC, ISO 8601).

Example call

TERMINAL · $0.02 PER RUN
npx agentcash@latest fetch https://api.ssh.autos/v1/tiktok/profile-video -m POST -b '{"profile": "nike", "latestVideos": 1}'

The example values come from the API spec or the actor’s own sample input. Running it is a paid call.

What is and isn’t charged

Free

  • Invalid input (422), busy (503), source failure (502), timeout (504) and calls whose client hung up are never charged.
  • Invalid input and source failures are not charged.

Prefer a subscription? Run it on Apify

This data source is a public actor on the Apify Store: TikTok Profile & Video Scraper. Run it with your Apify account and plan for larger, scheduled or exported runs; it may offer more input options than the per-call endpoint.

Open on Apify

How x402 payment works

  1. Your client sends the request. The API answers 402 Payment Required with the price and where to pay.
  2. The client pays from its own wallet: USDC on Base or Solana over x402, or over MPP on Tempo. No account, sign-up or API key.
  3. The client retries with the payment attached and gets the JSON answer in the same call. You are only charged for answers.

The AgentCash CLI in the example does all three steps for you and pays from your AgentCash wallet. Any x402 or MPP client works the same way.

Machine-readable: openapi.json · llms.txt

Some links to Apify are affiliate links. We may earn a commission if you sign up and become a paying customer.