Quickstart
Get an API key and make your first successful call. Around five minutes, no card required.
1. Get a key
Sign up, confirm your email to unlock your free credits, then open the API Explorer. Choose an API and create a key there without leaving your request. The secret is shown once at creation and never again. We store only a hash of it, so we cannot recover it for you. Copy it somewhere safe; if you lose it, revoke it and issue another.
Keys look like sv_live_ followed by a random string. The free tier includes
100 credits and needs no card.
2. Make a call
In your terminal, set the key you just saved (replace the placeholder):
export SOURCEVINE_API_KEY="YOUR_SAVED_KEY"
For a first result without writing code, use Use example in the Explorer, then press Send request. The button shows the credit cost; filling an example does not run it.
Send a public TikTok profile URL to /v1/tiktok/profile.
curl https://api.sourcevine.io/v1/tiktok/profile \
-H "Authorization: Bearer $SOURCEVINE_API_KEY" \
--data-urlencode "url=https://www.tiktok.com/@atlas.makes" -G
import os, httpx
r = httpx.get(
"https://api.sourcevine.io/v1/tiktok/profile",
headers={"Authorization": f"Bearer {os.environ['SOURCEVINE_API_KEY']}"},
params={"url": "https://www.tiktok.com/@atlas.makes"},
)
r.raise_for_status()
print(r.json()["data"]["followerCount"])
const r = await fetch(
"https://api.sourcevine.io/v1/tiktok/profile?url=" +
encodeURIComponent("https://www.tiktok.com/@atlas.makes"),
{ headers: { Authorization: `Bearer ${process.env.SOURCEVINE_API_KEY}` } },
);
const { data } = await r.json();
3. Read the response
{
"success": true,
"available": true,
"data": {
"url": "https://www.tiktok.com/@atlas.makes",
"username": "atlas.makes",
"nickname": "Atlas Makes",
"verified": true,
"followerCount": 482300,
"followingCount": 214,
"videoCount": 618,
"heartCount": 9140000,
"fetchedAt": "2026-08-28T09:41:44Z"
}
}
Three things to notice:
- The field names are TikTok’s.
heartCountis TikTok’s word for a profile’s lifetime like total; on/v1/youtube/channelthe follower field issubscriberCount. Each API answers in its own platform’s vocabulary. - A field a platform does not publish is absent, not zero. TikTok reports no
lifetime profile view count, so there is no
viewCountkey here at all. fetchedAtis when we read the platform, so you always know how old a number is. The call cost what theX-Credits-Chargedheader says; see credits & billing.
4. Handle the cases that are not success
A profile can be missing, private, or temporarily unreachable. Those are different situations and you should treat them differently:
body = r.json()
if body["available"]:
followers = body["data"]["followerCount"]
elif body["availability"]["status"] in ("not_found", "empty", "private"):
pass # a fact about the world - do not retry
else:
pass # transient - retry with backoff
The legacy generic endpoints return the availability block at the top level.
Named APIs wrap platform-specific fields in data, so branch on available
first and then read the field for the API you called.
Never retry a not_found or private against other endpoints. It is a
fact, not a failure, and retrying only spends time and credits.
Next
- Authentication: projects, rate limits, idempotency
- Errors & availability: every status and what to do with it
- TikTok Profile API reference
Last updated 4 October 2026