Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.vidjutsu.ai/llms.txt

Use this file to discover all available pages before exploring further.

The /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 balance, 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.).
This matches the same staging pattern used by POST /v1/upload/url.

Op-counting

CostTrigger
1 creditBase cost per call. Always charged.
+1 credit per staged media fileOnly when download_media: true and the response contains media URLs that VidJutsu pulled onto its CDN.
A scrapeInstagramUserPosts call that returns 12 posts with download_media: true and stages 12 videos costs 1 + 12 = 13 credits. The same call with download_media: false costs 1 credit.

Auth & rate limits

  • Auth: Paid (subscription required, same as Watch / Extract / Transcribe).
  • Rate group: scrape500 calls per day, shared across all 24 endpoints. Separate bucket from intelligence (Watch / Extract / Transcribe / Check) and compliance.
  • Check remaining capacity with vidjutsu usage or GET /v1/usage.

The 24 endpoints

All are POST and accept a JSON body. Full request/response schemas in the OpenAPI spec.

TikTok

EndpointBodyWhat it returns
POST /v1/scrape/tiktok/profilehandle, trim?, download_media?Profile metadata for a single TikTok user
POST /v1/scrape/tiktok/profile/videoshandle, cursor?, download_media?Paginated list of a user’s videos
POST /v1/scrape/tiktok/videourl, trim?, download_media?Full metadata for a single video
POST /v1/scrape/tiktok/video/transcripturlASR transcript for a single video
POST /v1/scrape/tiktok/video/commentsurl, cursor?Paginated comments on a video
POST /v1/scrape/tiktok/search/usersquery, cursor?User-search results for a query
POST /v1/scrape/tiktok/trendingcountry?, download_media?Trending feed for a country

Instagram

EndpointBodyWhat it returns
POST /v1/scrape/instagram/profilehandle, download_media?Profile metadata for an IG user
POST /v1/scrape/instagram/user/postshandle, cursor?, download_media?Paginated posts for a user
POST /v1/scrape/instagram/posturl, download_media?Full metadata for a single post or reel
POST /v1/scrape/instagram/post/commentsurl, cursor?Paginated comments on a post
POST /v1/scrape/instagram/user/reelshandle, cursor?, download_media?Paginated reels for a user

X (Twitter)

EndpointBodyWhat it returns
POST /v1/scrape/twitter/profilehandle, download_media?Profile metadata for an X user
POST /v1/scrape/twitter/user-tweetshandle, cursor?, trim?, download_media?Paginated tweets for a user
POST /v1/scrape/twitter/tweeturl, trim?, download_media?Full metadata for a single tweet
POST /v1/scrape/twitter/tweet/transcripturlTranscript for a tweet that contains a video

YouTube

EndpointBodyWhat it returns
POST /v1/scrape/youtube/channelhandle? or channel_id?, download_media?Channel metadata
POST /v1/scrape/youtube/channel-videoshandle? or channel_id?, cursor?, download_media?Paginated videos for a channel
POST /v1/scrape/youtube/videourl, download_media?Full metadata for a single video
POST /v1/scrape/youtube/video/commentsurl, cursor?Paginated comments on a video

Ad libraries

EndpointBodyWhat it returns
POST /v1/scrape/ads/metaquery, country?, download_media?Active ads from the Meta Ad Library for a keyword or page name
POST /v1/scrape/ads/googlecompany, download_media?Active ads from Google’s Ad Transparency Center for an advertiser
POST /v1/scrape/ads/linkedinquery, download_media?Active ads from the LinkedIn Ad Library for a keyword
POST /v1/scrape/ads/redditquery, download_media?Active ads from the Reddit Ad Library for a keyword

CLI

Every endpoint is exposed as a hyphenated vidjutsu scrape <subcommand>:
vidjutsu scrape tiktok-profile --handle mrbeast
vidjutsu scrape instagram-user-posts --handle nike --download-media
vidjutsu scrape meta-ads --query "ai video" --country us
See the CLI reference for the full list.

Example

curl -X POST https://api.vidjutsu.ai/v1/scrape/instagram/user/reels \
  -H "Authorization: Bearer $VIDJUTSU_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "handle": "nike", "download_media": true }'
Returns up to ~12 reels with every 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.