No-code recipes
Call Sourcevine from Make, Zapier or n8n using their generic HTTP modules. No plugin to install, because there isn't one yet.
There is no Sourcevine app in Make, Zapier or n8n. What follows uses each tool’s generic HTTP module, which works today and needs nothing installed. If a native app ships later, this page will say so.
Before you start
Create a key in the dashboard. Keys are shown once.
Send it as a header wherever the tool lets you:
Authorization: Bearer sv_live_...
Every one of these tools can set a header, so use one. The access_key query
parameter exists for places that genuinely cannot — a URL ends up in proxy
logs, browser history and referrer headers, and a key in a URL is a key you
will eventually rotate in a hurry.
Make
Add an HTTP → Make a request module.
| Field | Value |
|---|---|
| URL | https://api.sourcevine.io/v1/tiktok/profile |
| Method | GET |
| Query String | url = the profile URL from a previous module |
| Headers | Authorization = Bearer sv_live_... |
| Parse response | Yes |
The body comes back as {{1.data}}. A TikTok follower count is
{{1.data.followerCount}}; on YouTube the same idea is
{{1.data.subscriberCount}}, because each API answers in its platform’s own
vocabulary.
Check {{1.success}} before using the data, and {{1.available}} before
trusting it — a deleted or private resource returns success: true with
available: false and data: null, because the request worked and the answer
is that the thing is gone.
Zapier
Use Webhooks by Zapier → Custom Request.
| Field | Value |
|---|---|
| Method | GET |
| URL | https://api.sourcevine.io/v1/youtube/transcript |
| Data Pass-Through? | No |
| Data | url = the video URL |
| Headers | Authorization = Bearer sv_live_... |
Zapier flattens the response, so the transcript lands at data__transcript and
the word count at data__wordCount. Add a Filter step on available being
true before anything downstream writes a row.
n8n
Add an HTTP Request node.
- Method:
GET - URL:
https://api.sourcevine.io/v1/instagram/stats - Send Query Parameters: on,
url={{ $json.postUrl }} - Authentication: Generic → Header Auth, name
Authorization, valueBearer sv_live_... - Response → Format: JSON
Follow it with an IF node on {{ $json.available }} so unavailable posts
take a different branch rather than writing nulls into a sheet.
Paging through a list
The list APIs return a nextCursor. Loop while it is not null, passing it back
as cursor:
GET https://api.sourcevine.io/v1/tiktok/posts?url=<profile>&cursor=<nextCursor>
In Make use a Repeater with a Break; in n8n a Loop Over Items node. Zapier has no native loop — for paging, a scheduled task calling the API directly is a better fit than a Zap.
What this costs
The same as any other call: the API’s credit price on a live read, zero on a cache hit. A resource that is private, deleted or unreachable is not charged.
Automations tend to re-read the same URLs on a schedule, which is exactly the
case cache hits are free for. Leave cache alone unless you specifically need
a live read; passing cache=false on every run turns a free poll into a billed
one.
See credits and billing and freshness and caching.
Last updated 28 August 2026