{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/twitterapi-io/json-schema/twitterapi-io-tweet-schema.json",
  "title": "Tweet",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/twitterapi-io-openapi.json#/components/schemas/Tweet",
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "tweet"
      ]
    },
    "id": {
      "type": "string",
      "description": "The ID of the tweet"
    },
    "url": {
      "type": "string",
      "description": "The URL of the tweet"
    },
    "text": {
      "type": "string",
      "description": "The text of the tweet"
    },
    "source": {
      "type": "string",
      "description": "The source of the tweet.eg. \"Twitter for iPhone\""
    },
    "retweetCount": {
      "type": "integer",
      "description": "The number of times the tweet has been retweeted"
    },
    "replyCount": {
      "type": "integer",
      "description": "The number of times the tweet has been replied to"
    },
    "likeCount": {
      "type": "integer",
      "description": "The number of times the tweet has been liked"
    },
    "quoteCount": {
      "type": "integer",
      "description": "The number of times the tweet has been quoted"
    },
    "viewCount": {
      "type": "integer",
      "description": "The number of times the tweet has been viewed"
    },
    "createdAt": {
      "type": "string",
      "description": "The date and time the tweet was created.eg. Tue Dec 10 07:00:30 +0000 2024"
    },
    "lang": {
      "type": "string",
      "description": "The language of the tweet.eg. \"en\".may be empty"
    },
    "bookmarkCount": {
      "type": "integer",
      "description": "The number of times the tweet has been bookmarked"
    },
    "isReply": {
      "type": "boolean",
      "description": "Indicates if the tweet is a reply"
    },
    "inReplyToId": {
      "type": "string",
      "description": "The ID of the tweet being replied to.may be empty"
    },
    "conversationId": {
      "type": "string",
      "description": "The ID of the conversation the tweet is part of.may be empty"
    },
    "displayTextRange": {
      "type": "array",
      "description": "specifies the UTF-16 code unit indices in full_text that define the visible portion of a Tweet.eg\"@jack Thanks for the update!\",display_text_range is [6, 28]",
      "items": {
        "type": "integer"
      }
    },
    "inReplyToUserId": {
      "type": "string",
      "description": "The ID of the user being replied to.may be empty"
    },
    "inReplyToUsername": {
      "type": "string",
      "description": "The username of the user being replied to.may be empty"
    },
    "author": {
      "$ref": "#/$defs/UserInfo",
      "description": "The user who posted the tweet"
    },
    "entities": {
      "$ref": "#/$defs/TweetEntities",
      "description": "The entities in the tweet.eg. hashtags,urls,mentions"
    },
    "quoted_tweet": {
      "$ref": "#/$defs/Tweet",
      "description": "The tweet being quoted.may be null"
    },
    "retweeted_tweet": {
      "$ref": "#/$defs/Tweet",
      "description": "The tweet being retweeted.may be null"
    },
    "isLimitedReply": {
      "type": "boolean",
      "description": "Whether the tweet is a limited reply. Possible restrictions: only mentioned users, verified users, or followed accounts can reply"
    }
  },
  "$defs": {
    "Tweet": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "tweet"
          ]
        },
        "id": {
          "type": "string",
          "description": "The ID of the tweet"
        },
        "url": {
          "type": "string",
          "description": "The URL of the tweet"
        },
        "text": {
          "type": "string",
          "description": "The text of the tweet"
        },
        "source": {
          "type": "string",
          "description": "The source of the tweet.eg. \"Twitter for iPhone\""
        },
        "retweetCount": {
          "type": "integer",
          "description": "The number of times the tweet has been retweeted"
        },
        "replyCount": {
          "type": "integer",
          "description": "The number of times the tweet has been replied to"
        },
        "likeCount": {
          "type": "integer",
          "description": "The number of times the tweet has been liked"
        },
        "quoteCount": {
          "type": "integer",
          "description": "The number of times the tweet has been quoted"
        },
        "viewCount": {
          "type": "integer",
          "description": "The number of times the tweet has been viewed"
        },
        "createdAt": {
          "type": "string",
          "description": "The date and time the tweet was created.eg. Tue Dec 10 07:00:30 +0000 2024"
        },
        "lang": {
          "type": "string",
          "description": "The language of the tweet.eg. \"en\".may be empty"
        },
        "bookmarkCount": {
          "type": "integer",
          "description": "The number of times the tweet has been bookmarked"
        },
        "isReply": {
          "type": "boolean",
          "description": "Indicates if the tweet is a reply"
        },
        "inReplyToId": {
          "type": "string",
          "description": "The ID of the tweet being replied to.may be empty"
        },
        "conversationId": {
          "type": "string",
          "description": "The ID of the conversation the tweet is part of.may be empty"
        },
        "displayTextRange": {
          "type": "array",
          "description": "specifies the UTF-16 code unit indices in full_text that define the visible portion of a Tweet.eg\"@jack Thanks for the update!\",display_text_range is [6, 28]",
          "items": {
            "type": "integer"
          }
        },
        "inReplyToUserId": {
          "type": "string",
          "description": "The ID of the user being replied to.may be empty"
        },
        "inReplyToUsername": {
          "type": "string",
          "description": "The username of the user being replied to.may be empty"
        },
        "author": {
          "$ref": "#/$defs/UserInfo",
          "description": "The user who posted the tweet"
        },
        "entities": {
          "$ref": "#/$defs/TweetEntities",
          "description": "The entities in the tweet.eg. hashtags,urls,mentions"
        },
        "quoted_tweet": {
          "$ref": "#/$defs/Tweet",
          "description": "The tweet being quoted.may be null"
        },
        "retweeted_tweet": {
          "$ref": "#/$defs/Tweet",
          "description": "The tweet being retweeted.may be null"
        },
        "isLimitedReply": {
          "type": "boolean",
          "description": "Whether the tweet is a limited reply. Possible restrictions: only mentioned users, verified users, or followed accounts can reply"
        }
      }
    },
    "TweetEntities": {
      "type": "object",
      "properties": {
        "hashtags": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "indices": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "text": {
                "type": "string"
              }
            }
          }
        },
        "urls": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "display_url": {
                "type": "string"
              },
              "expanded_url": {
                "type": "string"
              },
              "indices": {
                "type": "array",
                "items": {
                  "type": "integer"
                }
              },
              "url": {
                "type": "string"
              }
            }
          }
        },
        "user_mentions": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id_str": {
                "type": "string",
                "description": "The ID of the user being mentioned"
              },
              "name": {
                "type": "string",
                "description": "The name of the user being mentioned"
              },
              "screen_name": {
                "type": "string",
                "description": "The screen name of the user being mentioned"
              }
            }
          }
        }
      }
    },
    "UserInfo": {
      "type": "object",
      "properties": {
        "type": {
          "type": "string",
          "enum": [
            "user"
          ]
        },
        "userName": {
          "type": "string",
          "description": "The username of the Twitter user"
        },
        "url": {
          "type": "string",
          "description": "The x.com URL of the user's profile"
        },
        "id": {
          "type": "string",
          "description": "The unique identifier of the user"
        },
        "name": {
          "type": "string",
          "description": "The display name of the user"
        },
        "isBlueVerified": {
          "type": "boolean",
          "description": "Whether the user has Twitter Blue verification"
        },
        "verifiedType": {
          "type": "string",
          "description": "The type of verification. eg. \"government\" ,can be empty"
        },
        "profilePicture": {
          "type": "string",
          "description": "URL of the user's profile picture"
        },
        "coverPicture": {
          "type": "string",
          "description": "URL of the user's cover picture"
        },
        "description": {
          "type": "string",
          "description": "The user's profile description"
        },
        "location": {
          "type": "string",
          "description": "The user's location.for example: 東京の端っこ . may be empty"
        },
        "followers": {
          "type": "integer",
          "description": "Number of followers"
        },
        "following": {
          "type": "integer",
          "description": "Number of accounts following"
        },
        "canDm": {
          "type": "boolean",
          "description": "Whether the user can receive DMs"
        },
        "createdAt": {
          "type": "string",
          "description": "When the account was created. Format depends on the endpoint: /twitter/user/info returns ISO 8601 (e.g. 2007-12-19T20:20:32.000000Z); inside tweet objects (tweet.author) it is the classic X format (e.g. Wed Dec 19 20:20:32 +0000 2007)."
        },
        "favouritesCount": {
          "type": "integer",
          "description": "Number of favorites"
        },
        "hasCustomTimelines": {
          "type": "boolean",
          "description": "Whether the user has custom timelines"
        },
        "isTranslator": {
          "type": "boolean",
          "description": "Whether the user is a translator"
        },
        "mediaCount": {
          "type": "integer",
          "description": "Number of media posts"
        },
        "statusesCount": {
          "type": "integer",
          "description": "Number of status updates"
        },
        "withheldInCountries": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Countries where the account is withheld"
        },
        "affiliatesHighlightedLabel": {
          "type": "object"
        },
        "possiblySensitive": {
          "type": "boolean",
          "description": "Whether the account may contain sensitive content"
        },
        "pinnedTweetIds": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "IDs of pinned tweets"
        },
        "isAutomated": {
          "type": "boolean",
          "description": "Whether the account is automated"
        },
        "automatedBy": {
          "type": "string",
          "description": "The account that automated the account"
        },
        "unavailable": {
          "type": "boolean",
          "description": "Whether the account is unavailable"
        },
        "message": {
          "type": "string",
          "description": "The message of the account.eg. \"This account is unavailable\" or \"This account is suspended\""
        },
        "unavailableReason": {
          "type": "string",
          "description": "The reason the account is unavailable.eg. \"suspended\" "
        },
        "profile_bio": {
          "type": "object",
          "properties": {
            "description": {
              "type": "string"
            },
            "entities": {
              "type": "object",
              "properties": {
                "description": {
                  "type": "object",
                  "properties": {
                    "urls": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "display_url": {
                            "type": "string"
                          },
                          "expanded_url": {
                            "type": "string"
                          },
                          "indices": {
                            "type": "array",
                            "items": {
                              "type": "integer"
                            }
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                },
                "url": {
                  "type": "object",
                  "properties": {
                    "urls": {
                      "type": "array",
                      "items": {
                        "type": "object",
                        "properties": {
                          "display_url": {
                            "type": "string"
                          },
                          "expanded_url": {
                            "type": "string"
                          },
                          "indices": {
                            "type": "array",
                            "items": {
                              "type": "integer"
                            }
                          },
                          "url": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}