POST
/
twitter
/
video
/
metadata
Twitter Video Metadata
curl --request POST \
  --url https://mavi-backend.memories.ai/serve/api/v2/twitter/video/metadata \
  --header 'Authorization: <api-key>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "video_url": "https://x.com/NBCOlympics/status/1989901761650323606",
  "channel": "apify"
}
'
{
  "code": "0000",
  "msg": "success",
  "data": [
    {
      "type": "tweet",
      "id": "1989901761650323606",
      "url": "https://x.com/NBCOlympics/status/1989901761650323606",
      "twitterUrl": "https://twitter.com/NBCOlympics/status/1989901761650323606",
      "text": "France's Kevin Aymoz couldn't believe his 159.97 free skate score that led to his first-ever ISU Grand Prix GOLD. 🤯 https://t.co/901FxyK1Jc",
      "fullText": "France's Kevin Aymoz couldn't believe his 159.97 free skate score that led to his first-ever ISU Grand Prix GOLD. 🤯 https://t.co/901FxyK1Jc",
      "source": "Wildmoka",
      "retweetCount": 257,
      "replyCount": 139,
      "likeCount": 5002,
      "quoteCount": 39,
      "viewCount": 43099524,
      "createdAt": "Sun Nov 16 03:42:05 +0000 2025",
      "lang": "en",
      "bookmarkCount": 607,
      "isReply": false,
      "conversationId": "1989901761650323606",
      "possiblySensitive": false,
      "isPinned": false,
      "author": {
        "type": "user",
        "userName": "NBCOlympics",
        "url": "https://x.com/NBCOlympics",
        "twitterUrl": "https://twitter.com/NBCOlympics",
        "id": "14955353",
        "name": "NBC Olympics & Paralympics",
        "isVerified": false,
        "verifiedType": "Business",
        "isBlueVerified": true,
        "profilePicture": "https://pbs.twimg.com/profile_images/1889684530245554177/hNcrFUJ0_normal.jpg",
        "coverPicture": "https://pbs.twimg.com/profile_banners/14955353/1762962343",
        "description": "The official home of NBC's coverage of the Olympics and Paralympics.",
        "followers": 1077295,
        "following": 2809,
        "createdAt": "Fri May 30 15:20:31 +0000 2008"
      },
      "extendedEntities": {
        "media": [
          {
            "display_url": "pic.x.com/901FxyK1Jc",
            "expanded_url": "https://x.com/NBCOlympics/status/1989901761650323606/video/1",
            "id_str": "1989901699746516992",
            "type": "video",
            "media_url_https": "https://pbs.twimg.com/media/G52NGsBXMAAniJV.jpg",
            "video_info": {
              "aspect_ratio": [16, 9],
              "duration_millis": 18261,
              "variants": [
                {
                  "content_type": "application/x-mpegURL",
                  "url": "https://video.twimg.com/amplify_video/1989901699746516992/pl/Y7hhhkSJzh19OnTV.m3u8?tag=14&v=19e"
                },
                {
                  "bitrate": 2176000,
                  "content_type": "video/mp4",
                  "url": "https://video.twimg.com/amplify_video/1989901699746516992/vid/avc1/1280x720/OSp0AyG0fnyvfjZP.mp4?tag=14"
                }
              ]
            }
          }
        ]
      },
      "isRetweet": false,
      "isQuote": false,
      "media": ["https://pbs.twimg.com/media/G52NGsBXMAAniJV.jpg"],
      "isConversationControlled": false
    }
  ],
  "failed": false,
  "success": true
}
This endpoint allows you to retrieve metadata for a Twitter video.

Code Example

import requests

BASE_URL = "https://mavi-backend.memories.ai/serve/api/v2"
API_KEY = "sk-8483027fe3abfe535f6ae01a9979b4f7"
HEADERS = {
    "Authorization": f"{API_KEY}"
}

def twitter_video_metadata(video_url: str, channel: str):
    url = f"{BASE_URL}/twitter/video/metadata"
    data = {"video_url": video_url, "channel": channel}
    resp = requests.post(url, headers=HEADERS, json=data)
    return resp.json()

# Usage example
result = twitter_video_metadata("https://x.com/NBCOlympics/status/1989901761650323606", "apify")
print(result)

Request Body

FieldTypeRequiredDescription
video_urlstringYesThe Twitter video URL
channelstringYesThe channel name. Supported values: apify, rapid, memories.ai

Response

