Skip to main content

juicer.io/tiktok/api

TikTok videos, as JSON.

One key returns an account's videos, hashtag results, keyword mentions and account profiles as the same normalized JSON as 14 other networks, view and share counts included. No TikTok developer app, no app review, no Research API application.

curl "https://api.juicer.io/v1/data/posts?platforms=TikTok&term=yourbrand" -H "Authorization: Bearer $JUICER_API_KEY"

AI agents ready

Copy this prompt into the agent of your choice and get going right away.

I want to pull TikTok data through the Juicer API. Work from the official docs, not from memory.

1. Read https://developers.juicer.io first (or connect its docs MCP server, https://developers.juicer.io/mcp, no auth needed). The Quickstart and Authentication pages explain how to get going without a human signing up: POST /v1/authorize with an email returns a temporary API key, and a free Sandbox plan is available for a permanent one.
2. Then use the Juicer MCP server at https://api.juicer.io/mcp if you can, or the REST API at https://api.juicer.io/v1 with the key as a bearer token.
3. For TikTok: look up an account's videos with platforms=TikTok and its @handle, search a hashtag with term_type=hashtag, search captions for a keyword with term_type=mentions, and resolve an account's profile with the profiles lookup. Follow the docs for term types and cursor pagination.

Task: resolve the account <yourbrand>, fetch its 10 latest videos and summarize the view, share and comment counts.
  • Free Sandbox tier
  • No TikTok app review
  • Cursor pagination
  • MCP server included

01 / videos

Pull an account's videos.

Pass the account's handle and get its recent videos: caption, the cover and video URL, view, like, comment and share counts, posting time and the canonical URL. The same fields Instagram, YouTube and Facebook return, so one parser covers every network.

GET /data/posts in the docs →
GET /v1/data/posts?platforms=TikTok&term=yourbrand
{
  "data": [{
    "platform": "TikTok",
    "message": "POV: your espresso finally stops channeling. Three grinder settings that fixed it.",
    "poster": { "display_name": "Your Brand" },
    "media": [{ "type": "video", "url": "https://www.tiktok.com/@yourbrand/video/...",
                "thumbnail_url": "https://..." }],
    "view_count": 148300,
    "like_count": 9120,
    "comment_count": 214,
    "share_count": 1030,
    "url": "https://www.tiktok.com/@yourbrand/video/..."
  }],
  "meta": {
    "platforms": [{ "platform": "TikTok", "success": true, "has_more": true, "next_cursor": "..." }]
  }
}

GET /v1/data/posts 200 1 of 25 videos, 330 ms

Your Brand

POV: your espresso finally stops channeling. Three grinder settings that fixed it.

9,120 214

02 / hashtags and mentions

Search public videos on a hashtag, or by keyword.

Pass a hashtag with term_type=hashtag and get recent public videos that use it, whoever posted them. Pass a word with term_type=mentions and get the public videos whose caption contains it, so reviews and reactions that never tagged you still come back. Each video carries its author.

term_type in the docs →
GET /v1/data/posts?platforms=TikTok&term=%23yourchallenge&term_type=hashtag
{
  "data": [
    { "platform": "TikTok", "poster": { "display_name": "Priya Nair" },
      "message": "Day 3 of #yourchallenge and my latte art is finally a leaf, not a blob.",
      "view_count": 42600 },
    { "platform": "TikTok", "poster": { "display_name": "Marcus Dale" },
      "message": "Entering #yourchallenge with the worst espresso machine in the office.",
      "view_count": 18900 }
  ],
  "meta": { "platforms": [{ "platform": "TikTok", "success": true, "count": 2, "has_more": true }] }
}

// GET /v1/data/posts?platforms=TikTok&term=your%20brand&term_type=mentions
// same shape: public videos whose caption contains "your brand"

GET /v1/data/posts 200 2 videos, 310 ms

  • Priya Nair

    Day 3 of #yourchallenge and my latte art is finally a leaf, not a blob.

  • Marcus Dale

    Entering #yourchallenge with the worst espresso machine in the office.

03 / profiles

Resolve a handle to its account.

Up to five handles per request. An exact handle match returns that account with its follower and video counts; otherwise you get candidates to disambiguate. Every profile carries every field, null where TikTok exposes nothing.

GET /data/profiles in the docs →
GET /v1/data/profiles?platforms=TikTok&term=yourbrand
{
  "data": [{
    "platform": "TikTok", "term": "yourbrand", "exact_match": true,
    "profiles": [{
      "handle": "yourbrand",
      "display_name": "Your Brand",
      "url": "https://www.tiktok.com/@yourbrand",
      "verified": false,
      "metrics": { "follower_count": 31400, "post_count": 212, "total_view_count": null }
    }]
  }]
}

GET /v1/data/profiles 200 1 profile, exact match, 270 ms

Your Brand

tiktok.com/@yourbrand

Followers
31,400
Posts
212

04 / synced sources

Sync the accounts you follow. Get a webhook.

Add an account, a hashtag or a keyword as a feed source and Juicer syncs it on a schedule, applies your moderation rules, keeps the history readable for free and calls your webhook when new videos land. A connected account syncs through TikTok's official API; hashtags and keywords sync connection-free.

