Skip to main content
POST
/
transcript
Get transcript for non-YouTube videos
curl --request POST \
  --url https://api.vidnavigator.com/v1/transcript \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "video_url": "https://twitter.com/user/status/123456789",
  "language": "en",
  "metadata_only": false,
  "fallback_to_metadata": false,
  "transcript_text": false
}
'
{
  "status": "success",
  "data": {
    "video_info": {
      "title": "<string>",
      "description": "<string>",
      "thumbnail": "<string>",
      "url": "<string>",
      "channel": "<string>",
      "channel_url": "<string>",
      "duration": 123,
      "views": 123,
      "likes": 123,
      "published_date": "<string>",
      "keywords": [
        "<string>"
      ],
      "category": "<string>",
      "available_languages": [
        "<string>"
      ],
      "selected_language": "<string>"
    },
    "transcript": [
      {
        "text": "<string>",
        "start": 123,
        "end": 123
      }
    ]
  }
}
Extract accurate metadata and transcripts from online videos including TikTok, Facebook, X, Vimeo, Dailymotion, Loom, and other platforms.
For YouTube videos, please use the dedicated YouTube Transcript endpoint, which uses residential proxy infrastructure for reliable access.

Overview

This endpoint automatically extracts rich video metadata and transcripts from non-YouTube online videos with high accuracy.

Supported Platforms

VidNavigator can retrieve transcripts from a wide variety of sources. Below is the list of platforms currently supported by this endpoint:
  • X / Twitter (just copy the tweet video link)
  • Facebook (public videos only)
  • TikTok
  • Dailymotion
  • Loom
  • Vimeo
For YouTube videos, use the /transcript/youtube endpoint instead.

Use Cases

Content Analysis

Extract transcripts for AI analysis, sentiment analysis, or content categorization

Search & Discovery

Enable text-based search across video content libraries

Accessibility

Generate captions and transcripts for accessibility compliance

Content Creation

Create summaries, articles, or repurpose video content

Request Parameters

ParameterTypeRequiredDescription
video_urlstringYesURL of the video to transcribe
languagestringNoISO2 language code (e.g., “en”, “es”, “fr”)
metadata_onlybooleanNoWhen true, returns only video metadata without fetching the transcript. Takes precedence over fallback_to_metadata.
fallback_to_metadatabooleanNoWhen true, returns video metadata with an empty transcript if transcript is unavailable (returns 200 instead of 404). Ignored if metadata_only is true.
transcript_textbooleanNoWhen true, returns the transcript as a single plain-text string instead of an array of segments.

Example Usage

curl -X POST "https://api.vidnavigator.com/v1/transcript" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://twitter.com/user/status/123456789",
    "language": "en"
  }'

Getting Metadata Only

If you only need video metadata without the transcript (faster and still counts as usage):
curl -X POST "https://api.vidnavigator.com/v1/transcript" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "video_url": "https://www.tiktok.com/@user/video/123456789",
    "metadata_only": true
  }'

Limitations

  • https://fb.watch/<video_id> format is not supported, use the https://www.facebook.com/watch/?v=<video_id> format instead.

Troubleshooting

  • Invalid URL: Ensure the video URL is complete and valid. This endpoint supports direct links from X (a tweet), Vimeo, TikTok, etc.
  • Transcript Not Found: Please ensure that the video has subtitles available (either manually added or auto-generated). If no subtitles are present, the transcript cannot be extracted. Consider using fallback_to_metadata: true to get metadata even when transcript is unavailable.
  • Language Not Supported: Sometimes the selected subtitles language is not available. In which case, you will get a clear message stating that. Verify that the chosen language is available for the video. We recommend not using the language input if you are unsure.
  • For YouTube videos: This endpoint does not support YouTube. Please use the /transcript/youtube endpoint instead.
If issues persist or need more help, please reach out to us at [email protected].

Success Response (200 OK)

Returns a video_info object and a transcript object.
{
  "status": "success",
  "data": {
    "video_info": {
      "title": "A Really Cool Video",
      "description": "An example description for the video.",
      "thumbnail": "https://example.com/thumbnail.jpg",
      "url": "https://twitter.com/user/status/123456789",
      "channel": "Example Creator",
      "duration": 45.5,
      "views": 123456,
      "likes": 9876,
      "published_date": "2024-01-15",
      "keywords": ["example", "twitter", "video"],
      "category": "Entertainment"
    },
    "transcript": [
      {
        "text": "This is the first sentence of the video.",
        "start": 0.5,
        "end": 3.2
      },
      {
        "text": "And this is the second sentence.",
        "start": 3.5,
        "end": 5.1
      }
    ]
  }
}

Response with transcript_text: true

When you set transcript_text: true, the transcript is returned as a single string:
{
  "status": "success",
  "data": {
    "video_info": { ... },
    "transcript": "This is the first sentence of the video. And this is the second sentence."
  }
}

Response with metadata_only: true

When you set metadata_only: true, only the video metadata is returned:
{
  "status": "success",
  "data": {
    "video_info": {
      "title": "A Really Cool Video",
      "description": "An example description for the video.",
      "thumbnail": "https://example.com/thumbnail.jpg",
      "url": "https://twitter.com/user/status/123456789",
      "channel": "Example Creator",
      "duration": 45.5,
      "views": 123456,
      "likes": 9876,
      "published_date": "2024-01-15"
    }
  }
}

Authorizations

X-API-Key
string
header
required

API key authentication. Include your VidNavigator API key in the X-API-Key header.

Body

application/json
video_url
string<uri>
required

URL of the video to transcribe

Example:

"https://twitter.com/user/status/123456789"

language
string

ISO2 language code (optional)

Required string length: 2
Example:

"en"

metadata_only
boolean
default:false

When true, returns only video metadata without transcript. Usage is still recorded.

fallback_to_metadata
boolean
default:false

When true, returns video metadata with an empty transcript if transcript is unavailable (200). Ignored if metadata_only is true.

transcript_text
boolean
default:false

When true, returns the transcript as a single plain-text string instead of an array of segments.

Response

Transcript retrieved successfully

status
enum<string>
Available options:
success
data
object