Returns the video metadata information with detailed Twitter/X data.
{
  "code": "0000",
  "msg": "success",
  "data": [
    {
      "type": "tweet",
      "id": "1989901761650323606",
      "url": "https://x.com/NBCOlympics/status/1989901761650323606",
      "twitterUrl": "https://twitter.com/NBCOlympics/status/1989901761650323606",
      "text": "France's Kevin Aymoz couldn't believe his 159.97 free skate score that led to his first-ever ISU Grand Prix GOLD. 🤯 https://t.co/901FxyK1Jc",
      "fullText": "France's Kevin Aymoz couldn't believe his 159.97 free skate score that led to his first-ever ISU Grand Prix GOLD. 🤯 https://t.co/901FxyK1Jc",
      "source": "Wildmoka",
      "retweetCount": 257,
      "replyCount": 139,
      "likeCount": 5002,
      "quoteCount": 39,
      "viewCount": 43099524,
      "createdAt": "Sun Nov 16 03:42:05 +0000 2025",
      "lang": "en",
      "bookmarkCount": 607,
      "isReply": false,
      "conversationId": "1989901761650323606",
      "possiblySensitive": false,
      "isPinned": false,
      "author": {
        "type": "user",
        "userName": "NBCOlympics",
        "url": "https://x.com/NBCOlympics",
        "twitterUrl": "https://twitter.com/NBCOlympics",
        "id": "14955353",
        "name": "NBC Olympics & Paralympics",
        "isVerified": false,
        "verifiedType": "Business",
        "isBlueVerified": true,
        "profilePicture": "https://pbs.twimg.com/profile_images/1889684530245554177/hNcrFUJ0_normal.jpg",
        "coverPicture": "https://pbs.twimg.com/profile_banners/14955353/1762962343",
        "description": "The official home of NBC's coverage of the Olympics and Paralympics.",
        "followers": 1077295,
        "following": 2809,
        "createdAt": "Fri May 30 15:20:31 +0000 2008"
      },
      "extendedEntities": {
        "media": [
          {
            "display_url": "pic.x.com/901FxyK1Jc",
            "expanded_url": "https://x.com/NBCOlympics/status/1989901761650323606/video/1",
            "id_str": "1989901699746516992",
            "type": "video",
            "media_url_https": "https://pbs.twimg.com/media/G52NGsBXMAAniJV.jpg",
            "video_info": {
              "aspect_ratio": [16, 9],
              "duration_millis": 18261,
              "variants": [
                {
                  "content_type": "application/x-mpegURL",
                  "url": "https://video.twimg.com/amplify_video/1989901699746516992/pl/Y7hhhkSJzh19OnTV.m3u8?tag=14&v=19e"
                },
                {
                  "bitrate": 2176000,
                  "content_type": "video/mp4",
                  "url": "https://video.twimg.com/amplify_video/1989901699746516992/vid/avc1/1280x720/OSp0AyG0fnyvfjZP.mp4?tag=14"
                }
              ]
            }
          }
        ]
      },
      "isRetweet": false,
      "isQuote": false,
      "media": ["https://pbs.twimg.com/media/G52NGsBXMAAniJV.jpg"],
      "isConversationControlled": false
    }
  ],
  "failed": false,
  "success": true
}

Response Parameters

ParameterTypeDescription
codestringResponse code indicating the result status
msgstringResponse message describing the operation result
dataarray[object]Array containing Twitter/X tweet metadata objects
data[].typestringContent type (e.g., “tweet”)
data[].idstringTweet ID
data[].urlstringX.com URL
data[].twitterUrlstringTwitter.com URL
data[].textstringTweet text
data[].fullTextstringFull tweet text
data[].sourcestringSource of the tweet
data[].retweetCountnumberNumber of retweets
data[].replyCountnumberNumber of replies
data[].likeCountnumberNumber of likes
data[].quoteCountnumberNumber of quotes
data[].viewCountnumberNumber of views
data[].createdAtstringCreation timestamp
data[].langstringLanguage code
data[].bookmarkCountnumberNumber of bookmarks
data[].authorobjectAuthor/user information
data[].author.userNamestringAuthor username
data[].author.namestringAuthor display name
data[].author.isVerifiedbooleanWhether the author is verified
data[].author.isBlueVerifiedbooleanWhether the author has blue verification
data[].author.followersnumberNumber of followers
data[].author.followingnumberNumber of users following
data[].extendedEntitiesobjectExtended media entities
data[].extendedEntities.mediaarray[object]Array of media objects
data[].extendedEntities.media[].typestringMedia type (e.g., “video”)
data[].extendedEntities.media[].video_infoobjectVideo information
data[].extendedEntities.media[].video_info.duration_millisnumberVideo duration in milliseconds
data[].extendedEntities.media[].video_info.variantsarray[object]Array of video variants with different bitrates
data[].isRetweetbooleanWhether the tweet is a retweet
data[].isQuotebooleanWhether the tweet is a quote
data[].mediaarray[string]Array of media URLs
successbooleanIndicates whether the operation was successful
failedbooleanIndicates whether the operation failed

Authorizations

Authorization
string
header
required

Body

application/json
video_url
string
required

The Twitter video URL

Example:

"https://x.com/NBCOlympics/status/1989901761650323606"

channel
enum<string>
required

The channel name. Supported values: apify, rapid, memories.ai

Available options:
apify,
rapid,
memories.ai
Example:

"apify"

Response

200 - application/json

Video metadata information with detailed Twitter/X data

code
string

Response code indicating the result status

Example:

"0000"

msg
string

Response message describing the operation result

Example:

"success"

data
object[]

Array containing Twitter/X tweet metadata objects

success
boolean

Indicates whether the operation was successful

Example:

true

failed
boolean

Indicates whether the operation failed

Example:

false