Webhooks in the docs →
POST /v1/feeds/{feed_id}/sources
{ "platform": "TikTok", "term": "yourchallenge", "term_type": "hashtag" }

// later, on your endpoint
{
  "event": "post.created",
  "feed_id": 458363,
  "post": { "platform": "TikTok", "message": "Day 4 of #yourchallenge ...", "url": "https://www.tiktok.com/@.../video/..." }
}

POST /v1/feeds/458363/sources 201 source created, first sync running

post.created https://yourapp.com/hooks/juicer delivered 200

Use cases

What teams build on the TikTok API

The same normalized videos serve product features, marketing sites and AI workflows.

Creator videos inside your product

Show a creator's or a client's latest TikToks in your influencer platform, CRM or agency dashboard without a TikTok developer app of your own. Add their account once and read it forever.

Shoppable video on product pages

Pull the hashtag behind a product launch and the brand's own account into a moderated stream and render the keepers next to the Add to cart button, with view counts as social proof.

Challenge and campaign walls

Pull the hashtag behind a challenge or an event into one moderated stream and push the approved videos to the venue screens, the campaign site or a recap page.

Monitoring and analytics

Archive videos and their view, like, comment and share counts for the accounts you track, yours and competitors', and chart followers, views and posting cadence over time.

TikTok data for AI agents

Give an agent get_data_posts and get_data_profiles through the MCP server and it can research a creator, summarize what people say about a product or shortlist accounts for a campaign with live numbers.

Retiring a hand-built scraper

Replace a brittle TikTok scraper, its proxies and its weekly selector fixes with one endpoint that Juicer keeps working. Most teams migrate in a day.

Why use Juicer instead of TikTok's API or a scraper?

TikTok's Display API only serves the account that logged in, after an app review, and the Research API is reserved for approved researchers. There is no official way to read a hashtag or search captions, so teams build scrapers, buy proxies and chase layout changes. Juicer carries all of it behind one normalized endpoint.

Build it yourself

An app review, a scraper, and a pager.

  • Developer app and app review
  • Own account only, no hashtag API
  • Scraper selectors breaking
  • Video and cover URLs expiring
  • Rate limits and proxies
  • Moderation
  • Webhook plumbing
  • Engagement fields that move

Weeks to first video. Forever to maintain.

Juicer handles the heavy lifting.

With the Juicer API

One key. Same JSON as 14 other networks.

  • No TikTok developer app
  • Any public account, not just yours
  • Hashtag and keyword search with authors
  • Account profiles with follower counts
  • View and share counts on every video
  • Moderation applied before you read
  • Webhooks on new videos
  • MCP server for agents
Start with one API call

Questions

Frequently asked questions

What developers ask before pulling TikTok data through Juicer.

  • Do I need a TikTok developer app or app review?
    No. API lookups run against Juicer's own infrastructure: you pass a handle, a hashtag or a keyword and get JSON back. There is no TikTok OAuth flow, no Login Kit integration and no app review on your side.
  • Which TikTok lookups are supported?
    On GET /data/posts, TikTok accepts term_type=username (a public account's videos, by its @handle), term_type=hashtag (public videos on a hashtag) and term_type=mentions (public videos whose caption contains a keyword). GET /data/profiles resolves handles to accounts with follower and video counts.
  • Is the hashtag search an official TikTok API?
    No. TikTok offers no public API for hashtags or caption search, so Juicer serves those lookups connection-free from its own infrastructure and keeps them working when TikTok changes. A connected account syncs through TikTok's official Display API instead, which is why it costs fewer credits.
  • How does pagination work?
    Each call returns one upstream page of results. meta.platforms[] carries has_more and an opaque next_cursor per platform; repeat the same request with cursor=<value> to continue. Cursors are per platform, so a multi-platform request paginates each network independently.
  • How current is the data?
    API lookups fetch fresh results at request time. Synced sources sync on the schedule you choose, from daily to every few minutes. More frequent syncs spend credits proportionally faster, and reads of what has already been synced are free.
  • What does TikTok cost in credits?
    Reads of already-synced videos are free. A connected TikTok source costs 1 credit per sync; a premium (connection-free) TikTok source costs 3 credits per sync. Sandbox is free; Launch is $59 a month for 400 credits, Builder $99 for 750, Scale $499 for 4,500, Platform Partner from $2,500. The API pricing page has the calculator.
  • Is there an MCP server?
    Yes. Juicer's MCP server exposes the TikTok lookups as get_data_posts and get_data_profiles, next to feed, source, moderation, analytics and webhook tools, so an AI agent can pull TikTok content without custom scrapers or OAuth flows. It is available on every API plan, including the free Sandbox. The full reference lives at developers.juicer.io.
  • Can I display the videos instead of building a UI?
    Yes. The same account gives you the TikTok feed widget: add the source, pick a layout and paste one embed code. Many teams use both, the widget for the marketing site and the API for the product.

Ready to build?

Start pulling TikTok data in minutes

A preview of a Juicer feed widget showing real social media posts