/v1/scrape/* endpoints are thin, typed wrappers over the public-data surfaces of TikTok, Instagram, X, YouTube, and the Meta / Google / LinkedIn / Reddit ad libraries.
You don’t sign up for a scraper. VidJutsu holds the upstream master credentials and meters the calls through your existing API key. One key, one bill, one ToS.
Why a wrap
Building a creator-research, ad-research, or content-intelligence product normally means juggling a separate ScrapeCreators (or equivalent) account, a separate bill, a separate set of rate limits, and a separate ToS surface. The scrape primitives collapse that into your VidJutsu key — same auth, same rate limits, same operational logging — and stay typed in our OpenAPI spec so they generate clean SDK methods.download_media — opt-in CDN staging
Most endpoints accept an optional download_media: boolean (default false).
false(default) — Response contains raw source CDN URLs (TikTok / IG / X / YouTube / ad-library host URLs). Cheapest. Caveat: these URLs are often gatekept and not fetchable downstream from VidJutsu Watch / Transcribe / external tools like Gemini.true— VidJutsu fetches every media URL in the response, stages it to our public CDN, and replaces the source URLs with VidJutsu URLs in the response. Use this when you need to pipe the media into a downstream pipeline (Watch, Transcribe, an LLM video tool, your own CDN, etc.).
POST /v1/upload/url.
Request-counting
Every scrape subcommand call counts as one request against the sharedscrape daily rate limit (500/day), regardless of how many media files download_media: true stages. There is no per-file or per-credit charge — staging extra media does not consume additional quota beyond the single request.
Auth & rate limits
- Auth: Paid (subscription required, same as Watch / Extract / Transcribe).
- Rate group:
scrape— 500 calls per day, shared across all 24 endpoints. Separate bucket fromintelligence(Watch / Extract / Transcribe / Check) andcompliance. - Check remaining capacity with
vidjutsu usageorGET /v1/usage.
The 24 endpoints
All arePOST and accept a JSON body. Full request/response schemas in the OpenAPI spec.
TikTok
| Endpoint | Body | What it returns |
|---|---|---|
POST /v1/scrape/tiktok/profile | handle, trim?, download_media? | Profile metadata for a single TikTok user |
POST /v1/scrape/tiktok/profile/videos | handle, cursor?, download_media? | Paginated list of a user’s videos |
POST /v1/scrape/tiktok/video | url, trim?, download_media? | Full metadata for a single video |
POST /v1/scrape/tiktok/video/transcript | url | ASR transcript for a single video |
POST /v1/scrape/tiktok/video/comments | url, cursor? | Paginated comments on a video |
POST /v1/scrape/tiktok/search/users | query, cursor? | User-search results for a query |
POST /v1/scrape/tiktok/trending | country?, download_media? | Trending feed for a country |
| Endpoint | Body | What it returns |
|---|---|---|
POST /v1/scrape/instagram/profile | handle, download_media? | Profile metadata for an IG user |
POST /v1/scrape/instagram/user/posts | handle, cursor?, download_media? | Paginated posts for a user |
POST /v1/scrape/instagram/post | url, download_media? | Full metadata for a single post or reel |
POST /v1/scrape/instagram/post/comments | url, cursor? | Paginated comments on a post |
POST /v1/scrape/instagram/user/reels | handle, cursor?, download_media? | Paginated reels for a user |
X (Twitter)
| Endpoint | Body | What it returns |
|---|---|---|
POST /v1/scrape/twitter/profile | handle, download_media? | Profile metadata for an X user |
POST /v1/scrape/twitter/user-tweets | handle, cursor?, trim?, download_media? | Paginated tweets for a user |
POST /v1/scrape/twitter/tweet | url, trim?, download_media? | Full metadata for a single tweet |
POST /v1/scrape/twitter/tweet/transcript | url | Transcript for a tweet that contains a video |
YouTube
| Endpoint | Body | What it returns |
|---|---|---|
POST /v1/scrape/youtube/channel | handle? or channel_id?, download_media? | Channel metadata |
POST /v1/scrape/youtube/channel-videos | handle? or channel_id?, cursor?, download_media? | Paginated videos for a channel |
POST /v1/scrape/youtube/video | url, download_media? | Full metadata for a single video |
POST /v1/scrape/youtube/video/comments | url, cursor? | Paginated comments on a video |
Ad libraries
| Endpoint | Body | What it returns |
|---|---|---|
POST /v1/scrape/ads/meta | query, country?, download_media? | Active ads from the Meta Ad Library for a keyword or page name |
POST /v1/scrape/ads/google | company, download_media? | Active ads from Google’s Ad Transparency Center for an advertiser |
POST /v1/scrape/ads/linkedin | query, download_media? | Active ads from the LinkedIn Ad Library for a keyword |
POST /v1/scrape/ads/reddit | query, download_media? | Active ads from the Reddit Ad Library for a keyword |
CLI
Every endpoint is exposed as a hyphenatedvidjutsu scrape <subcommand>:
Example
video_url and thumbnail_url rewritten to a stable VidJutsu CDN URL you can hand to /v1/watch, /v1/transcribe, or any third-party tool.