diff --git a/apps/twscrape/.dockerignore b/apps/twscrape/.dockerignore new file mode 100644 index 0000000..f3473ad --- /dev/null +++ b/apps/twscrape/.dockerignore @@ -0,0 +1,10 @@ +.DS_Store +.ruff_cache/ +.coverage +accounts/ +results-raw/ +results-parsed/ +accounts.db* +data/ +data_media/ +dist/ diff --git a/apps/twscrape/.gitattributes b/apps/twscrape/.gitattributes new file mode 100644 index 0000000..65ad509 --- /dev/null +++ b/apps/twscrape/.gitattributes @@ -0,0 +1 @@ +tests/mocked-data/* linguist-generated=true diff --git a/apps/twscrape/.github/CODEOWNERS b/apps/twscrape/.github/CODEOWNERS new file mode 100644 index 0000000..e8d03da --- /dev/null +++ b/apps/twscrape/.github/CODEOWNERS @@ -0,0 +1 @@ +* @vladkens \ No newline at end of file diff --git a/apps/twscrape/.github/example.png b/apps/twscrape/.github/example.png new file mode 100644 index 0000000..881abbd Binary files /dev/null and b/apps/twscrape/.github/example.png differ diff --git a/apps/twscrape/.github/workflows/ci.yml b/apps/twscrape/.github/workflows/ci.yml new file mode 100644 index 0000000..579478d --- /dev/null +++ b/apps/twscrape/.github/workflows/ci.yml @@ -0,0 +1,52 @@ +name: build + +on: + push: + pull_request: + +env: + PIP_ROOT_USER_ACTION: ignore + +jobs: + test: + runs-on: ubuntu-latest + strategy: + matrix: + python-version: ["3.10", "3.11", "3.12", "3.13"] + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: ${{ matrix.python-version }} + + - name: install dependencies + run: pip install -e .[dev] + + - run: make lint + - run: make test + + release: + if: ${{ startsWith(github.ref, 'refs/tags/v') }} + runs-on: ubuntu-latest + needs: test + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: "3.x" + + - run: python -m pip install build + - run: python -m build --sdist --wheel --outdir dist/ . + + - uses: pypa/gh-action-pypi-publish@release/v1 + with: + password: ${{ secrets.PYPI_API_TOKEN }} + + - name: Create Github Release + uses: softprops/action-gh-release@v2 + with: + generate_release_notes: true + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/apps/twscrape/.gitignore b/apps/twscrape/.gitignore new file mode 100644 index 0000000..f3473ad --- /dev/null +++ b/apps/twscrape/.gitignore @@ -0,0 +1,10 @@ +.DS_Store +.ruff_cache/ +.coverage +accounts/ +results-raw/ +results-parsed/ +accounts.db* +data/ +data_media/ +dist/ diff --git a/apps/twscrape/.gitrepo b/apps/twscrape/.gitrepo new file mode 100644 index 0000000..ed16db5 --- /dev/null +++ b/apps/twscrape/.gitrepo @@ -0,0 +1,12 @@ +; DO NOT EDIT (unless you know what you are doing) +; +; This subdirectory is a git "subrepo", and this file is maintained by the +; git-subrepo command. See https://github.com/ingydotnet/git-subrepo#readme +; +[subrepo] + remote = https://github.com/vladkens/twscrape + branch = main + commit = e4dce5d31f3904481efe4b20f504f50326185147 + parent = 0afc214ffb1ac7786233d667028b501bb249c868 + method = merge + cmdver = 0.4.9 diff --git a/apps/twscrape/.vscode/settings.json b/apps/twscrape/.vscode/settings.json new file mode 100644 index 0000000..2a09b69 --- /dev/null +++ b/apps/twscrape/.vscode/settings.json @@ -0,0 +1,24 @@ +{ + "[python]": { + "editor.formatOnSave": true, + "editor.codeActionsOnSave": ["source.organizeImports"], + "editor.defaultFormatter": "charliermarsh.ruff" + }, + "[toml]": { + "editor.defaultFormatter": "tamasfe.even-better-toml" + }, + "[markdown]": { + "editor.wordWrap": "wordWrapColumn", + "editor.wordWrapColumn": 99 + }, + "files.exclude": { + ".ruff_cache": true, + ".pytest_cache": true, + ".coverage": true, + "htmlcov": true, + "dist": true + }, + "files.associations": { + "Dockerfile.*": "dockerfile" + } +} diff --git a/apps/twscrape/Dockerfile.py-matrix b/apps/twscrape/Dockerfile.py-matrix new file mode 100644 index 0000000..fe68e54 --- /dev/null +++ b/apps/twscrape/Dockerfile.py-matrix @@ -0,0 +1,11 @@ +ARG VER=3.12 + +FROM python:${VER}-alpine +RUN apk add git + +WORKDIR /app +COPY pyproject.toml readme.md /app/ +RUN pip install -e .[dev] +COPY . /app + +CMD ["sh", "-c", "pytest tests/"] diff --git a/apps/twscrape/Dockerfile.sq-matrix b/apps/twscrape/Dockerfile.sq-matrix new file mode 100644 index 0000000..3c32b23 --- /dev/null +++ b/apps/twscrape/Dockerfile.sq-matrix @@ -0,0 +1,21 @@ +FROM python:3.10-alpine +RUN apk add build-base + +ARG SQLY=2021 +ARG SQLV=3340100 + +RUN wget https://sqlite.org/${SQLY}/sqlite-autoconf-${SQLV}.tar.gz -O sqlite.tar.gz \ + && tar xvfz sqlite.tar.gz \ + && cd sqlite-autoconf-${SQLV} \ + && ./configure --prefix=/usr/local --build=aarch64-unknown-linux-gnu \ + && make \ + && make install \ + && cd .. \ + && rm -rf sqlite* + +WORKDIR /app +COPY pyproject.toml readme.md /app/ +RUN pip install -e .[dev] +COPY . /app + +CMD ["sh", "-c", "sqlite3 --version; python -c 'import sqlite3;print(sqlite3.sqlite_version)'; pytest tests/"] diff --git a/apps/twscrape/LICENSE b/apps/twscrape/LICENSE new file mode 100644 index 0000000..2090efe --- /dev/null +++ b/apps/twscrape/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 vladkens + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/apps/twscrape/Makefile b/apps/twscrape/Makefile new file mode 100644 index 0000000..5c2c25a --- /dev/null +++ b/apps/twscrape/Makefile @@ -0,0 +1,69 @@ +check: + @make lint + @make test + +install: + pip install -e .[dev] + python -m build + +build: + python -m build --sdist --wheel --outdir dist/ . + +lint: + @python -m ruff check --select I --fix . + @python -m ruff format . + @python -m ruff check . + @python -m pyright . + +test: + @python -m pytest -s --cov=twscrape tests/ + +test-cov: + @python -m pytest -s --cov=twscrape tests/ + @coverage html + @open htmlcov/index.html + +test-py: + $(eval name=twscrape_py$(v)) + @docker -l warning build -f Dockerfile.py-matrix --build-arg VER=$(v) -t $(name) . + @docker run $(name) + +test-sq: + $(eval name=twscrape_sq$(v)) + @docker -l warning build -f Dockerfile.sq-matrix --build-arg SQLY=$(y) --build-arg SQLV=$(v) -t $(name) . + @docker run $(name) + +test-matrix-py: + @make test-py v=3.10 + @make test-py v=3.11 + @make test-py v=3.12 + @make test-py v=3.13 + +test-matrix-sq: + @# https://www.sqlite.org/chronology.html + @make test-sq y=2018 v=3240000 + @make test-sq y=2019 v=3270200 + @make test-sq y=2019 v=3300100 + @make test-sq y=2020 v=3330000 + @make test-sq y=2021 v=3340100 + @make test-sq y=2023 v=3430000 + @make test-sq y=2023 v=3440000 + @make test-sq y=2024 v=3450300 + +update-mocks: + @rm -rf ./tests/mocked-data/raw_*.json + twscrape user_by_id --raw 2244994945 | jq > ./tests/mocked-data/raw_user_by_id.json + twscrape user_by_login --raw xdevelopers | jq > ./tests/mocked-data/raw_user_by_login.json + twscrape following --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_following.json + twscrape followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_followers.json + twscrape verified_followers --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_verified_followers.json + twscrape subscriptions --raw --limit 10 58579942 | jq > ./tests/mocked-data/raw_subscriptions.json + twscrape tweet_details --raw 1649191520250245121 | jq > ./tests/mocked-data/raw_tweet_details.json + twscrape tweet_replies --limit 1 --raw 1649191520250245121 | jq > ./tests/mocked-data/raw_tweet_replies.json + twscrape retweeters --raw --limit 10 1649191520250245121 | jq > ./tests/mocked-data/raw_retweeters.json + twscrape user_tweets --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_user_tweets.json + twscrape user_tweets_and_replies --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_user_tweets_and_replies.json + twscrape user_media --raw --limit 10 2244994945 | jq > ./tests/mocked-data/raw_user_media.json + twscrape search --raw --limit 5 "elon musk lang:en" | jq > ./tests/mocked-data/raw_search.json + twscrape list_timeline --raw --limit 10 1494877848087187461 | jq > ./tests/mocked-data/raw_list_timeline.json + twscrape trends --raw sport | jq > ./tests/mocked-data/raw_trends.json diff --git a/apps/twscrape/_get_gql_ops.py b/apps/twscrape/_get_gql_ops.py new file mode 100644 index 0000000..ee2fd84 --- /dev/null +++ b/apps/twscrape/_get_gql_ops.py @@ -0,0 +1,110 @@ +import json +import os +import re + +import httpx +from fake_useragent import UserAgent + +""" +docker run --rm -p "3128:3128/tcp" -p "1080:1080/tcp" -e "PROXY_LOGIN=user" -e "PROXY_PASSWORD=pass" tarampampam/3proxy +docker run --rm -p "3129:3128/tcp" -p "1081:1080/tcp" tarampampam/3proxy +""" + +client = httpx.Client(headers={"user-agent": UserAgent().chrome}, follow_redirects=True) + +with open("./twscrape/api.py") as fp: + ops = [x.strip() for x in fp.read().split("\n")] + ops = [x.split("=")[0].removeprefix("OP_").strip() for x in ops if x.startswith("OP_")] + + +def script_url(k: str, v: str): + return f"https://abs.twimg.com/responsive-web/client-web/{k}.{v}.js" + + +def get_page_text(url: str): + rep = client.get(url) + rep.raise_for_status() + if ">document.location =" not in rep.text: + return rep.text + + url = rep.text.split('document.location = "')[1].split('"')[0] + rep = client.get(url) + rep.raise_for_status() + if 'action="https://x.com/x/migrate" method="post"' not in rep.text: + return rep.text + + data = {} + for x in rep.text.split("<input")[1:]: + name = x.split('name="')[1].split('"')[0] + value = x.split('value="')[1].split('"')[0] + data[name] = value + + rep = client.post("https://x.com/x/migrate", json=data) + rep.raise_for_status() + + return rep.text + + +def get_scripts(): + cache_dir = "/tmp/twscrape-ops" + os.makedirs(cache_dir, exist_ok=True) + + text = get_page_text("https://x.com/elonmusk") + urls = [] + + scripts = text.split('e=>e+"."+')[1].split('[e]+"a.js"')[0] + try: + for k, v in json.loads(scripts).items(): + urls.append(script_url(k, f"{v}a")) + except json.decoder.JSONDecodeError as e: + print(scripts) + print(e) + exit(1) + + v = text.split("/client-web/main.")[1].split(".")[0] + urls.append(script_url("main", v)) + + urls = [ + x + for x in urls + if "/i18n/" not in x and "/icons/" not in x and "react-syntax-highlighter" not in x + ] + + scripts = [] + for i, x in enumerate(urls, 1): + cache_path = os.path.join(cache_dir, x.split("/")[-1].split("?")[0]) + if os.path.exists(cache_path): + with open(cache_path) as fp: + scripts.append(fp.read()) + continue + + print(f"({i:3d} / {len(urls):3d}) {x}") + rep = client.get(x) + rep.raise_for_status() + + with open(cache_path, "w") as fp: + fp.write(rep.text) + scripts.append(rep.text) + + return scripts + + +all_pairs = {} +for txt in get_scripts(): + pairs = re.findall(r'queryId:"(.+?)".+?operationName:"(.+?)"', txt) + pairs = {op_name: op_id for op_id, op_name in pairs} + + for k, v in pairs.items(): + if k in all_pairs and v != all_pairs[k]: + print(f"DIFF: {k} = {v} != {all_pairs[k]}") + + all_pairs[k] = v + + +for k, v in all_pairs.items(): + print(f'OP_{k} = "{v}/{k}"') + +print("-" * 40) + +for x in ops: + print(f'OP_{x} = "{all_pairs.get(x, "???")}/{x}"') diff --git a/apps/twscrape/examples/download_media.py b/apps/twscrape/examples/download_media.py new file mode 100644 index 0000000..d814585 --- /dev/null +++ b/apps/twscrape/examples/download_media.py @@ -0,0 +1,43 @@ +import asyncio +import os + +import httpx + +from twscrape import API + + +async def download_file(client: httpx.AsyncClient, url: str, outdir: str): + filename = url.split("/")[-1].split("?")[0] + outpath = os.path.join(outdir, filename) + + async with client.stream("GET", url) as resp: + with open(outpath, "wb") as f: + async for chunk in resp.aiter_bytes(): + f.write(chunk) + + +async def load_user_media(api: API, user_id: int, outdir: str): + os.makedirs(outdir, exist_ok=True) + all_photos = [] + all_videos = [] + + async for doc in api.user_media(user_id): + all_photos.extend([x.url for x in doc.media.photos]) + for video in doc.media.videos: + variant = sorted(video.variants, key=lambda x: x.bitrate)[-1] + all_videos.append(variant.url) + + async with httpx.AsyncClient() as client: + await asyncio.gather( + *[download_file(client, url, outdir) for url in all_photos], + *[download_file(client, url, outdir) for url in all_videos], + ) + + +async def main(): + api = API() + await load_user_media(api, 2244994945, "data_media") + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/apps/twscrape/examples/parallel_search.py b/apps/twscrape/examples/parallel_search.py new file mode 100644 index 0000000..e3d4ae5 --- /dev/null +++ b/apps/twscrape/examples/parallel_search.py @@ -0,0 +1,37 @@ +""" +This example shows how to use twscrape to complete some queries in parallel. +To limit the number of concurrent requests, see examples/parallel_search_with_limit.py +""" + +import asyncio + +import twscrape + + +async def worker(api: twscrape.API, q: str): + tweets = [] + try: + async for doc in api.search(q): + tweets.append(doc) + except Exception as e: + print(e) + finally: + return tweets + + +async def main(): + api = twscrape.API() + # add accounts here or before from cli (see README.md for examples) + await api.pool.add_account("u1", "p1", "eu1", "ep1") + await api.pool.login_all() + + queries = ["elon musk", "tesla", "spacex", "neuralink", "boring company"] + results = await asyncio.gather(*(worker(api, q) for q in queries)) + + combined = dict(zip(queries, results)) + for k, v in combined.items(): + print(k, len(v)) + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/apps/twscrape/examples/parallel_search_with_limit.py b/apps/twscrape/examples/parallel_search_with_limit.py new file mode 100644 index 0000000..d2a855f --- /dev/null +++ b/apps/twscrape/examples/parallel_search_with_limit.py @@ -0,0 +1,46 @@ +""" +This example shows how to use twscrape in parallel with concurrency limit. +""" + +import asyncio +import time + +import twscrape + + +async def worker(queue: asyncio.Queue, api: twscrape.API): + while True: + query = await queue.get() + + try: + tweets = await twscrape.gather(api.search(query)) + print(f"{query} - {len(tweets)} - {int(time.time())}") + # do something with tweets here, eg same to file, etc + except Exception as e: + print(f"Error on {query} - {type(e)}") + finally: + queue.task_done() + + +async def main(): + api = twscrape.API() + # add accounts here or before from cli (see README.md for examples) + await api.pool.add_account("u1", "p1", "eu1", "ep1") + await api.pool.login_all() + + queries = ["elon musk", "tesla", "spacex", "neuralink", "boring company"] + + queue = asyncio.Queue() + + workers_count = 2 # limit concurrency here 2 concurrent requests at time + workers = [asyncio.create_task(worker(queue, api)) for _ in range(workers_count)] + for q in queries: + queue.put_nowait(q) + + await queue.join() + for worker_task in workers: + worker_task.cancel() + + +if __name__ == "__main__": + asyncio.run(main()) diff --git a/apps/twscrape/pyproject.toml b/apps/twscrape/pyproject.toml new file mode 100644 index 0000000..8c5c2fb --- /dev/null +++ b/apps/twscrape/pyproject.toml @@ -0,0 +1,66 @@ +[build-system] +requires = ["hatchling>=1.9.1"] +build-backend = "hatchling.build" + +[project] +name = "twscrape" +version = "0.16.0" +authors = [{ name = "vladkens", email = "v.pronsky@gmail.com" }] +description = "Twitter GraphQL and Search API implementation with SNScrape data models" +readme = "readme.md" +requires-python = ">=3.10" +keywords = ["twitter", "scrape", "scrapper", "api", "snscrape"] +license = { text = "MIT" } +classifiers = [ + 'Development Status :: 4 - Beta', + 'License :: OSI Approved :: MIT License', + 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', + 'Programming Language :: Python :: 3.12', + 'Programming Language :: Python :: 3.13', +] +dependencies = [ + "aiosqlite>=0.17.0", + "fake-useragent>=1.4.0", + "httpx>=0.26.0", + "loguru>=0.7.0", + "pyotp>=2.9.0", +] + +[project.optional-dependencies] +dev = [ + "build>=1.2.2", + "pyright>=1.1.369", + "pytest-asyncio>=0.23.3", + "pytest-cov>=4.1.0", + "pytest-httpx>=0.28.0", + "pytest>=7.4.4", + "ruff>=0.1.11", +] + +[project.urls] +repository = "https://github.com/vladkens/twscrape" + +[project.scripts] +twscrape = "twscrape.cli:run" + +[tool.setuptools] +packages = ['twscrape'] + +[tool.hatch.build.targets.wheel] +packages = ["twscrape"] + +[tool.hatch.metadata] +allow-direct-references = true + +[tool.pytest.ini_options] +pythonpath = ["."] +asyncio_mode = "auto" +asyncio_default_fixture_loop_scope = "session" +filterwarnings = ["ignore::DeprecationWarning"] + +[tool.ruff] +line-length = 99 + +[tool.ruff.lint] +ignore = ["E501"] diff --git a/apps/twscrape/readme.md b/apps/twscrape/readme.md new file mode 100644 index 0000000..2db032d --- /dev/null +++ b/apps/twscrape/readme.md @@ -0,0 +1,344 @@ +# twscrape + +<div align="center"> + +[<img src="https://badges.ws/pypi/v/twscrape" alt="version" />](https://pypi.org/project/twscrape) +[<img src="https://badges.ws/pypi/python/twscrape" alt="py versions" />](https://pypi.org/project/twscrape) +[<img src="https://badges.ws/pypi/dm/twscrape" alt="downloads" />](https://pypi.org/project/twscrape) +[<img src="https://badges.ws/github/license/vladkens/twscrape" alt="license" />](https://github.com/vladkens/twscrape/blob/main/LICENSE) +[<img src="https://badges.ws/badge/-/buy%20me%20a%20coffee/ff813f?icon=buymeacoffee&label" alt="donate" />](https://buymeacoffee.com/vladkens) + +</div> + +Twitter GraphQL API implementation with [SNScrape](https://github.com/JustAnotherArchivist/snscrape) data models. + +<div align="center"> + <img src=".github/example.png" alt="example of cli usage" height="400px"> +</div> + +## Install + +```bash +pip install twscrape +``` +Or development version: +```bash +pip install git+https://github.com/vladkens/twscrape.git +``` + +## Features +- Support both Search & GraphQL Twitter API +- Async/Await functions (can run multiple scrapers in parallel at the same time) +- Login flow (with receiving verification code from email) +- Saving/restoring account sessions +- Raw Twitter API responses & SNScrape models +- Automatic account switching to smooth Twitter API rate limits + +## Usage + +This project requires authorized X/Twitter accounts to work with the API. You have two options: + +1. **Create Your Own Account**: While you can register a new account on X/Twitter yourself, it's can be difficult due to strict verification processes and high ban rates. + +2. **Use Ready Accounts**: For immediate access, you can get ready-to-use accounts with cookies from [our recommended provider](https://kutt.it/ueeM5f). Cookie-based accounts typically have fewer login issues. + +For optimal performance and to avoid IP-based restrictions, we also recommend using proxies from [our provider](https://kutt.it/eb3rXk). + +**Disclaimer**: While X/Twitter's Terms of Service discourage using multiple accounts, this is a common practice for data collection and research purposes. Use responsibly and at your own discretion. + +```python +import asyncio +from twscrape import API, gather +from twscrape.logger import set_log_level + +async def main(): + api = API() # or API("path-to.db") – default is `accounts.db` + + # ADD ACCOUNTS (for CLI usage see next readme section) + + # Option 1. Adding account with cookies (more stable) + cookies = "abc=12; ct0=xyz" # or '{"abc": "12", "ct0": "xyz"}' + await api.pool.add_account("user3", "pass3", "u3@mail.com", "mail_pass3", cookies=cookies) + + # Option2. Adding account with login / password (less stable) + # email login / password required to receive the verification code via IMAP protocol + # (not all email providers are supported, e.g. ProtonMail) + await api.pool.add_account("user1", "pass1", "u1@example.com", "mail_pass1") + await api.pool.add_account("user2", "pass2", "u2@example.com", "mail_pass2") + await api.pool.login_all() # try to login to receive account cookies + + # API USAGE + + # search (latest tab) + await gather(api.search("elon musk", limit=20)) # list[Tweet] + # change search tab (product), can be: Top, Latest (default), Media + await gather(api.search("elon musk", limit=20, kv={"product": "Top"})) + + # tweet info + tweet_id = 20 + await api.tweet_details(tweet_id) # Tweet + await gather(api.retweeters(tweet_id, limit=20)) # list[User] + + # Note: this method have small pagination from X side, like 5 tweets per query + await gather(api.tweet_replies(tweet_id, limit=20)) # list[Tweet] + + # get user by login + user_login = "xdevelopers" + await api.user_by_login(user_login) # User + + # user info + user_id = 2244994945 + await api.user_by_id(user_id) # User + await gather(api.following(user_id, limit=20)) # list[User] + await gather(api.followers(user_id, limit=20)) # list[User] + await gather(api.verified_followers(user_id, limit=20)) # list[User] + await gather(api.subscriptions(user_id, limit=20)) # list[User] + await gather(api.user_tweets(user_id, limit=20)) # list[Tweet] + await gather(api.user_tweets_and_replies(user_id, limit=20)) # list[Tweet] + await gather(api.user_media(user_id, limit=20)) # list[Tweet] + + # list info + await gather(api.list_timeline(list_id=123456789)) + + # trends + await gather(api.trends("news")) # list[Trend] + await gather(api.trends("sport")) # list[Trend] + await gather(api.trends("VGltZWxpbmU6DAC2CwABAAAACHRyZW5kaW5nAAA")) # list[Trend] + + # NOTE 1: gather is a helper function to receive all data as list, FOR can be used as well: + async for tweet in api.search("elon musk"): + print(tweet.id, tweet.user.username, tweet.rawContent) # tweet is `Tweet` object + + # NOTE 2: all methods have `raw` version (returns `httpx.Response` object): + async for rep in api.search_raw("elon musk"): + print(rep.status_code, rep.json()) # rep is `httpx.Response` object + + # change log level, default info + set_log_level("DEBUG") + + # Tweet & User model can be converted to regular dict or json, e.g.: + doc = await api.user_by_id(user_id) # User + doc.dict() # -> python dict + doc.json() # -> json string + +if __name__ == "__main__": + asyncio.run(main()) +``` + +### Stoping iteration with break + +In order to correctly release an account in case of `break` in loop, a special syntax must be used. Otherwise, Python's events loop will release lock on the account sometime in the future. See explanation [here](https://github.com/vladkens/twscrape/issues/27#issuecomment-1623395424). + +```python +from contextlib import aclosing + +async with aclosing(api.search("elon musk")) as gen: + async for tweet in gen: + if tweet.id < 200: + break +``` + +## CLI + +### Get help on CLI commands + +```sh +# show all commands +twscrape + +# help on specific comand +twscrape search --help +``` + +### Add accounts + +To add accounts use `add_accounts` command. Command syntax is: +```sh +twscrape add_accounts <file_path> <line_format> +``` + +Where: +`<line_format>` is format of line if accounts file splited by delimeter. Possible tokens: +- `username` – required +- `password` – required +- `email` – required +- `email_password` – to receive email code (you can use `--manual` mode to get code) +- `cookies` – can be any parsable format (string, json, base64 string, etc) +- `_` – skip column from parse + +Tokens should be splited by delimeter, usually "`:`" used. + +Example: + +I have account files named `order-12345.txt` with format: +```text +username:password:email:email password:user_agent:cookies +``` + +Command to add accounts will be (user_agent column skiped with `_`): +```sh +twscrape add_accounts ./order-12345.txt username:password:email:email_password:_:cookies +``` + +### Login accounts + +_Note:_ If you added accounts with cookies, login not required. + +Run: + +```sh +twscrape login_accounts +``` + +`twscrape` will start login flow for each new account. If X will ask to verify email and you provided `email_password` in `add_account`, then `twscrape` will try to receive verification code by IMAP protocol. After success login account cookies will be saved to db file for future use. + +#### Manual email verification + +In case your email provider not support IMAP protocol (ProtonMail, Tutanota, etc) or IMAP is disabled in settings, you can enter email verification code manually. To do this run login command with `--manual` flag. + +Example: + +```sh +twscrape login_accounts --manual +twscrape relogin user1 user2 --manual +twscrape relogin_failed --manual +``` + +### Get list of accounts and their statuses + +```sh +twscrape accounts + +# Output: +# username logged_in active last_used total_req error_msg +# user1 True True 2023-05-20 03:20:40 100 None +# user2 True True 2023-05-20 03:25:45 120 None +# user3 False False None 120 Login error +``` + +### Re-login accounts + +It is possible to re-login specific accounts: + +```sh +twscrape relogin user1 user2 +``` + +Or retry login for all failed logins: + +```sh +twscrape relogin_failed +``` + +### Use different accounts file + +Useful if using a different set of accounts for different actions + +``` +twscrape --db test-accounts.db <command> +``` + +### Search commands + +```sh +twscrape search "QUERY" --limit=20 +twscrape tweet_details TWEET_ID +twscrape tweet_replies TWEET_ID --limit=20 +twscrape retweeters TWEET_ID --limit=20 +twscrape user_by_id USER_ID +twscrape user_by_login USERNAME +twscrape user_media USER_ID --limit=20 +twscrape following USER_ID --limit=20 +twscrape followers USER_ID --limit=20 +twscrape verified_followers USER_ID --limit=20 +twscrape subscriptions USER_ID --limit=20 +twscrape user_tweets USER_ID --limit=20 +twscrape user_tweets_and_replies USER_ID --limit=20 +twscrape trends sport +``` + +The default output is in the console (stdout), one document per line. So it can be redirected to the file. + +```sh +twscrape search "elon mask lang:es" --limit=20 > data.txt +``` + +By default, parsed data is returned. The original tweet responses can be retrieved with `--raw` flag. + +```sh +twscrape search "elon mask lang:es" --limit=20 --raw +``` + +### About `limit` param + +X API works through pagination, each API method can have different defaults for per page parameter (and this parameter can't be changed by caller). So `limit` param in `twscrape` is the desired number of objects (tweets or users, depending on the method). `twscrape` tries to return NO LESS objects than requested. If the X API returns less or more objects, `twscrape` will return whatever X gives. + +## Proxy + +There are few options to use proxies. + +1. You can add proxy per account + +```py +proxy = "http://login:pass@example.com:8080" +await api.pool.add_account("user4", "pass4", "u4@mail.com", "mail_pass4", proxy=proxy) +``` + +2. You can use global proxy for all accounts + +```py +proxy = "http://login:pass@example.com:8080" +api = API(proxy=proxy) +doc = await api.user_by_login("elonmusk") +``` + +3. Use can set proxy with environemt variable `TWS_RPOXY`: + +```sh +TWS_PROXY=socks5://user:pass@127.0.0.1:1080 twscrape user_by_login elonmusk +``` + +4. You can change proxy any time like: + +```py +api.proxy = "socks5://user:pass@127.0.0.1:1080" +doc = await api.user_by_login("elonmusk") # new proxy will be used +api.proxy = None +doc = await api.user_by_login("elonmusk") # no proxy used +``` + +5. Proxy priorities + +- `api.proxy` have top priority +- `env.proxy` will be used if `api.proxy` is None +- `acc.proxy` have lowest priotity + +So if you want to use proxy PER ACCOUNT, do NOT override proxy with env variable or by passing proxy param to API. + +_Note:_ If proxy not working, exception will be raised from API class. + +## Environment Variables + +- `TWS_PROXY` - global proxy for all accounts (e.g. `socks5://user:pass@127.0.0.1:1080`) +- `TWS_WAIT_EMAIL_CODE` - timeout for email verification code during login (default: `30`, in seconds) +- `TWS_RAISE_WHEN_NO_ACCOUNT` - raise `NoAccountError` exception when no available accounts, instead of waiting (default: `false`, values: `false`/`0`/`true`/`1`) + +## Limitations + +X/Twitter regularly [updates](https://x.com/elonmusk/status/1675187969420828672) their rate limits. Current basic behavior: +- Request limits reset every 15 minutes for each endpoint individually +- Each account has separate limits for different operations (search, profile views, etc.) + +API data limitations: +- `user_tweets` & `user_tweets_and_replies` - can return ~3200 tweets maximum +- Rate limits may vary based on account age and status + +## Articles +- [How to still scrape millions of tweets in 2023](https://medium.com/@vladkens/how-to-still-scrape-millions-of-tweets-in-2023-using-twscrape-97f5d3881434) +- [_(Add Article)_](https://github.com/vladkens/twscrape/edit/main/readme.md) + +## See also +- [twitter-advanced-search](https://github.com/igorbrigadir/twitter-advanced-search) – guide on search filters +- [twitter-api-client](https://github.com/trevorhobenshield/twitter-api-client) – Implementation of Twitter's v1, v2, and GraphQL APIs +- [snscrape](https://github.com/JustAnotherArchivist/snscrape) – is a scraper for social networking services (SNS) +- [twint](https://github.com/twintproject/twint) – Twitter Intelligence Tool diff --git a/apps/twscrape/tests/__init__.py b/apps/twscrape/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/apps/twscrape/tests/conftest.py b/apps/twscrape/tests/conftest.py new file mode 100644 index 0000000..10a8ad9 --- /dev/null +++ b/apps/twscrape/tests/conftest.py @@ -0,0 +1,35 @@ +import pytest + +from twscrape.accounts_pool import AccountsPool +from twscrape.api import API +from twscrape.logger import set_log_level +from twscrape.queue_client import QueueClient + +set_log_level("ERROR") + + +@pytest.fixture +def pool_mock(tmp_path): + db_path = tmp_path / "test.db" + yield AccountsPool(db_path) + + +@pytest.fixture +async def client_fixture(pool_mock: AccountsPool): + pool_mock._order_by = "username" + + for x in range(1, 3): + await pool_mock.add_account(f"user{x}", f"pass{x}", f"email{x}", f"email_pass{x}") + await pool_mock.set_active(f"user{x}", True) + + client = QueueClient(pool_mock, "SearchTimeline") + yield pool_mock, client + + +@pytest.fixture +async def api_mock(pool_mock: AccountsPool): + await pool_mock.add_account("user1", "pass1", "email1", "email_pass1") + await pool_mock.set_active("user1", True) + + api = API(pool_mock) + yield api diff --git a/apps/twscrape/tests/mocked-data/_issue_28_1.json b/apps/twscrape/tests/mocked-data/_issue_28_1.json new file mode 100644 index 0000000..a939772 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/_issue_28_1.json @@ -0,0 +1,847 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1658409412799737856", + "sortIndex": "7564962624055037951", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1658409412799737856", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjk2ODAxOTcwNzc1MzY3Njgw", + "rest_id": "1296801970775367680", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Aug 21 13:31:26 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "Por una unidad de izquierdas real .Bienvenidos a la #RedRoja. Sigue a quien te siga . Red de seguridad: @RedRoj4 @REDROJA@mastodon.world", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "instagram.com/redroja4?igshi…", + "expanded_url": "https://instagram.com/redroja4?igshid=1d8cfo0z5wf2t", + "url": "https://t.co/yLqbCaFwck", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 60839, + "followers_count": 43398, + "friends_count": 31537, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 100, + "location": "Izquierda ", + "media_count": 1469, + "name": "RED ROJA 🔻", + "normal_followers_count": 43398, + "pinned_tweet_ids_str": [ + "1592141363050860546" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1296801970775367680/1618465956", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1541282511816376322/4UQWhvwj_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "REDROJA4", + "statuses_count": 30422, + "translator_type": "none", + "url": "https://t.co/yLqbCaFwck", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1658409412799737856" + ], + "editable_until_msecs": "1684232390425", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": true, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue May 16 09:49:50 +0000 2023", + "conversation_id_str": "1658409412799737856", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "user_mentions": [ + { + "id_str": "2949065723", + "name": "SisuMisu", + "screen_name": "SisuMisu3", + "indices": [ + 3, + 13 + ] + }, + { + "id_str": "1860300192", + "name": "Alejandra Jacinto", + "screen_name": "AleJacintoUrang", + "indices": [ + 96, + 112 + ] + } + ], + "urls": [], + "hashtags": [ + { + "indices": [ + 131, + 136 + ], + "text": "Sisu" + } + ], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @SisuMisu3: Esta noche el circo está asegurado 😂😂😂\nAyuso se presenta al único debate.\nVamos \n@AleJacintoUrang \nEstamos contigo.\n#Sisu ht…", + "is_quote_status": false, + "lang": "es", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 42, + "retweeted": false, + "user_id_str": "1296801970775367680", + "id_str": "1658409412799737856", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1658407192859492355", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTQ5MDY1NzIz", + "rest_id": "2949065723", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Dec 29 11:54:26 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "MI LUCHA ESTÁ EN TODAS PARTES. POR LOS DERECHOS DE LOS ANIMALES. POR UN MUNDO MEJOR.ACTIVISTA", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 108021, + "followers_count": 15454, + "friends_count": 13032, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 34, + "location": "En donde me den amor ❤️😊🥰", + "media_count": 12985, + "name": "SisuMisu", + "normal_followers_count": 15454, + "pinned_tweet_ids_str": [ + "1087440689368043520" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2949065723/1513372062", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1528038627317538817/wvoi8QLf_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SisuMisu3", + "statuses_count": 164333, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1490288411835523072", + "professional_type": "Creator", + "category": [ + { + "id": 934, + "name": "Social Media Influencer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1658407192859492355" + ], + "editable_until_msecs": "1684231861000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": true, + "views": { + "count": "1110", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue May 16 09:41:01 +0000 2023", + "conversation_id_str": "1658407192859492355", + "display_text_range": [ + 0, + 121 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/apswi6Wwiw", + "expanded_url": "https://twitter.com/SisuMisu3/status/1658407192859492355/photo/1", + "id_str": "1658407190594453505", + "indices": [ + 122, + 145 + ], + "media_url_https": "https://pbs.twimg.com/media/FwPYjaBWAAETpRI.jpg", + "type": "photo", + "url": "https://t.co/apswi6Wwiw", + "features": { + "large": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + }, + "medium": { + "faces": [ + { + "x": 255, + "y": 237, + "h": 329, + "w": 329 + } + ] + }, + "small": { + "faces": [ + { + "x": 145, + "y": 134, + "h": 186, + "w": 186 + } + ] + }, + "orig": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + } + }, + "sizes": { + "large": { + "h": 1280, + "w": 1024, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 1024, + "focus_rects": [ + { + "x": 0, + "y": 642, + "w": 1024, + "h": 573 + }, + { + "x": 0, + "y": 256, + "w": 1024, + "h": 1024 + }, + { + "x": 0, + "y": 113, + "w": 1024, + "h": 1167 + }, + { + "x": 32, + "y": 0, + "w": 640, + "h": 1280 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 1280 + } + ] + } + } + ], + "user_mentions": [ + { + "id_str": "1860300192", + "name": "Alejandra Jacinto", + "screen_name": "AleJacintoUrang", + "indices": [ + 81, + 97 + ] + } + ], + "urls": [], + "hashtags": [ + { + "indices": [ + 116, + 121 + ], + "text": "Sisu" + } + ], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/apswi6Wwiw", + "expanded_url": "https://twitter.com/SisuMisu3/status/1658407192859492355/photo/1", + "id_str": "1658407190594453505", + "indices": [ + 122, + 145 + ], + "media_key": "3_1658407190594453505", + "media_url_https": "https://pbs.twimg.com/media/FwPYjaBWAAETpRI.jpg", + "type": "photo", + "url": "https://t.co/apswi6Wwiw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + }, + "medium": { + "faces": [ + { + "x": 255, + "y": 237, + "h": 329, + "w": 329 + } + ] + }, + "small": { + "faces": [ + { + "x": 145, + "y": 134, + "h": 186, + "w": 186 + } + ] + }, + "orig": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + } + }, + "sizes": { + "large": { + "h": 1280, + "w": 1024, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 1024, + "focus_rects": [ + { + "x": 0, + "y": 642, + "w": 1024, + "h": 573 + }, + { + "x": 0, + "y": 256, + "w": 1024, + "h": 1024 + }, + { + "x": 0, + "y": 113, + "w": 1024, + "h": 1167 + }, + { + "x": 32, + "y": 0, + "w": 640, + "h": 1280 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 1280 + } + ] + } + } + ] + }, + "favorite_count": 60, + "favorited": false, + "full_text": "Esta noche el circo está asegurado 😂😂😂\nAyuso se presenta al único debate.\nVamos \n@AleJacintoUrang \nEstamos contigo.\n#Sisu https://t.co/apswi6Wwiw", + "is_quote_status": false, + "lang": "es", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 5, + "retweet_count": 42, + "retweeted": false, + "user_id_str": "2949065723", + "id_str": "1658407192859492355" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "tweetdetailrelatedtweets-1677037919880507392", + "sortIndex": "1", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "tweetdetailrelatedtweets-1677037919880507392-tweet-1677037919880507392", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1677037919880507392", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTQ5MDY1NzIz", + "rest_id": "2949065723", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Dec 29 11:54:26 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "MI LUCHA ESTÁ EN TODAS PARTES. POR LOS DERECHOS DE LOS ANIMALES. POR UN MUNDO MEJOR.ACTIVISTA", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 108021, + "followers_count": 15454, + "friends_count": 13032, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 34, + "location": "En donde me den amor ❤️😊🥰", + "media_count": 12985, + "name": "SisuMisu", + "normal_followers_count": 15454, + "pinned_tweet_ids_str": [ + "1087440689368043520" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2949065723/1513372062", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1528038627317538817/wvoi8QLf_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SisuMisu3", + "statuses_count": 164333, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1490288411835523072", + "professional_type": "Creator", + "category": [ + { + "id": 934, + "name": "Social Media Influencer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1677037919880507392" + ], + "editable_until_msecs": "1688675572000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": true, + "views": { + "count": "75", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1677035434214412289", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzA1NDYwNDg5", + "rest_id": "1305460489", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Mar 26 19:56:20 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "Apartidario\n\"No puedo decir que no estoy en desacuerdo contigo\"\nMi humilde opinión . . .", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 24976, + "followers_count": 3394, + "friends_count": 3386, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 35, + "location": "Madrid, Comunidad de Madrid", + "media_count": 5191, + "name": "P.S.V.", + "normal_followers_count": 3394, + "pinned_tweet_ids_str": [ + "1075291506767003648" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1305460489/1437468007", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/869271246885793794/6YZVDC_r_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PShermanV", + "statuses_count": 175081, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1580505200997138433", + "professional_type": "Business", + "category": [ + { + "id": 15, + "name": "Entertainment & Recreation", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1677035434214412289" + ], + "editable_until_msecs": "1688674979000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "83", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Jul 06 19:22:59 +0000 2023", + "conversation_id_str": "1676995076461821958", + "display_text_range": [ + 28, + 99 + ], + "entities": { + "user_mentions": [ + { + "id_str": "2949065723", + "name": "SisuMisu", + "screen_name": "SisuMisu3", + "indices": [ + 0, + 10 + ] + }, + { + "id_str": "888853157912227840", + "name": "Rosa Isabel", + "screen_name": "RosaIsa38309247", + "indices": [ + 11, + 27 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@SisuMisu3 @RosaIsa38309247 O ESPABILAMOS O A LIMPIAR LAS ESCOPETAS\nANTE AQUELLO DE LOS 26 MILLONES", + "in_reply_to_screen_name": "SisuMisu3", + "in_reply_to_status_id_str": "1676995076461821958", + "in_reply_to_user_id_str": "2949065723", + "is_quote_status": false, + "lang": "es", + "quote_count": 1, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1305460489", + "id_str": "1677035434214412289" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Jul 06 19:32:52 +0000 2023", + "conversation_id_str": "1677037919880507392", + "display_text_range": [ + 0, + 90 + ], + "entities": { + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "Tengo fé en que todo saldrá bien.\nNi como esperamos pero nos librará de este sin sentido .", + "is_quote_status": true, + "lang": "es", + "quote_count": 0, + "quoted_status_id_str": "1677035434214412289", + "quoted_status_permalink": { + "url": "https://t.co/X6fr18ZfNN", + "expanded": "https://twitter.com/PShermanV/status/1677035434214412289", + "display": "twitter.com/PShermanV/stat…" + }, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "2949065723", + "id_str": "1677037919880507392" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "related_tweet", + "details": { + "conversationDetails": { + "conversationSection": "RelatedTweet" + } + } + } + } + } + ], + "displayType": "Vertical", + "header": { + "displayType": "Classic", + "text": "Discover more", + "socialContext": { + "type": "TimelineGeneralContext", + "contextType": "TextOnly", + "text": "Sourced from across Twitter" + }, + "sticky": true + }, + "clientEventInfo": { + "component": "related_tweet", + "details": { + "conversationDetails": { + "conversationSection": "RelatedTweet" + } + } + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ] + } + } +} \ No newline at end of file diff --git a/apps/twscrape/tests/mocked-data/_issue_28_2.json b/apps/twscrape/tests/mocked-data/_issue_28_2.json new file mode 100644 index 0000000..9d6f341 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/_issue_28_2.json @@ -0,0 +1,914 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1658421690001502208", + "sortIndex": "7564950346853273599", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1658421690001502208", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MzYxNDk1OTg=", + "rest_id": "436149598", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Dec 13 21:10:47 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "De Salamanca,", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 18457, + "followers_count": 3177, + "friends_count": 3040, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5, + "location": "españa", + "media_count": 1613, + "name": "Moreno", + "normal_followers_count": 3177, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/436149598/1368225000", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1664391740881510400/TMMIzBow_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "morenoagosto", + "statuses_count": 24367, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1658421690001502208" + ], + "editable_until_msecs": "1684235317000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "67", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1658407192859492355", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTQ5MDY1NzIz", + "rest_id": "2949065723", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Dec 29 11:54:26 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "MI LUCHA ESTÁ EN TODAS PARTES. POR LOS DERECHOS DE LOS ANIMALES. POR UN MUNDO MEJOR.ACTIVISTA", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 108032, + "followers_count": 15455, + "friends_count": 13034, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 34, + "location": "En donde me den amor ❤️😊🥰", + "media_count": 12987, + "name": "SisuMisu", + "normal_followers_count": 15455, + "pinned_tweet_ids_str": [ + "1087440689368043520" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2949065723/1513372062", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1528038627317538817/wvoi8QLf_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SisuMisu3", + "statuses_count": 164349, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1490288411835523072", + "professional_type": "Creator", + "category": [ + { + "id": 934, + "name": "Social Media Influencer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1658407192859492355" + ], + "editable_until_msecs": "1684231861000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": true, + "views": { + "count": "1110", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue May 16 09:41:01 +0000 2023", + "conversation_id_str": "1658407192859492355", + "display_text_range": [ + 0, + 121 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/apswi6Wwiw", + "expanded_url": "https://twitter.com/SisuMisu3/status/1658407192859492355/photo/1", + "id_str": "1658407190594453505", + "indices": [ + 122, + 145 + ], + "media_url_https": "https://pbs.twimg.com/media/FwPYjaBWAAETpRI.jpg", + "type": "photo", + "url": "https://t.co/apswi6Wwiw", + "features": { + "large": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + }, + "medium": { + "faces": [ + { + "x": 255, + "y": 237, + "h": 329, + "w": 329 + } + ] + }, + "small": { + "faces": [ + { + "x": 145, + "y": 134, + "h": 186, + "w": 186 + } + ] + }, + "orig": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + } + }, + "sizes": { + "large": { + "h": 1280, + "w": 1024, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 1024, + "focus_rects": [ + { + "x": 0, + "y": 642, + "w": 1024, + "h": 573 + }, + { + "x": 0, + "y": 256, + "w": 1024, + "h": 1024 + }, + { + "x": 0, + "y": 113, + "w": 1024, + "h": 1167 + }, + { + "x": 32, + "y": 0, + "w": 640, + "h": 1280 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 1280 + } + ] + } + } + ], + "user_mentions": [ + { + "id_str": "1860300192", + "name": "Alejandra Jacinto", + "screen_name": "AleJacintoUrang", + "indices": [ + 81, + 97 + ] + } + ], + "urls": [], + "hashtags": [ + { + "indices": [ + 116, + 121 + ], + "text": "Sisu" + } + ], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/apswi6Wwiw", + "expanded_url": "https://twitter.com/SisuMisu3/status/1658407192859492355/photo/1", + "id_str": "1658407190594453505", + "indices": [ + 122, + 145 + ], + "media_key": "3_1658407190594453505", + "media_url_https": "https://pbs.twimg.com/media/FwPYjaBWAAETpRI.jpg", + "type": "photo", + "url": "https://t.co/apswi6Wwiw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + }, + "medium": { + "faces": [ + { + "x": 255, + "y": 237, + "h": 329, + "w": 329 + } + ] + }, + "small": { + "faces": [ + { + "x": 145, + "y": 134, + "h": 186, + "w": 186 + } + ] + }, + "orig": { + "faces": [ + { + "x": 273, + "y": 253, + "h": 351, + "w": 351 + } + ] + } + }, + "sizes": { + "large": { + "h": 1280, + "w": 1024, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 1024, + "focus_rects": [ + { + "x": 0, + "y": 642, + "w": 1024, + "h": 573 + }, + { + "x": 0, + "y": 256, + "w": 1024, + "h": 1024 + }, + { + "x": 0, + "y": 113, + "w": 1024, + "h": 1167 + }, + { + "x": 32, + "y": 0, + "w": 640, + "h": 1280 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 1280 + } + ] + } + } + ] + }, + "favorite_count": 60, + "favorited": false, + "full_text": "Esta noche el circo está asegurado 😂😂😂\nAyuso se presenta al único debate.\nVamos \n@AleJacintoUrang \nEstamos contigo.\n#Sisu https://t.co/apswi6Wwiw", + "is_quote_status": false, + "lang": "es", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 5, + "retweet_count": 42, + "retweeted": false, + "user_id_str": "2949065723", + "id_str": "1658407192859492355" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue May 16 10:38:37 +0000 2023", + "conversation_id_str": "1658421690001502208", + "display_text_range": [ + 0, + 35 + ], + "entities": { + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "Se sabe si le permiten pinganillo??", + "is_quote_status": true, + "lang": "es", + "quote_count": 1, + "quoted_status_id_str": "1658407192859492355", + "quoted_status_permalink": { + "url": "https://t.co/03JmJW6BYc", + "expanded": "https://twitter.com/SisuMisu3/status/1658407192859492355", + "display": "twitter.com/SisuMisu3/stat…" + }, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "436149598", + "id_str": "1658421690001502208" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "tweetdetailrelatedtweets-1676889656225411072", + "sortIndex": "1", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "tweetdetailrelatedtweets-1676889656225411072-tweet-1676889656225411072", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1676889656225411072", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MzYxNDk1OTg=", + "rest_id": "436149598", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Dec 13 21:10:47 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "De Salamanca,", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 18457, + "followers_count": 3177, + "friends_count": 3040, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5, + "location": "españa", + "media_count": 1613, + "name": "Moreno", + "normal_followers_count": 3177, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/436149598/1368225000", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1664391740881510400/TMMIzBow_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "morenoagosto", + "statuses_count": 24367, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1676889656225411072" + ], + "editable_until_msecs": "1688640223000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": true, + "views": { + "count": "40", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1676697529461743622", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMjg0OTg3MTA=", + "rest_id": "328498710", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Jul 03 13:57:45 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "** Erik Urano ** // *** Flat Erik *** / Astronauta a tiempo parcial // Extraterrestre a tiempo completo// Neovalladolor // MNGMNT & BKNG luis@sonidomuchacho.com", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "linktr.ee/erikurano", + "expanded_url": "https://linktr.ee/erikurano", + "url": "https://t.co/qrNiieuzZw", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 35402, + "followers_count": 15175, + "friends_count": 1602, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 59, + "location": "", + "media_count": 1344, + "name": "DON DATA®️", + "normal_followers_count": 15175, + "pinned_tweet_ids_str": [ + "1674336677597159424" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/328498710/1687971178", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1674098569953902592/5tisrAy__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Erik_Urano", + "statuses_count": 12901, + "translator_type": "none", + "url": "https://t.co/qrNiieuzZw", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1554576748209229824", + "professional_type": "Creator", + "category": [ + { + "id": 1006, + "name": "Musical Artist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1676697529461743622" + ], + "editable_until_msecs": "1688594417000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "973266", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Jul 05 21:00:17 +0000 2023", + "conversation_id_str": "1676697529461743622", + "display_text_range": [ + 0, + 71 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/chX4MREd5H", + "expanded_url": "https://twitter.com/Erik_Urano/status/1676697529461743622/video/1", + "id_str": "1676697491226468353", + "indices": [ + 72, + 95 + ], + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1676697491226468353/pu/img/7VGLjWMYpFsXWvq1.jpg", + "type": "photo", + "url": "https://t.co/chX4MREd5H", + "features": {}, + "sizes": { + "large": { + "h": 716, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 671, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 380, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 716, + "width": 1280 + } + } + ], + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/chX4MREd5H", + "expanded_url": "https://twitter.com/Erik_Urano/status/1676697529461743622/video/1", + "id_str": "1676697491226468353", + "indices": [ + 72, + 95 + ], + "media_key": "7_1676697491226468353", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1676697491226468353/pu/img/7VGLjWMYpFsXWvq1.jpg", + "type": "video", + "url": "https://t.co/chX4MREd5H", + "additional_media_info": { + "monetizable": false + }, + "mediaStats": { + "viewCount": 622775 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 716, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 671, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 380, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 716, + "width": 1280 + }, + "video_info": { + "aspect_ratio": [ + 320, + 179 + ], + "duration_millis": 8536, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1676697491226468353/pu/pl/hmKfq_gU8h5Pj_bi.m3u8?tag=12&container=fmp4" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1676697491226468353/pu/vid/482x270/CxOsBliV2KQSDySg.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1676697491226468353/pu/vid/1280x716/ir6MOu-zeqHCOMDZ.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1676697491226468353/pu/vid/642x360/vyOPi9cH5pjAcgSS.mp4?tag=12" + } + ] + } + } + ] + }, + "favorite_count": 9694, + "favorited": false, + "full_text": "Frase a empezar a utilizar cada vez que me pregunten “¿Que tal estás?”: https://t.co/chX4MREd5H", + "is_quote_status": false, + "lang": "es", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 401, + "reply_count": 123, + "retweet_count": 2289, + "retweeted": false, + "user_id_str": "328498710", + "id_str": "1676697529461743622" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Jul 06 09:43:43 +0000 2023", + "conversation_id_str": "1676889656225411072", + "display_text_range": [ + 0, + 66 + ], + "entities": { + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "No, solo quiere decir que aún no ha empezado a darle al \" morapio\"", + "is_quote_status": true, + "lang": "es", + "quote_count": 0, + "quoted_status_id_str": "1676697529461743622", + "quoted_status_permalink": { + "url": "https://t.co/SIZUcNQRrS", + "expanded": "https://twitter.com/Erik_Urano/status/1676697529461743622", + "display": "twitter.com/Erik_Urano/sta…" + }, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "436149598", + "id_str": "1676889656225411072" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "related_tweet", + "details": { + "conversationDetails": { + "conversationSection": "RelatedTweet" + } + } + } + } + } + ], + "displayType": "Vertical", + "header": { + "displayType": "Classic", + "text": "Discover more", + "socialContext": { + "type": "TimelineGeneralContext", + "contextType": "TextOnly", + "text": "Sourced from across Twitter" + }, + "sticky": true + }, + "clientEventInfo": { + "component": "related_tweet", + "details": { + "conversationDetails": { + "conversationSection": "RelatedTweet" + } + } + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ] + } + } +} diff --git a/apps/twscrape/tests/mocked-data/_issue_42.json b/apps/twscrape/tests/mocked-data/_issue_42.json new file mode 100644 index 0000000..8f93c99 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/_issue_42.json @@ -0,0 +1,376 @@ +{ + "entryId": "tweet-1665951747842641921", + "sortIndex": "1682387836784869348", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1665951747842641921", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTM5Nzc0OTEzOTY3NzE0MzA0", + "rest_id": "1539774913967714304", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Jun 23 00:59:21 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "AVIC International Holding Corporation (AVIC INTL) is a global share-holding enterprise affiliated to Aviation Industry Corporation of China (AVIC).", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 118, + "followers_count": 5911, + "friends_count": 110, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "", + "media_count": 172, + "name": "AVIC INTL", + "normal_followers_count": 5911, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1539774913967714304/1656380265", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1542841676573466625/Twwv8q0a_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "_AVICINTL", + "statuses_count": 244, + "translator_type": "none", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1565386974147387392", + "professional_type": "Business", + "category": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1665951747842641921" + ], + "editable_until_msecs": "1686032423229", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Jun 06 05:20:23 +0000 2023", + "conversation_id_str": "1665951747842641921", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "user_mentions": [ + { + "id_str": "87775422", + "name": "China Daily", + "screen_name": "ChinaDaily", + "indices": [ + 3, + 14 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @ChinaDaily: Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming pe…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 10, + "retweeted": false, + "user_id_str": "1539774913967714304", + "id_str": "1665951747842641921", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1665863576060575744", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4Nzc3NTQyMg==", + "rest_id": "87775422", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Nov 05 20:30:10 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Start a conversation as we share news and analysis from #China and beyond. \nFB: China Daily \nTelegram: https://t.co/7nB28KWLCr…\nIns: chinadailynews", + "entities": { + "description": { + "urls": [ + { + "display_url": "t.me/chinadaily_off", + "expanded_url": "http://t.me/chinadaily_off", + "url": "https://t.co/7nB28KWLCr", + "indices": [ + 103, + 126 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1155, + "followers_count": 4161285, + "friends_count": 568, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 6975, + "location": "Beijing, China", + "media_count": 110028, + "name": "China Daily", + "normal_followers_count": 4161285, + "pinned_tweet_ids_str": [ + "1679729828105445377" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/87775422/1683168821", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1598185470353022976/-KlKi0WI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ChinaDaily", + "statuses_count": 204098, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1473187902209536003", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1665863576060575744" + ], + "editable_until_msecs": "1686011401000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "5188", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://erased21340332_45IhsckRBy.com\" rel=\"nofollow\">erased21340332_45IhsckRBy</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jun 05 23:30:01 +0000 2023", + "conversation_id_str": "1665863576060575744", + "display_text_range": [ + 0, + 128 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/SQMrX99bWr", + "expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1", + "id_str": "1665861064259686400", + "indices": [ + 129, + 152 + ], + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg", + "type": "photo", + "url": "https://t.co/SQMrX99bWr", + "features": {}, + "sizes": { + "large": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "medium": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "small": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 640, + "width": 296 + } + } + ], + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/SQMrX99bWr", + "expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1", + "id_str": "1665861064259686400", + "indices": [ + 129, + 152 + ], + "media_key": "7_1665861064259686400", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg", + "type": "video", + "url": "https://t.co/SQMrX99bWr", + "additional_media_info": { + "monetizable": false + }, + "mediaStats": { + "viewCount": 961 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "medium": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "small": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 640, + "width": 296 + }, + "video_info": { + "aspect_ratio": [ + 37, + 80 + ], + "duration_millis": 16000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/pl/pPnoCo_jLID-udSS.m3u8?tag=12&container=fmp4" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/vid/296x640/qQVrB3CenvchQsuP.mp4?tag=12" + } + ] + } + } + ] + }, + "favorite_count": 27, + "favorited": false, + "full_text": "Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming period. https://t.co/SQMrX99bWr", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 5, + "reply_count": 4, + "retweet_count": 10, + "retweeted": false, + "user_id_str": "87775422", + "id_str": "1665863576060575744" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkPUKvlsZRgAAAAAAA=" + } + } + } + } +} \ No newline at end of file diff --git a/apps/twscrape/tests/mocked-data/_issue_42_regr.json b/apps/twscrape/tests/mocked-data/_issue_42_regr.json new file mode 100644 index 0000000..aac0395 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/_issue_42_regr.json @@ -0,0 +1,699 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1665951747842641921", + "sortIndex": "7557420289012133886", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1665951747842641921", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTM5Nzc0OTEzOTY3NzE0MzA0", + "rest_id": "1539774913967714304", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Jun 23 00:59:21 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "AVIC International Holding Corporation (AVIC INTL) is a global share-holding enterprise affiliated to Aviation Industry Corporation of China (AVIC).", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 145, + "followers_count": 11672, + "friends_count": 118, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6, + "location": "", + "media_count": 195, + "name": "AVIC INTL", + "normal_followers_count": 11672, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1539774913967714304/1656380265", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1542841676573466625/Twwv8q0a_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "_AVICINTL", + "statuses_count": 268, + "translator_type": "none", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1565386974147387392", + "professional_type": "Business", + "category": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1665951747842641921" + ], + "editable_until_msecs": "1686032423229", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Jun 06 05:20:23 +0000 2023", + "conversation_id_str": "1665951747842641921", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "user_mentions": [ + { + "id_str": "87775422", + "name": "China Daily", + "screen_name": "ChinaDaily", + "indices": [ + 3, + 14 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @ChinaDaily: Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming pe…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 10, + "retweeted": false, + "user_id_str": "1539774913967714304", + "id_str": "1665951747842641921", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1665863576060575744", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4Nzc3NTQyMg==", + "rest_id": "87775422", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Nov 05 20:30:10 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Start a conversation as we share news and analysis from #China and beyond. \nFB: China Daily \nTelegram: https://t.co/GxDi5xGRTF\nIns: chinadailynews", + "entities": { + "description": { + "urls": [ + { + "display_url": "t.me/+043Tnnn4bd4yN…", + "expanded_url": "https://t.me/+043Tnnn4bd4yNTll", + "url": "https://t.co/GxDi5xGRTF", + "indices": [ + 103, + 126 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1157, + "followers_count": 4160536, + "friends_count": 156, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 6974, + "location": "Beijing, China", + "media_count": 111994, + "name": "China Daily", + "normal_followers_count": 4160536, + "pinned_tweet_ids_str": [ + "1700166894593224767" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/87775422/1683168821", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1598185470353022976/-KlKi0WI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ChinaDaily", + "statuses_count": 207177, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1473187902209536003", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1665863576060575744" + ], + "editable_until_msecs": "1686011401000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5229", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://erased21340332_45IhsckRBy.com\" rel=\"nofollow\">erased21340332_45IhsckRBy</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jun 05 23:30:01 +0000 2023", + "conversation_id_str": "1665863576060575744", + "display_text_range": [ + 0, + 128 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/SQMrX99bWr", + "expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1", + "id_str": "1665861064259686400", + "indices": [ + 129, + 152 + ], + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg", + "type": "photo", + "url": "https://t.co/SQMrX99bWr", + "features": {}, + "sizes": { + "large": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "medium": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "small": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 640, + "width": 296 + } + } + ], + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/SQMrX99bWr", + "expanded_url": "https://twitter.com/ChinaDaily/status/1665863576060575744/video/1", + "id_str": "1665861064259686400", + "indices": [ + 129, + 152 + ], + "media_key": "7_1665861064259686400", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1665861064259686400/pu/img/D1qkMrHVMTV_ifFk.jpg", + "type": "video", + "url": "https://t.co/SQMrX99bWr", + "additional_media_info": { + "monetizable": false + }, + "mediaStats": { + "viewCount": 964 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "medium": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "small": { + "h": 640, + "w": 296, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 640, + "width": 296 + }, + "video_info": { + "aspect_ratio": [ + 37, + 80 + ], + "duration_millis": 16000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/pl/pPnoCo_jLID-udSS.m3u8?tag=12&container=fmp4" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1665861064259686400/pu/vid/296x640/qQVrB3CenvchQsuP.mp4?tag=12" + } + ] + } + } + ] + }, + "favorite_count": 26, + "favorited": false, + "full_text": "Today marks the arrival of a traditional Chinese solar term called mangzhong, or Grain in Ear, signifying a busy farming period. https://t.co/SQMrX99bWr", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 5, + "reply_count": 4, + "retweet_count": 10, + "retweeted": false, + "user_id_str": "87775422", + "id_str": "1665863576060575744" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "tweetdetailrelatedtweets-1700166894593224767", + "sortIndex": "1", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "tweetdetailrelatedtweets-1700166894593224767-tweet-1700166894593224767", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1700166894593224767", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4Nzc3NTQyMg==", + "rest_id": "87775422", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Nov 05 20:30:10 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Start a conversation as we share news and analysis from #China and beyond. \nFB: China Daily \nTelegram: https://t.co/GxDi5xGRTF\nIns: chinadailynews", + "entities": { + "description": { + "urls": [ + { + "display_url": "t.me/+043Tnnn4bd4yN…", + "expanded_url": "https://t.me/+043Tnnn4bd4yNTll", + "url": "https://t.co/GxDi5xGRTF", + "indices": [ + 103, + 126 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1157, + "followers_count": 4160536, + "friends_count": 156, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 6974, + "location": "Beijing, China", + "media_count": 111994, + "name": "China Daily", + "normal_followers_count": 4160536, + "pinned_tweet_ids_str": [ + "1700166894593224767" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/87775422/1683168821", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1598185470353022976/-KlKi0WI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ChinaDaily", + "statuses_count": 207177, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1473187902209536003", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1700166894593224767" + ], + "editable_until_msecs": "1694189949000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5501", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://studio.twitter.com\" rel=\"nofollow\">Twitter Media Studio</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Fri Sep 08 15:19:09 +0000 2023", + "conversation_id_str": "1700166894593224767", + "display_text_range": [ + 0, + 273 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/f5PPXDfhSJ", + "expanded_url": "https://twitter.com/ChinaDaily/status/1700166894593224767/video/1", + "id_str": "1700160457841975296", + "indices": [ + 274, + 297 + ], + "media_url_https": "https://pbs.twimg.com/media/F5g0SArbcAAwuTG.jpg", + "type": "photo", + "url": "https://t.co/f5PPXDfhSJ", + "features": {}, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920 + } + } + ], + "user_mentions": [ + { + "id_str": "1139407343790116869", + "name": "Barrett", + "screen_name": "BarrettYouTube", + "indices": [ + 132, + 147 + ] + } + ], + "urls": [], + "hashtags": [ + { + "indices": [ + 46, + 53 + ], + "text": "Huawei" + }, + { + "indices": [ + 113, + 127 + ], + "text": "UnboxingChina" + } + ], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/f5PPXDfhSJ", + "expanded_url": "https://twitter.com/ChinaDaily/status/1700166894593224767/video/1", + "id_str": "1700160457841975296", + "indices": [ + 274, + 297 + ], + "media_key": "13_1700160457841975296", + "media_url_https": "https://pbs.twimg.com/media/F5g0SArbcAAwuTG.jpg", + "type": "video", + "url": "https://t.co/f5PPXDfhSJ", + "additional_media_info": { + "title": "", + "description": "", + "embeddable": true, + "monetizable": false + }, + "mediaStats": { + "viewCount": 1152 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920 + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 328283, + "variants": [ + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1700160457841975296/vid/avc1/1280x720/LYAV1zSTKyjLuvz8.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1700160457841975296/vid/avc1/640x360/C5UVyuvD1gwcUOHR.mp4?tag=14" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1700160457841975296/vid/avc1/480x270/5S486vJbzNu5bAoX.mp4?tag=14" + }, + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1700160457841975296/pl/YOmM7kKSqpzjtysl.m3u8?tag=14&container=fmp4" + } + ] + } + } + ] + }, + "favorite_count": 41, + "favorited": false, + "full_text": "From satellite connection to gesture control, #Huawei's newly released Mate 60 series offers some cool features. #UnboxingChina and @BarrettYouTube had some fun unboxing the phone together, dived into all its functions, and talked about the future of China's tech industry. https://t.co/f5PPXDfhSJ", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 9, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "87775422", + "id_str": "1700166894593224767" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "related_tweet", + "details": { + "conversationDetails": { + "conversationSection": "RelatedTweet" + } + } + } + } + } + ], + "displayType": "Vertical", + "header": { + "displayType": "Classic", + "text": "Discover more", + "socialContext": { + "type": "TimelineGeneralContext", + "contextType": "TextOnly", + "text": "Sourced from across Twitter" + }, + "sticky": true + }, + "clientEventInfo": { + "component": "related_tweet", + "details": { + "conversationDetails": { + "conversationSection": "RelatedTweet" + } + } + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ] + } + } +} diff --git a/apps/twscrape/tests/mocked-data/_issue_56.json b/apps/twscrape/tests/mocked-data/_issue_56.json new file mode 100644 index 0000000..101e07b --- /dev/null +++ b/apps/twscrape/tests/mocked-data/_issue_56.json @@ -0,0 +1,2433 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1682072224013099008", + "sortIndex": "7541299812841676799", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1682072224013099008", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTgxNzI5MzkyNzU1NzA3OTA0", + "rest_id": "1181729392755707904", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/FortniteGame", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1692538143096856577/5XhWzBHb_bigger.jpg" + }, + "description": "Fortnite", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Oct 09 00:33:58 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Service updates for #Fortnite. Follow @FortniteGame for daily news, @FNCompetitive for all things competitive, and @FNCreate for everything UEFN and Creative!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "epicgames.com/site/customer-…", + "expanded_url": "https://www.epicgames.com/site/customer-service", + "url": "https://t.co/JGEu5fY7gk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 2848620, + "friends_count": 4, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3454, + "location": "", + "media_count": 2456, + "name": "Fortnite Status", + "normal_followers_count": 2848620, + "pinned_tweet_ids_str": [ + "1682072224013099008" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1181729392755707904/1692984672", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1182784466240135170/tTYzHFoe_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteStatus", + "statuses_count": 4288, + "translator_type": "none", + "url": "https://t.co/JGEu5fY7gk", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1682072224013099008" + ], + "editable_until_msecs": "1689875844000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1543491", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE2ODIwNzIyMjM4MDc1OTg1OTg=", + "text": "Your one-stop shop for everything live status for #Fortnite!\n\n🗣️ Tweet @FortniteStatus for help!\n\n💁 Reach out to Player Support with issues any time at https://t.co/5ih4hl5Y78 by opening a Live Chat or creating a ticket.\n\n📑 Articles for Common Account issues can be found at https://t.co/odE9qJiOg3\n\n🧩 Check out our Trello board for trending issues: https://t.co/CUfyetPlK8\n\n🚦 Visit the Status page for server status: https://t.co/X55I5IuFkk", + "entity_set": { + "user_mentions": [ + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 71, + 86 + ] + } + ], + "urls": [ + { + "display_url": "fn.gg/support", + "expanded_url": "http://fn.gg/support", + "url": "https://t.co/5ih4hl5Y78", + "indices": [ + 152, + 175 + ] + }, + { + "display_url": "fn.gg/accounts", + "expanded_url": "http://fn.gg/accounts", + "url": "https://t.co/odE9qJiOg3", + "indices": [ + 275, + 298 + ] + }, + { + "display_url": "trello.com/b/Bs7hgkma/for…", + "expanded_url": "https://trello.com/b/Bs7hgkma/fortnite-community-issues", + "url": "https://t.co/CUfyetPlK8", + "indices": [ + 350, + 373 + ] + }, + { + "display_url": "status.epicgames.com", + "expanded_url": "https://status.epicgames.com", + "url": "https://t.co/X55I5IuFkk", + "indices": [ + 418, + 441 + ] + } + ], + "hashtags": [ + { + "indices": [ + 50, + 59 + ], + "text": "Fortnite" + } + ], + "symbols": [] + }, + "richtext": { + "richtext_tags": [] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 105, + "bookmarked": false, + "created_at": "Thu Jul 20 16:57:24 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 0, + 275 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/DFggHwFYkw", + "expanded_url": "https://twitter.com/FortniteStatus/status/1682072224013099008/photo/1", + "id_str": "1682070498451296256", + "indices": [ + 276, + 299 + ], + "media_url_https": "https://pbs.twimg.com/media/F1fqNNNakAANOVQ.jpg", + "type": "photo", + "url": "https://t.co/DFggHwFYkw", + "features": { + "large": { + "faces": [ + { + "x": 851, + "y": 163, + "h": 138, + "w": 138 + } + ] + }, + "medium": { + "faces": [ + { + "x": 531, + "y": 101, + "h": 86, + "w": 86 + } + ] + }, + "small": { + "faces": [ + { + "x": 301, + "y": 57, + "h": 48, + "w": 48 + } + ] + }, + "orig": { + "faces": [ + { + "x": 851, + "y": 163, + "h": 138, + "w": 138 + } + ] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1075 + }, + { + "x": 372, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 439, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 642, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1080 + } + ] + } + } + ], + "user_mentions": [ + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 71, + 86 + ] + } + ], + "urls": [ + { + "display_url": "fn.gg/support", + "expanded_url": "http://fn.gg/support", + "url": "https://t.co/I1uF2iqjzX", + "indices": [ + 152, + 175 + ] + } + ], + "hashtags": [ + { + "indices": [ + 50, + 59 + ], + "text": "Fortnite" + } + ], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/DFggHwFYkw", + "expanded_url": "https://twitter.com/FortniteStatus/status/1682072224013099008/photo/1", + "id_str": "1682070498451296256", + "indices": [ + 276, + 299 + ], + "media_key": "3_1682070498451296256", + "media_url_https": "https://pbs.twimg.com/media/F1fqNNNakAANOVQ.jpg", + "type": "photo", + "url": "https://t.co/DFggHwFYkw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 851, + "y": 163, + "h": 138, + "w": 138 + } + ] + }, + "medium": { + "faces": [ + { + "x": 531, + "y": 101, + "h": 86, + "w": 86 + } + ] + }, + "small": { + "faces": [ + { + "x": 301, + "y": 57, + "h": 48, + "w": 48 + } + ] + }, + "orig": { + "faces": [ + { + "x": 851, + "y": 163, + "h": 138, + "w": 138 + } + ] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1075 + }, + { + "x": 372, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 439, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 642, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1080 + } + ] + } + } + ] + }, + "favorite_count": 3101, + "favorited": false, + "full_text": "Your one-stop shop for everything live status for #Fortnite!\n\n🗣️ Tweet @FortniteStatus for help!\n\n💁 Reach out to Player Support with issues any time at https://t.co/I1uF2iqjzX by opening a Live Chat or creating a ticket.\n\n📑 Articles for Common Account issues can be found at… https://t.co/DFggHwFYkw", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 58, + "reply_count": 798, + "retweet_count": 233, + "retweeted": false, + "user_id_str": "1181729392755707904", + "id_str": "1682072224013099008" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "conversationthread-1697284191950348589", + "sortIndex": "7541299812841676789", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1697284191950348589-tweet-1697284191950348589", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1697284191950348589", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTgyMjU5MDQ2ODIzOTg1MTUz", + "rest_id": "1582259046823985153", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Oct 18 06:35:58 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 1, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Chimichanga015", + "normal_followers_count": 1, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1582259174859210755/YgbwvShu_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Mike48702293", + "statuses_count": 2, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1697284191950348589" + ], + "editable_until_msecs": "1693502660000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "306", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Aug 31 16:24:20 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 16, + 214 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 0, + 15 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@FortniteStatus Could you guys fix a problem for pc? Me and another friend have had this weird bug im which BattleEyeLauncher gets stuck on \"updating...\" and Fortnite just wont launch at all for atleast a whole day", + "in_reply_to_screen_name": "FortniteStatus", + "in_reply_to_status_id_str": "1682072224013099008", + "in_reply_to_user_id_str": "1181729392755707904", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1582259046823985153", + "id_str": "1697284191950348589" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKAJiGAHgAUKAAIAAAAABEAECAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1697284191950348589-tweet-1697295406260953510", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1697295406260953510", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTgxNzI5MzkyNzU1NzA3OTA0", + "rest_id": "1181729392755707904", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/FortniteGame", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1692538143096856577/5XhWzBHb_bigger.jpg" + }, + "description": "Fortnite", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Oct 09 00:33:58 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Service updates for #Fortnite. Follow @FortniteGame for daily news, @FNCompetitive for all things competitive, and @FNCreate for everything UEFN and Creative!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "epicgames.com/site/customer-…", + "expanded_url": "https://www.epicgames.com/site/customer-service", + "url": "https://t.co/JGEu5fY7gk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 2848620, + "friends_count": 4, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3454, + "location": "", + "media_count": 2456, + "name": "Fortnite Status", + "normal_followers_count": 2848620, + "pinned_tweet_ids_str": [ + "1682072224013099008" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1181729392755707904/1692984672", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1182784466240135170/tTYzHFoe_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteStatus", + "statuses_count": 4288, + "translator_type": "none", + "url": "https://t.co/JGEu5fY7gk", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1697295406260953510" + ], + "editable_until_msecs": "1693505333000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "298", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Aug 31 17:08:53 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 14, + 187 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1582259046823985153", + "name": "Chimichanga015", + "screen_name": "Mike48702293", + "indices": [ + 0, + 13 + ] + } + ], + "urls": [ + { + "display_url": "fn.gg/VerifyFiles", + "expanded_url": "http://fn.gg/VerifyFiles", + "url": "https://t.co/1odTH0sntj", + "indices": [ + 161, + 184 + ] + } + ], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@Mike48702293 Hey hey! 🙂 Could you please try verifying your Fortnite files and see if you can launch the game afterwards? Here's a handy guide on how to do it: https://t.co/1odTH0sntj. 🔧", + "in_reply_to_screen_name": "Mike48702293", + "in_reply_to_status_id_str": "1697284191950348589", + "in_reply_to_user_id_str": "1582259046823985153", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1181729392755707904", + "id_str": "1697295406260953510" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFOAJkKJDgYEKAAIAAAAAFkBACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1696563126227947775", + "sortIndex": "7541299812841676779", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1696563126227947775-tweet-1696563126227947775", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1696563126227947775", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjI3NzU1ODkxNTQwNzgzMTI5", + "rest_id": "1627755891540783129", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Feb 20 19:43:51 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 27, + "followers_count": 5, + "friends_count": 19, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 1, + "name": "𓆩ℳ𓆪²⁹", + "normal_followers_count": 5, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1627755891540783129/1681229066", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1686486884665663488/cUf-bmJI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MV5C_", + "statuses_count": 14, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1696563126227947775" + ], + "editable_until_msecs": "1693330744000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "441", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Aug 29 16:39:04 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 16, + 55 + ], + "entities": { + "media": [ + { + "display_url": "pic.twitter.com/82pbNeu6Q9", + "expanded_url": "https://twitter.com/MV5C_/status/1696563126227947775/photo/1", + "id_str": "1696563117801590790", + "indices": [ + 56, + 79 + ], + "media_url_https": "https://pbs.twimg.com/media/F4tnKreX0AYJitt.jpg", + "type": "photo", + "url": "https://t.co/82pbNeu6Q9", + "features": { + "large": { + "faces": [ + { + "x": 180, + "y": 1054, + "h": 152, + "w": 152 + } + ] + }, + "medium": { + "faces": [ + { + "x": 105, + "y": 617, + "h": 89, + "w": 89 + } + ] + }, + "small": { + "faces": [ + { + "x": 59, + "y": 350, + "h": 50, + "w": 50 + } + ] + }, + "orig": { + "faces": [ + { + "x": 180, + "y": 1054, + "h": 152, + "w": 152 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 945, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 554, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 314, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 945, + "focus_rects": [ + { + "x": 0, + "y": 1519, + "w": 945, + "h": 529 + }, + { + "x": 0, + "y": 1103, + "w": 945, + "h": 945 + }, + { + "x": 0, + "y": 971, + "w": 945, + "h": 1077 + }, + { + "x": 0, + "y": 158, + "w": 945, + "h": 1890 + }, + { + "x": 0, + "y": 0, + "w": 945, + "h": 2048 + } + ] + } + } + ], + "user_mentions": [ + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 0, + 15 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/82pbNeu6Q9", + "expanded_url": "https://twitter.com/MV5C_/status/1696563126227947775/photo/1", + "id_str": "1696563117801590790", + "indices": [ + 56, + 79 + ], + "media_key": "3_1696563117801590790", + "media_url_https": "https://pbs.twimg.com/media/F4tnKreX0AYJitt.jpg", + "type": "photo", + "url": "https://t.co/82pbNeu6Q9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 180, + "y": 1054, + "h": 152, + "w": 152 + } + ] + }, + "medium": { + "faces": [ + { + "x": 105, + "y": 617, + "h": 89, + "w": 89 + } + ] + }, + "small": { + "faces": [ + { + "x": 59, + "y": 350, + "h": 50, + "w": 50 + } + ] + }, + "orig": { + "faces": [ + { + "x": 180, + "y": 1054, + "h": 152, + "w": 152 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 945, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 554, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 314, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 945, + "focus_rects": [ + { + "x": 0, + "y": 1519, + "w": 945, + "h": 529 + }, + { + "x": 0, + "y": 1103, + "w": 945, + "h": 945 + }, + { + "x": 0, + "y": 971, + "w": 945, + "h": 1077 + }, + { + "x": 0, + "y": 158, + "w": 945, + "h": 1890 + }, + { + "x": 0, + "y": 0, + "w": 945, + "h": 2048 + } + ] + } + } + ] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@FortniteStatus When did you fix this problem days ago. https://t.co/82pbNeu6Q9", + "in_reply_to_screen_name": "FortniteStatus", + "in_reply_to_status_id_str": "1682072224013099008", + "in_reply_to_user_id_str": "1181729392755707904", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1627755891540783129", + "id_str": "1696563126227947775" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKAJiSRjgAUKAAIAAAAABEAQCAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1696563126227947775-tweet-1696590973185180136", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1696590973185180136", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTgxNzI5MzkyNzU1NzA3OTA0", + "rest_id": "1181729392755707904", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/FortniteGame", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1692538143096856577/5XhWzBHb_bigger.jpg" + }, + "description": "Fortnite", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Oct 09 00:33:58 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Service updates for #Fortnite. Follow @FortniteGame for daily news, @FNCompetitive for all things competitive, and @FNCreate for everything UEFN and Creative!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "epicgames.com/site/customer-…", + "expanded_url": "https://www.epicgames.com/site/customer-service", + "url": "https://t.co/JGEu5fY7gk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 2848620, + "friends_count": 4, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3454, + "location": "", + "media_count": 2456, + "name": "Fortnite Status", + "normal_followers_count": 2848620, + "pinned_tweet_ids_str": [ + "1682072224013099008" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1181729392755707904/1692984672", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1182784466240135170/tTYzHFoe_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteStatus", + "statuses_count": 4288, + "translator_type": "none", + "url": "https://t.co/JGEu5fY7gk", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1696590973185180136" + ], + "editable_until_msecs": "1693337383000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "554", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Aug 29 18:29:43 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 7, + 279 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1627755891540783129", + "name": "𓆩ℳ𓆪²⁹", + "screen_name": "MV5C_", + "indices": [ + 0, + 6 + ] + } + ], + "urls": [ + { + "display_url": "fn.gg/support", + "expanded_url": "http://fn.gg/support", + "url": "https://t.co/I1uF2ipLKp", + "indices": [ + 101, + 124 + ] + } + ], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 3, + "favorited": false, + "full_text": "@MV5C_ Hey 👋 This is something that Player Support could check out for you. Please follow this link: https://t.co/I1uF2ipLKp. Next, select 'Fortnite', then scroll to the bottom of the page and click 'Contact Us'. \n\nBe sure to provide as much info as you can, please. Thank you! 😊", + "in_reply_to_screen_name": "MV5C_", + "in_reply_to_status_id_str": "1696563126227947775", + "in_reply_to_user_id_str": "1627755891540783129", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1181729392755707904", + "id_str": "1696590973185180136" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFOAJkihDgYEKAAIAAAAAFkBACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1682074315682988045", + "sortIndex": "7541299812841676769", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1682074315682988045-tweet-1682074315682988045", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1682074315682988045", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDcyNTkzNzI0MDM5NDc5Mjk2", + "rest_id": "1472593724039479296", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Dec 19 15:44:56 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "i love fortnite competive and use code jerian because he is goat", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 186, + "followers_count": 61, + "friends_count": 289, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 330, + "name": "VeDo Aleksi 2", + "normal_followers_count": 61, + "pinned_tweet_ids_str": [ + "1666035113375793152" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1472593803546710020/gvP3WPF1_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "2_vedo", + "statuses_count": 1731, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1568337532986818563", + "professional_type": "Creator", + "category": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1682074315682988045" + ], + "editable_until_msecs": "1689876342000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "7153", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Jul 20 17:05:42 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 16, + 74 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 0, + 15 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "@FortniteStatus fix fps issue i have 60 when my gpu is able to give 200fps", + "in_reply_to_screen_name": "FortniteStatus", + "in_reply_to_status_id_str": "1682072224013099008", + "in_reply_to_user_id_str": "1181729392755707904", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1472593724039479296", + "id_str": "1682074315682988045" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKABDDADgAUKAAIAAAAACEBACAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1682074315682988045-tweet-1682076558897430540", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1682076558897430540", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTgxNzI5MzkyNzU1NzA3OTA0", + "rest_id": "1181729392755707904", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/FortniteGame", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1692538143096856577/5XhWzBHb_bigger.jpg" + }, + "description": "Fortnite", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Oct 09 00:33:58 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Service updates for #Fortnite. Follow @FortniteGame for daily news, @FNCompetitive for all things competitive, and @FNCreate for everything UEFN and Creative!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "epicgames.com/site/customer-…", + "expanded_url": "https://www.epicgames.com/site/customer-service", + "url": "https://t.co/JGEu5fY7gk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 2848620, + "friends_count": 4, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3454, + "location": "", + "media_count": 2456, + "name": "Fortnite Status", + "normal_followers_count": 2848620, + "pinned_tweet_ids_str": [ + "1682072224013099008" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1181729392755707904/1692984672", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1182784466240135170/tTYzHFoe_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteStatus", + "statuses_count": 4288, + "translator_type": "none", + "url": "https://t.co/JGEu5fY7gk", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1682076558897430540" + ], + "editable_until_msecs": "1689876877000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "6980", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Thu Jul 20 17:14:37 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 8, + 287 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1472593724039479296", + "name": "VeDo Aleksi 2", + "screen_name": "2_vedo", + "indices": [ + 0, + 7 + ] + } + ], + "urls": [ + { + "display_url": "fn.gg/LowFPS", + "expanded_url": "http://fn.gg/LowFPS", + "url": "https://t.co/TJpwSt7653", + "indices": [ + 231, + 254 + ] + } + ], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 15, + "favorited": false, + "full_text": "@2_vedo Hey there!👋\n\nPlease check your in-game settings to see if your FPS is set to 60. If it is, set it to your monitor's refresh rate, or Unlimited. Give this article a visit, it has many other great steps for you to look over: https://t.co/TJpwSt7653. \n\nIf it persists, let us know🖥️", + "in_reply_to_screen_name": "2_vedo", + "in_reply_to_status_id_str": "1682074315682988045", + "in_reply_to_user_id_str": "1472593724039479296", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 4, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1181729392755707904", + "id_str": "1682076558897430540" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKABECADgYEKAAIAAAAAGEBACAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1682074315682988045-cursor-showmore-6690257992786437144", + "item": { + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "PAAAAPAtPBwcFpiAvqH87ffXLhUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNjgyMDc0MzE1NjgyOTg4MDQ1IgAA", + "cursorType": "ShowMore", + "displayTreatment": { + "actionText": "Show replies" + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1683417497502973956", + "sortIndex": "7541299812841676759", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1683417497502973956-tweet-1683417497502973956", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1683417497502973956", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NDQwNTI3MjQz", + "rest_id": "4440527243", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Dec 10 19:16:37 +0000 2015", + "default_profile": true, + "default_profile_image": false, + "description": "vi main. love Stargate and Star trek\n😈Psycho_Squad😈 banner by @Ashlev_TikTok, pfp made by @Brkson_19\n\nKimiko Five-Tails main", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 112, + "followers_count": 28, + "friends_count": 95, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 5, + "name": "Psychofreak_Sam", + "normal_followers_count": 28, + "pinned_tweet_ids_str": [ + "919759324716650496" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/4440527243/1686340278", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1676251200365244417/c0gta-yB_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Evil_Queen2020", + "statuses_count": 385, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1683417497502973956" + ], + "editable_until_msecs": "1690196582000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "3846", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jul 24 10:03:02 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 16, + 154 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 0, + 15 + ] + }, + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 16, + 31 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "@FortniteStatus @FortniteStatus plz fix freestyle first style her hair goes wild when u emote. I love the skin but it looks weird when u emote plz fix plz", + "in_reply_to_screen_name": "FortniteStatus", + "in_reply_to_status_id_str": "1682072224013099008", + "in_reply_to_user_id_str": "1181729392755707904", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "4440527243", + "id_str": "1683417497502973956" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKABCCADgAUKAAIAAAAACEAgCAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1683417497502973956-tweet-1683538093448544278", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1683538093448544278", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTgxNzI5MzkyNzU1NzA3OTA0", + "rest_id": "1181729392755707904", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/FortniteGame", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1692538143096856577/5XhWzBHb_bigger.jpg" + }, + "description": "Fortnite", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Oct 09 00:33:58 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Service updates for #Fortnite. Follow @FortniteGame for daily news, @FNCompetitive for all things competitive, and @FNCreate for everything UEFN and Creative!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "epicgames.com/site/customer-…", + "expanded_url": "https://www.epicgames.com/site/customer-service", + "url": "https://t.co/JGEu5fY7gk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 2848620, + "friends_count": 4, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3454, + "location": "", + "media_count": 2456, + "name": "Fortnite Status", + "normal_followers_count": 2848620, + "pinned_tweet_ids_str": [ + "1682072224013099008" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1181729392755707904/1692984672", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1182784466240135170/tTYzHFoe_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteStatus", + "statuses_count": 4288, + "translator_type": "none", + "url": "https://t.co/JGEu5fY7gk", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1683538093448544278" + ], + "editable_until_msecs": "1690225334000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "3637", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jul 24 18:02:14 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 16, + 232 + ], + "entities": { + "user_mentions": [ + { + "id_str": "4440527243", + "name": "Psychofreak_Sam", + "screen_name": "Evil_Queen2020", + "indices": [ + 0, + 15 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 4, + "favorited": false, + "full_text": "@Evil_Queen2020 Hey there, Psychofreak_Sam! 😄 We'd like to take a look at this. Could you send us a screenshot or video of this bug happening? It would also be helpful if you could tell us which platform you play on. Thank you! 🎮 🖥️", + "in_reply_to_screen_name": "Evil_Queen2020", + "in_reply_to_status_id_str": "1683417497502973956", + "in_reply_to_user_id_str": "4440527243", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 2, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1181729392755707904", + "id_str": "1683538093448544278" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKABECADgYEKAAIAAAAAGEBACAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1683417497502973956-cursor-showmore-1918512034894669825", + "item": { + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "PAAAAPAtPBwcFqyAtp29vpDdLhUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNjgzNDE3NDk3NTAyOTczOTU2IgAA", + "cursorType": "ShowMore", + "displayTreatment": { + "actionText": "Show replies" + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1694048154403148198", + "sortIndex": "7541299812841676749", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1694048154403148198-tweet-1694048154403148198", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1694048154403148198", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjg1Njc5MDk0NzMyODczNzI4", + "rest_id": "1685679094732873728", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Jul 30 15:50:30 +0000 2023", + "default_profile": true, + "default_profile_image": true, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 1, + "friends_count": 5, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 1, + "name": "Alex Rodriguez", + "normal_followers_count": 1, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", + "profile_interstitial_type": "", + "screen_name": "AlexRod1016", + "statuses_count": 3, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1694048154403148198" + ], + "editable_until_msecs": "1692731128000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "852", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Aug 22 18:05:28 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 16, + 217 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 0, + 15 + ] + }, + { + "id_str": "1181729392755707904", + "name": "Fortnite Status", + "screen_name": "FortniteStatus", + "indices": [ + 20, + 35 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@FortniteStatus Hey @FortniteStatus i bough the bioluminescence bundle yesterday i completed numerous daily quest yet my vbucks mission is stuck on 2 out of 3 stage one of 4 it wont move from there its really annoying", + "in_reply_to_screen_name": "FortniteStatus", + "in_reply_to_status_id_str": "1682072224013099008", + "in_reply_to_user_id_str": "1181729392755707904", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1685679094732873728", + "id_str": "1694048154403148198" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKABCCADgAUKAAIAAAAACEAgCAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1694048154403148198-tweet-1694054280494227696", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1694054280494227696", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTgxNzI5MzkyNzU1NzA3OTA0", + "rest_id": "1181729392755707904", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/FortniteGame", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1692538143096856577/5XhWzBHb_bigger.jpg" + }, + "description": "Fortnite", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Oct 09 00:33:58 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Service updates for #Fortnite. Follow @FortniteGame for daily news, @FNCompetitive for all things competitive, and @FNCreate for everything UEFN and Creative!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "epicgames.com/site/customer-…", + "expanded_url": "https://www.epicgames.com/site/customer-service", + "url": "https://t.co/JGEu5fY7gk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 2848620, + "friends_count": 4, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3454, + "location": "", + "media_count": 2456, + "name": "Fortnite Status", + "normal_followers_count": 2848620, + "pinned_tweet_ids_str": [ + "1682072224013099008" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1181729392755707904/1692984672", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1182784466240135170/tTYzHFoe_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteStatus", + "statuses_count": 4288, + "translator_type": "none", + "url": "https://t.co/JGEu5fY7gk", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "edit_control": { + "edit_tweet_ids": [ + "1694054280494227696" + ], + "editable_until_msecs": "1692732589000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "875", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Aug 22 18:29:49 +0000 2023", + "conversation_id_str": "1682072224013099008", + "display_text_range": [ + 13, + 244 + ], + "entities": { + "user_mentions": [ + { + "id_str": "1685679094732873728", + "name": "Alex Rodriguez", + "screen_name": "AlexRod1016", + "indices": [ + 0, + 12 + ] + } + ], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "@AlexRod1016 Hey there Alex 😀 Could you please send us a screenshot/image of your in-game Quest tab for us to take a closer look? Please ensure that the Daily Bonus Objectives and Daily Quests sections are visible in the same frame. \n\nThanks! 🙌", + "in_reply_to_screen_name": "AlexRod1016", + "in_reply_to_status_id_str": "1694048154403148198", + "in_reply_to_user_id_str": "1685679094732873728", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 2, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1181729392755707904", + "id_str": "1694054280494227696" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKABECADgYEKAAIAAAAAGEBACAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1694048154403148198-cursor-showmore-6059656311785387252", + "item": { + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "PAAAAPAtPBwcFuCDtbGQ2b6CLxUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNjk0MDQ4MTU0NDAzMTQ4MTk4IgAA", + "cursorType": "ShowMore", + "displayTreatment": { + "actionText": "Show replies" + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "cursor-bottom-4687105721728289611", + "sortIndex": "7541299812841676748", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "NwAAAPAoHBlWmoC-gbPr9tcuzMbYucX0u4Iv_sO-3ZXLs4sv2oSxgdy--40viIC8te_S2dwuJQISFQQAAA", + "cursorType": "Bottom" + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ] + } + } +} diff --git a/apps/twscrape/tests/mocked-data/card_audiospace.json b/apps/twscrape/tests/mocked-data/card_audiospace.json new file mode 100644 index 0000000..d0e50fb --- /dev/null +++ b/apps/twscrape/tests/mocked-data/card_audiospace.json @@ -0,0 +1,433 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1789054061729173804", + "sortIndex": "7434317975125602003", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1789054061729173804", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com/", + "url": "https://t.co/O13IfbuPqq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2148, + "followers_count": 646225, + "friends_count": 1777, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2684, + "location": "127.0.0.1", + "media_count": 820, + "name": "Developers", + "normal_followers_count": 646225, + "pinned_tweet_ids_str": [ + "1770153912013615285" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4089, + "translator_type": "regular", + "url": "https://t.co/O13IfbuPqq", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/7ajX0RPmaj", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1vOxwjaWEbdJB", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/7ajX0RPmaj", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/7ajX0RPmaj", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1789054061729173804" + ], + "editable_until_msecs": "1715382301990", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri May 10 22:05:01 +0000 2024", + "conversation_id_str": "1789054061729173804", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + }, + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 109, + 121 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: If you have an app that posts emergency services updates to X using the API, please join us @XDevelopers next week to lear…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1789054061729173804", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1789053970587271232", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 141, + "followers_count": 4788, + "friends_count": 1577, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 134, + "name": "Suhem Parack", + "normal_followers_count": 4788, + "pinned_tweet_ids_str": [ + "1789053970587271232" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1795573096063397892/HB6ShS6B_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2214, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/7ajX0RPmaj", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1vOxwjaWEbdJB", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/7ajX0RPmaj", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/7ajX0RPmaj", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1789053970587271232" + ], + "editable_until_msecs": "1715382280000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "121718", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 9, + "bookmarked": false, + "created_at": "Fri May 10 22:04:40 +0000 2024", + "conversation_id_str": "1789053970587271232", + "display_text_range": [ + 0, + 200 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1voxw…", + "expanded_url": "https://twitter.com/i/spaces/1vOxwjaWEbdJB", + "url": "https://t.co/7ajX0RPmaj", + "indices": [ + 177, + 200 + ] + } + ], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 92, + 104 + ] + } + ] + }, + "favorite_count": 108, + "favorited": false, + "full_text": "If you have an app that posts emergency services updates to X using the API, please join us @XDevelopers next week to learn how you can quickly migrate your app to the X API v2 https://t.co/7ajX0RPmaj", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 5, + "reply_count": 16, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1789053970587271232" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ] + } + } +} diff --git a/apps/twscrape/tests/mocked-data/card_broadcast.json b/apps/twscrape/tests/mocked-data/card_broadcast.json new file mode 100644 index 0000000..d3097cc --- /dev/null +++ b/apps/twscrape/tests/mocked-data/card_broadcast.json @@ -0,0 +1,1064 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1790441814857826439", + "sortIndex": "7432930221996949368", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1790441814857826439", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com/", + "url": "https://t.co/O13IfbuPqq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2148, + "followers_count": 646209, + "friends_count": 1777, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2684, + "location": "127.0.0.1", + "media_count": 820, + "name": "Developers", + "normal_followers_count": 646209, + "pinned_tweet_ids_str": [ + "1770153912013615285" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4089, + "translator_type": "regular", + "url": "https://t.co/O13IfbuPqq", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/Ooc4ZK2Yb3", + "legacy": { + "binding_values": [ + { + "key": "broadcast_url", + "value": { + "string_value": "https://twitter.com/i/broadcasts/1BRJjPqnBqaKw", + "type": "STRING" + } + }, + { + "key": "broadcast_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "broadcast_state", + "value": { + "string_value": "ENDED", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "2244994945", + "path": [] + } + } + }, + { + "key": "broadcast_title", + "value": { + "string_value": "Migrating developer apps to the X API 2", + "type": "STRING" + } + }, + { + "key": "broadcast_source", + "value": { + "string_value": "Producer", + "type": "STRING" + } + }, + { + "key": "broadcast_orientation", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "broadcast_id", + "value": { + "string_value": "1BRJjPqnBqaKw", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1807101457176653824/7mhMDRKC?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_twitter_id", + "value": { + "string_value": "2244994945", + "type": "STRING" + } + }, + { + "key": "broadcast_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1807101457176653824/7mhMDRKC?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_username", + "value": { + "string_value": "XDevelopers", + "type": "STRING" + } + }, + { + "key": "broadcast_media_key", + "value": { + "string_value": "28_1790441813079388161", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1807101457176653824/7mhMDRKC?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_display_name", + "value": { + "string_value": "Developers", + "type": "STRING" + } + }, + { + "key": "broadcast_is_high_latency", + "value": { + "boolean_value": true, + "type": "BOOLEAN" + } + }, + { + "key": "broadcast_thumbnail", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1807101457176653824/7mhMDRKC?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcast_thumbnail_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 190, + "green": 178, + "red": 174 + }, + "percentage": 28.86 + }, + { + "rgb": { + "blue": 49, + "green": 46, + "red": 55 + }, + "percentage": 26.58 + }, + { + "rgb": { + "blue": 55, + "green": 65, + "red": 105 + }, + "percentage": 7.75 + }, + { + "rgb": { + "blue": 154, + "green": 96, + "red": 67 + }, + "percentage": 4.95 + }, + { + "rgb": { + "blue": 125, + "green": 151, + "red": 188 + }, + "percentage": 4.16 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "broadcast_media_id", + "value": { + "string_value": "1790441813079388161", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/Ooc4ZK2Yb3", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1807101457176653824/7mhMDRKC?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "745291183405076480:broadcast", + "url": "https://t.co/Ooc4ZK2Yb3", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com/", + "url": "https://t.co/O13IfbuPqq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2148, + "followers_count": 646209, + "friends_count": 1777, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2684, + "location": "127.0.0.1", + "media_count": 820, + "name": "Developers", + "normal_followers_count": 646209, + "pinned_tweet_ids_str": [ + "1770153912013615285" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4089, + "translator_type": "regular", + "url": "https://t.co/O13IfbuPqq", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1790441814857826439" + ], + "editable_until_msecs": "1715713168000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "256819", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://periscope.tv\" rel=\"nofollow\">Periscope</a>", + "legacy": { + "bookmark_count": 41, + "bookmarked": false, + "created_at": "Tue May 14 17:59:28 +0000 2024", + "conversation_id_str": "1790441814857826439", + "display_text_range": [ + 0, + 63 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/broadcasts/1…", + "expanded_url": "https://twitter.com/i/broadcasts/1BRJjPqnBqaKw", + "url": "https://t.co/Ooc4ZK2Yb3", + "indices": [ + 40, + 63 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 240, + "favorited": false, + "full_text": "Migrating developer apps to the X API 2 https://t.co/Ooc4ZK2Yb3", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 15, + "reply_count": 49, + "retweet_count": 61, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1790441814857826439" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "conversationthread-1790442867787284562", + "sortIndex": "7432930221996949358", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1790442867787284562-tweet-1790442867787284562", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1790442867787284562", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDkwNjk0Nzg4MzU3NzA1NzM4", + "rest_id": "1490694788357705738", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Feb 07 14:32:39 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "A Husband & Father | $TSLA investor | TEXAS MADE Homeschooling Dad", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 45613, + "followers_count": 5044, + "friends_count": 858, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 50, + "location": "In your head", + "media_count": 6809, + "name": "Oscar Herrera", + "normal_followers_count": 5044, + "pinned_tweet_ids_str": [ + "1805244078570852806" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1490694788357705738/1711940140", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1792666714229858305/IR1ThxdT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "OscarEnjoylife", + "statuses_count": 36840, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1577700098775064576", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": true, + "cash_app_handle": "$Ooscar92" + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1790442867787284562" + ], + "editable_until_msecs": "1715713419000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "495", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue May 14 18:03:39 +0000 2024", + "conversation_id_str": "1790441814857826439", + "display_text_range": [ + 13, + 32 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@XDevelopers Emergency service?!", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1790441814857826439", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1490694788357705738", + "id_str": "1790442867787284562" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCGAHgAUKAAIAAAAAGADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1790443755352244377", + "sortIndex": "7432930221996949348", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1790443755352244377-tweet-1790443755352244377", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1790443755352244377", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTk0MzM3ODc=", + "rest_id": "219433787", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Nov 24 21:20:24 +0000 2010", + "default_profile": true, + "default_profile_image": false, + "description": "🇱🇧\nMiddle East Analysis / History / Politics / Memes / reporting |\nOccasionally sarcastic |\nI'll *try* to be as objective as I can", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "t.me/me_observer_TG", + "expanded_url": "https://t.me/me_observer_TG", + "url": "https://t.co/1r86iXEixd", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 20544, + "followers_count": 151299, + "friends_count": 1018, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 799, + "location": "", + "media_count": 8739, + "name": "Middle East Observer", + "normal_followers_count": 151299, + "pinned_tweet_ids_str": [ + "1711626139704160621" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/219433787/1697943368", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1741869681315627008/JhnYaNAp_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ME_Observer_", + "statuses_count": 46378, + "translator_type": "none", + "url": "https://t.co/1r86iXEixd", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1685064044837810177", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1790443755352244377" + ], + "editable_until_msecs": "1715713630000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "606", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue May 14 18:07:10 +0000 2024", + "conversation_id_str": "1790441814857826439", + "display_text_range": [ + 13, + 102 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@XDevelopers Please let the API allow the premium accounts to post more than 220 characters\n\nThank you", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1790441814857826439", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "219433787", + "id_str": "1790443755352244377" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCKIDgAUKAAIAAAAAGADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1790448953940455519", + "sortIndex": "7432930221996949338", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1790448953940455519-tweet-1790448953940455519", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1790448953940455519", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzM3NzgyNjI3MzI4MjcwMzM3", + "rest_id": "1337782627328270337", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Dec 12 15:33:38 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "🏒 Writer/ITR (#NJDevils) - NHL Clips-Replays-Highlights-Dabbleverse-Memes-Devils Media Caster for @PSF_App (If you don't get it you're being trolled) 🧌", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "devilsjoint.creator-spring.com", + "expanded_url": "https://devilsjoint.creator-spring.com/", + "url": "https://t.co/A9LjetyxBC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 24042, + "followers_count": 3186, + "friends_count": 4946, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 16, + "location": "Hell On Earth (NYC)", + "media_count": 9321, + "name": "Devils Joint", + "normal_followers_count": 3186, + "pinned_tweet_ids_str": [ + "1800644025055166615" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1337782627328270337/1710748710", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1765653069629378560/hr1vaasJ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DevilsJointX", + "statuses_count": 34135, + "translator_type": "none", + "url": "https://t.co/A9LjetyxBC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1697945850041758131", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "cash_app_handle": "$JJDevils" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1790448953940455519" + ], + "editable_until_msecs": "1715714870000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "551", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue May 14 18:27:50 +0000 2024", + "conversation_id_str": "1790441814857826439", + "display_text_range": [ + 13, + 102 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 3, + "favorited": false, + "full_text": "@XDevelopers How can i get streaming back on my account? It won’t let me stream anymore. Can you help?", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1790441814857826439", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 10, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "1337782627328270337", + "id_str": "1790448953940455519" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCSQDgAUKAAIAAAAAGADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "cursor-showmorethreads-3106684343556454485", + "sortIndex": "7432930221996949337", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "JQAAAPAWHBk2pIG-0aqT99gxsoKywf_G99gxvsG5gcz1-dgxJQISFQ4AAA", + "cursorType": "ShowMoreThreads", + "displayTreatment": { + "actionText": "Show probable spam" + } + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ] + } + } +} diff --git a/apps/twscrape/tests/mocked-data/card_poll.json b/apps/twscrape/tests/mocked-data/card_poll.json new file mode 100644 index 0000000..51ae463 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/card_poll.json @@ -0,0 +1,11186 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1780666831310877100", + "sortIndex": "7442705205543898707", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780666831310877100", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NDE5NjM5Nw==", + "rest_id": "44196397", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Jun 02 20:12:29 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 49524, + "followers_count": 180999049, + "friends_count": 574, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 149647, + "location": "", + "media_count": 2151, + "name": "Elon Musk", + "normal_followers_count": 180999049, + "pinned_tweet_ids_str": [ + "1780660716229554184" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1690621312", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1780044485541699584/p78MCn3B_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "elonmusk", + "statuses_count": 42513, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1679729435447275522", + "professional_type": "Creator", + "category": [] + }, + "super_follow_eligible": true + } + } + }, + "card": { + "rest_id": "card://1780666830522322944", + "legacy": { + "binding_values": [ + { + "key": "choice1_label", + "value": { + "string_value": "Yes", + "type": "STRING" + } + }, + { + "key": "choice2_label", + "value": { + "string_value": "No", + "type": "STRING" + } + }, + { + "key": "end_datetime_utc", + "value": { + "string_value": "2024-04-18T18:37:10Z", + "type": "STRING" + } + }, + { + "key": "counts_are_final", + "value": { + "boolean_value": false, + "type": "BOOLEAN" + } + }, + { + "key": "choice2_count", + "value": { + "string_value": "364677", + "type": "STRING" + } + }, + { + "key": "choice1_count", + "value": { + "string_value": "844386", + "type": "STRING" + } + }, + { + "key": "last_updated_datetime_utc", + "value": { + "string_value": "2024-04-17T23:32:51Z", + "type": "STRING" + } + }, + { + "key": "duration_minutes", + "value": { + "string_value": "1440", + "type": "STRING" + } + }, + { + "key": "api", + "value": { + "string_value": "capi://passthrough/1", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://twitter.com", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "poll2choice_text_only", + "url": "card://1780666830522322944", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780666831310877100" + ], + "editable_until_msecs": "1713382630000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "15188632", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 1612, + "bookmarked": false, + "created_at": "Wed Apr 17 18:37:10 +0000 2024", + "conversation_id_str": "1780666831310877100", + "display_text_range": [ + 0, + 16 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 33991, + "favorited": false, + "full_text": "Bring back Vine?", + "is_quote_status": false, + "lang": "en", + "quote_count": 2789, + "reply_count": 10731, + "retweet_count": 6056, + "retweeted": false, + "user_id_str": "44196397", + "id_str": "1780666831310877100" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "conversationthread-1780666889137422518", + "sortIndex": "7442705205543898697", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1780666889137422518-tweet-1780666889137422518", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780666889137422518", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjM3NTA3MDk5NTU4MDI3MjY3", + "rest_id": "1637507099558027267", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Mar 19 17:31:37 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "I write about genetics, 'metrics, and demographics.\n\nRead my long-form writing at https://t.co/8hgA4nNS2A.", + "entities": { + "description": { + "urls": [ + { + "display_url": "cremieux.xyz", + "expanded_url": "http://www.cremieux.xyz", + "url": "https://t.co/8hgA4nNS2A", + "indices": [ + 82, + 105 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cremieux.xyz/subscribe", + "expanded_url": "https://www.cremieux.xyz/subscribe", + "url": "https://t.co/UFvzSpmGBI", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 58302, + "followers_count": 86187, + "friends_count": 875, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 612, + "location": "Earth", + "media_count": 4727, + "name": "Crémieux", + "normal_followers_count": 86187, + "pinned_tweet_ids_str": [ + "1770582513951326684" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1637507099558027267/1679247968", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1637507712983375875/EQHiqVq8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "cremieuxrecueil", + "statuses_count": 19949, + "translator_type": "none", + "url": "https://t.co/UFvzSpmGBI", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780666889137422518" + ], + "editable_until_msecs": "1713382644000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "125130", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Wed Apr 17 18:37:24 +0000 2024", + "conversation_id_str": "1780666831310877100", + "display_text_range": [ + 10, + 29 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "44196397", + "name": "Elon Musk", + "screen_name": "elonmusk", + "indices": [ + 0, + 9 + ] + } + ] + }, + "favorite_count": 1300, + "favorited": false, + "full_text": "@elonmusk Do it for the Vine.", + "in_reply_to_screen_name": "elonmusk", + "in_reply_to_status_id_str": "1780666831310877100", + "in_reply_to_user_id_str": "44196397", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 34, + "retweet_count": 15, + "retweeted": false, + "user_id_str": "1637507099558027267", + "id_str": "1780666889137422518" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFMAKCGAPgBUKAAIAAAAAFADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1780667172303348094", + "sortIndex": "7442705205543898687", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1780667172303348094-tweet-1780667172303348094", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780667172303348094", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4ODA2MDI5NDU2MzI1NzU0ODg=", + "rest_id": "880602945632575488", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Jun 30 01:44:37 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "News & Content Organization\nCo-Owner: @thepublicanow\nMy Coffee, Tea & Cocoa: @coffeebrandco", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "rumble.com/c/TheQuartering", + "expanded_url": "https://rumble.com/c/TheQuartering", + "url": "https://t.co/mAoFfkt3A3", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 32894, + "followers_count": 317139, + "friends_count": 560, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1189, + "location": "Milwaukee, WI", + "media_count": 9355, + "name": "TheQuartering", + "normal_followers_count": 317139, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/880602945632575488/1711046516", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1673518285122412544/WabOxy1m_normal.png", + "profile_interstitial_type": "", + "screen_name": "TheQuartering", + "statuses_count": 42371, + "translator_type": "none", + "url": "https://t.co/mAoFfkt3A3", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780667172303348094" + ], + "editable_until_msecs": "1713382711000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "208895", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 12, + "bookmarked": false, + "created_at": "Wed Apr 17 18:38:31 +0000 2024", + "conversation_id_str": "1780666831310877100", + "display_text_range": [ + 10, + 89 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "44196397", + "name": "Elon Musk", + "screen_name": "elonmusk", + "indices": [ + 0, + 9 + ] + } + ] + }, + "favorite_count": 2046, + "favorited": false, + "full_text": "@elonmusk Just integrate into X under a different tab. No reason to have it be separate.", + "in_reply_to_screen_name": "elonmusk", + "in_reply_to_status_id_str": "1780666831310877100", + "in_reply_to_user_id_str": "44196397", + "is_quote_status": false, + "lang": "en", + "quote_count": 4, + "reply_count": 89, + "retweet_count": 25, + "retweeted": false, + "user_id_str": "880602945632575488", + "id_str": "1780667172303348094" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFMAKCKILgBUKAAIAAAAAFADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1780670304609509436", + "sortIndex": "7442705205543898677", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1780670304609509436-tweet-1780670304609509436", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780670304609509436", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMTcxNDAzMDYy", + "rest_id": "3171403062", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Apr 25 00:46:20 +0000 2015", + "default_profile": true, + "default_profile_image": false, + "description": "YouTuber, skate shop owner, former police and SWAT officer, veteran, gamer, foodie, Kentucky colonel. Co-host of @unsubscribecast", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "donutoperator.com", + "expanded_url": "http://donutoperator.com", + "url": "https://t.co/2RXTONNvnB", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 23729, + "followers_count": 680685, + "friends_count": 1141, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 679, + "location": "San Antonio, TX", + "media_count": 7488, + "name": "Donut Operator 🍩", + "normal_followers_count": 680685, + "pinned_tweet_ids_str": [ + "1736871194018882013" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3171403062/1557767037", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1735068520843534336/3PAdFiE5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DonutOperator", + "statuses_count": 28492, + "translator_type": "none", + "url": "https://t.co/2RXTONNvnB", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1470969278740500480", + "professional_type": "Creator", + "category": [ + { + "id": 934, + "name": "Social Media Influencer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780670304609509436" + ], + "editable_until_msecs": "1713383458000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "110233", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 4, + "bookmarked": false, + "created_at": "Wed Apr 17 18:50:58 +0000 2024", + "conversation_id_str": "1780666831310877100", + "display_text_range": [ + 10, + 44 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "44196397", + "name": "Elon Musk", + "screen_name": "elonmusk", + "indices": [ + 0, + 9 + ] + } + ] + }, + "favorite_count": 1883, + "favorited": false, + "full_text": "@elonmusk Please. Keep it to short form tho.", + "in_reply_to_screen_name": "elonmusk", + "in_reply_to_status_id_str": "1780666831310877100", + "in_reply_to_user_id_str": "44196397", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 15, + "retweet_count": 17, + "retweeted": false, + "user_id_str": "3171403062", + "id_str": "1780670304609509436" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFMAKCSQLgBUKAAIAAAAAFADACAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1780670304609509436-cursor-showmore-136506874490417348", + "item": { + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "PAAAAPAtPBwcFviAsYWljZu2MRUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNzgwNjcwMzA0NjA5NTA5NDM2IgAA", + "cursorType": "ShowMore", + "displayTreatment": { + "actionText": "Show replies" + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "cursor-showmorethreads-7209882924482071540", + "sortIndex": "7442705205543898676", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "JQAAAPAWHBk27IKw5b3GmbYx_IW5xfvWmbYx-ICxhaWNm7YxJQISFQ4AAA", + "cursorType": "ShowMoreThreads", + "displayTreatment": { + "actionText": "Show more replies" + } + } + } + }, + { + "entryId": "module-7442705205543888676", + "sortIndex": "7442705205543888676", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "YouMightAlsoLike:1780659559138496938", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780659559138496938", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NDE5NjM5Nw==", + "rest_id": "44196397", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Jun 02 20:12:29 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 49524, + "followers_count": 180999081, + "friends_count": 574, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 149647, + "location": "", + "media_count": 2151, + "name": "Elon Musk", + "normal_followers_count": 180999081, + "pinned_tweet_ids_str": [ + "1780660716229554184" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1690621312", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1780044485541699584/p78MCn3B_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "elonmusk", + "statuses_count": 42513, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1679729435447275522", + "professional_type": "Creator", + "category": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780659559138496938" + ], + "editable_until_msecs": "1713380896000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8577846", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1780594156789755947", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTY1Nzk5NzE=", + "rest_id": "116579971", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Feb 23 00:08:02 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Professor, Evolutionary Behavioral Scientist, Author. Opinions are mine alone. Retweets do not necessarily imply an endorsement.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "gadsaad.com", + "expanded_url": "http://gadsaad.com", + "url": "https://t.co/8p3F9wdOAO", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 35556, + "followers_count": 860574, + "friends_count": 385, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3581, + "location": "Canada", + "media_count": 16402, + "name": "Gad Saad", + "normal_followers_count": 860574, + "pinned_tweet_ids_str": [ + "1780688064152584589" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/116579971/1690746035", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/979192426660327424/4B9g75QR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GadSaad", + "statuses_count": 131039, + "translator_type": "none", + "url": "https://t.co/8p3F9wdOAO", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780594156789755947" + ], + "editable_until_msecs": "1713365303000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8925787", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quotedRefResult": { + "result": { + "__typename": "Tweet", + "rest_id": "1780561900180251131" + } + }, + "legacy": { + "bookmark_count": 757, + "bookmarked": false, + "created_at": "Wed Apr 17 13:48:23 +0000 2024", + "conversation_id_str": "1780594156789755947", + "display_text_range": [ + 0, + 144 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 11006, + "favorited": false, + "full_text": "\"Truth is subjective\" is precisely the key tenet of postmodernism. This is why I refer to it as the granddaddy of all parasitic idea pathogens.", + "is_quote_status": true, + "lang": "en", + "quote_count": 164, + "quoted_status_id_str": "1780561900180251131", + "quoted_status_permalink": { + "url": "https://t.co/8hqbAzEtpq", + "expanded": "https://twitter.com/libbyemmons/status/1780561900180251131", + "display": "x.com/libbyemmons/st…" + }, + "reply_count": 874, + "retweet_count": 2449, + "retweeted": false, + "user_id_str": "116579971", + "id_str": "1780594156789755947" + } + } + }, + "legacy": { + "bookmark_count": 1615, + "bookmarked": false, + "created_at": "Wed Apr 17 18:08:16 +0000 2024", + "conversation_id_str": "1780659559138496938", + "display_text_range": [ + 0, + 203 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 37091, + "favorited": false, + "full_text": "Now imagine if this is programmed, explicitly or implicitly, into super powerful AI – it could end civilization. \n\nNow, no need to imagine. It is already programmed into Google Gemini and OpenAI ChatGPT.", + "is_quote_status": true, + "lang": "en", + "quote_count": 400, + "quoted_status_id_str": "1780594156789755947", + "quoted_status_permalink": { + "url": "https://t.co/cioa8ruj3W", + "expanded": "https://twitter.com/gadsaad/status/1780594156789755947", + "display": "x.com/gadsaad/status…" + }, + "reply_count": 2997, + "retweet_count": 8483, + "retweeted": false, + "user_id_str": "44196397", + "id_str": "1780659559138496938" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780448688864710864", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780448688864710864", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTIyMDUzNjQzNTcwNDE3NjY0", + "rest_id": "1522053643570417664", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu May 05 03:30:28 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "the most unique insults on the internet", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2624, + "followers_count": 2050444, + "friends_count": 0, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2375, + "location": "DM submissions", + "media_count": 4214, + "name": "rare insults", + "normal_followers_count": 2050444, + "pinned_tweet_ids_str": [ + "1780352964705615920" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1522053643570417664/1652392642", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1524871375831326728/AnvqIDN2_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "insultsrare", + "statuses_count": 5184, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780448688864710864" + ], + "editable_until_msecs": "1713330621000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "6925312", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 6319, + "bookmarked": false, + "created_at": "Wed Apr 17 04:10:21 +0000 2024", + "conversation_id_str": "1780448688864710864", + "display_text_range": [ + 0, + 0 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/cqMBeP0gAb", + "expanded_url": "https://twitter.com/insultsrare/status/1780448688864710864/photo/1", + "id_str": "1780448684120932352", + "indices": [ + 0, + 23 + ], + "media_key": "3_1780448684120932352", + "media_url_https": "https://pbs.twimg.com/media/GLVspR3XAAAqhB2.jpg", + "type": "photo", + "url": "https://t.co/cqMBeP0gAb", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 456, + "w": 639, + "resize": "fit" + }, + "medium": { + "h": 456, + "w": 639, + "resize": "fit" + }, + "small": { + "h": 456, + "w": 639, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 456, + "width": 639, + "focus_rects": [ + { + "x": 0, + "y": 98, + "w": 639, + "h": 358 + }, + { + "x": 0, + "y": 0, + "w": 456, + "h": 456 + }, + { + "x": 0, + "y": 0, + "w": 400, + "h": 456 + }, + { + "x": 61, + "y": 0, + "w": 228, + "h": 456 + }, + { + "x": 0, + "y": 0, + "w": 639, + "h": 456 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780448684120932352" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/cqMBeP0gAb", + "expanded_url": "https://twitter.com/insultsrare/status/1780448688864710864/photo/1", + "id_str": "1780448684120932352", + "indices": [ + 0, + 23 + ], + "media_key": "3_1780448684120932352", + "media_url_https": "https://pbs.twimg.com/media/GLVspR3XAAAqhB2.jpg", + "type": "photo", + "url": "https://t.co/cqMBeP0gAb", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 456, + "w": 639, + "resize": "fit" + }, + "medium": { + "h": 456, + "w": 639, + "resize": "fit" + }, + "small": { + "h": 456, + "w": 639, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 456, + "width": 639, + "focus_rects": [ + { + "x": 0, + "y": 98, + "w": 639, + "h": 358 + }, + { + "x": 0, + "y": 0, + "w": 456, + "h": 456 + }, + { + "x": 0, + "y": 0, + "w": 400, + "h": 456 + }, + { + "x": 61, + "y": 0, + "w": 228, + "h": 456 + }, + { + "x": 0, + "y": 0, + "w": 639, + "h": 456 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780448684120932352" + } + } + } + ] + }, + "favorite_count": 130613, + "favorited": false, + "full_text": "https://t.co/cqMBeP0gAb", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1042, + "reply_count": 1036, + "retweet_count": 16273, + "retweeted": false, + "user_id_str": "1522053643570417664", + "id_str": "1780448688864710864" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780518813319970889", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780518813319970889", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTU0ODE5ODYyOTA1MjQxNjA=", + "rest_id": "855481986290524160", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Apr 21 18:02:54 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Daily history lessons. Education through memes!", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1101, + "followers_count": 4972689, + "friends_count": 207, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 12206, + "location": "", + "media_count": 9830, + "name": "Historic Vids", + "normal_followers_count": 4972689, + "pinned_tweet_ids_str": [ + "1780660245489979567" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/855481986290524160/1651700840", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1648334723725361152/ev7V1230_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "historyinmemes", + "statuses_count": 11021, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1511422137550180354", + "professional_type": "Creator", + "category": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780518813319970889" + ], + "editable_until_msecs": "1713347340000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "14059041", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6972, + "bookmarked": false, + "created_at": "Wed Apr 17 08:49:00 +0000 2024", + "conversation_id_str": "1780518813319970889", + "display_text_range": [ + 0, + 105 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/xxZRh2yINA", + "expanded_url": "https://twitter.com/historyinmemes/status/1780518813319970889/video/1", + "id_str": "1780502768895111168", + "indices": [ + 106, + 129 + ], + "media_key": "7_1780502768895111168", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780502768895111168/pu/img/hejq6Dl-eczCqIlk.jpg", + "type": "video", + "url": "https://t.co/xxZRh2yINA", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 758, + "w": 1078, + "resize": "fit" + }, + "medium": { + "h": 758, + "w": 1078, + "resize": "fit" + }, + "small": { + "h": 478, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 758, + "width": 1078, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 539, + 379 + ], + "duration_millis": 90000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/pl/GjxyBQLDFVDzee7x.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/vid/avc1/382x270/24_7lC69Stn8iAsI.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/vid/avc1/510x360/LFkRcFhXEHE_keeq.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/vid/avc1/1022x720/tCIm27Mofla_3I1e.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780502768895111168" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/xxZRh2yINA", + "expanded_url": "https://twitter.com/historyinmemes/status/1780518813319970889/video/1", + "id_str": "1780502768895111168", + "indices": [ + 106, + 129 + ], + "media_key": "7_1780502768895111168", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780502768895111168/pu/img/hejq6Dl-eczCqIlk.jpg", + "type": "video", + "url": "https://t.co/xxZRh2yINA", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 758, + "w": 1078, + "resize": "fit" + }, + "medium": { + "h": 758, + "w": 1078, + "resize": "fit" + }, + "small": { + "h": 478, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 758, + "width": 1078, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 539, + 379 + ], + "duration_millis": 90000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/pl/GjxyBQLDFVDzee7x.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/vid/avc1/382x270/24_7lC69Stn8iAsI.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/vid/avc1/510x360/LFkRcFhXEHE_keeq.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780502768895111168/pu/vid/avc1/1022x720/tCIm27Mofla_3I1e.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780502768895111168" + } + } + } + ] + }, + "favorite_count": 82153, + "favorited": false, + "full_text": "Google bought YouTube for $1.65 billion. Today, YouTube generates $1.65 billion of revenue every 16 days. https://t.co/xxZRh2yINA", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 238, + "reply_count": 583, + "retweet_count": 6000, + "retweeted": false, + "user_id_str": "855481986290524160", + "id_str": "1780518813319970889" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780680062796468434", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780680062796468434", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3ODMyMTQ=", + "rest_id": "783214", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Feb 20 14:35:54 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "what's happening?!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "about.x.com", + "expanded_url": "https://about.x.com/", + "url": "https://t.co/bGcvaMApJO", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5896, + "followers_count": 67786349, + "friends_count": 0, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 88779, + "location": "everywhere", + "media_count": 2418, + "name": "X", + "normal_followers_count": 67786349, + "pinned_tweet_ids_str": [ + "1773872606229217439" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/783214/1690175171", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "X", + "statuses_count": 15252, + "translator_type": "regular", + "url": "https://t.co/bGcvaMApJO", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780680062796468434" + ], + "editable_until_msecs": "1713385785000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "817161", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 253, + "bookmarked": false, + "created_at": "Wed Apr 17 19:29:45 +0000 2024", + "conversation_id_str": "1780680062796468434", + "display_text_range": [ + 0, + 17 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 6690, + "favorited": false, + "full_text": "the answer is yes", + "is_quote_status": false, + "lang": "en", + "quote_count": 626, + "reply_count": 1582, + "retweet_count": 766, + "retweeted": false, + "user_id_str": "783214", + "id_str": "1780680062796468434" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780603212359205323", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780603212359205323", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1MTc0NzMyMDc=", + "rest_id": "517473207", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Mar 07 11:03:33 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "bostondynamics.com", + "expanded_url": "http://www.bostondynamics.com", + "url": "http://t.co/KxMV6nBHfu", + "indices": [ + 0, + 22 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 91, + "followers_count": 302592, + "friends_count": 0, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1668, + "location": "Waltham, MA", + "media_count": 170, + "name": "Boston Dynamics", + "normal_followers_count": 302592, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/517473207/1573481076", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1156978210783019009/AbgIujGu_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "BostonDynamics", + "statuses_count": 335, + "translator_type": "none", + "url": "http://t.co/KxMV6nBHfu", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780603212359205323" + ], + "editable_until_msecs": "1713367462000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4346077", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 3908, + "bookmarked": false, + "created_at": "Wed Apr 17 14:24:22 +0000 2024", + "conversation_id_str": "1780603212359205323", + "display_text_range": [ + 0, + 70 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/G30sXHQ93C", + "expanded_url": "https://twitter.com/BostonDynamics/status/1780603212359205323/video/1", + "id_str": "1780603022189445121", + "indices": [ + 71, + 94 + ], + "media_key": "13_1780603022189445121", + "media_url_https": "https://pbs.twimg.com/media/GLX5KsXWEAAJeQo.jpg", + "type": "video", + "url": "https://t.co/G30sXHQ93C", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 31247, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/pl/T-xy8cq8G3_IoqJl.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/vid/avc1/480x270/Ur9fNw2DUw_kDog5.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/vid/avc1/640x360/wyrDQAfMAtJLEvlE.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/vid/avc1/1280x720/L5rBv19vDsLXxBB2.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780603022189445121" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "bit.ly/3w5XRvH", + "expanded_url": "https://bit.ly/3w5XRvH", + "url": "https://t.co/S9FgfpqvrW", + "indices": [ + 47, + 70 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/G30sXHQ93C", + "expanded_url": "https://twitter.com/BostonDynamics/status/1780603212359205323/video/1", + "id_str": "1780603022189445121", + "indices": [ + 71, + 94 + ], + "media_key": "13_1780603022189445121", + "media_url_https": "https://pbs.twimg.com/media/GLX5KsXWEAAJeQo.jpg", + "type": "video", + "url": "https://t.co/G30sXHQ93C", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 31247, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/pl/T-xy8cq8G3_IoqJl.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/vid/avc1/480x270/Ur9fNw2DUw_kDog5.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/vid/avc1/640x360/wyrDQAfMAtJLEvlE.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780603022189445121/vid/avc1/1280x720/L5rBv19vDsLXxBB2.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780603022189445121" + } + } + } + ] + }, + "favorite_count": 36391, + "favorited": false, + "full_text": "We promise this is not a person in a bodysuit. https://t.co/S9FgfpqvrW https://t.co/G30sXHQ93C", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4005, + "reply_count": 2088, + "retweet_count": 6790, + "retweeted": false, + "user_id_str": "517473207", + "id_str": "1780603212359205323" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780674956918980619", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780674956918980619", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NzQ0MTQxNA==", + "rest_id": "57441414", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Jul 16 20:44:53 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Rapper. Author. Public Speaker. Coach. Host of 'Real Talk with Zuby' podcast. 'Strong Advice' fitness eBook - https://t.co/jZuDYSwVKR", + "entities": { + "description": { + "urls": [ + { + "display_url": "zubymusic.gumroad.com/l/zubyfitness", + "expanded_url": "https://zubymusic.gumroad.com/l/zubyfitness", + "url": "https://t.co/jZuDYSwVKR", + "indices": [ + 110, + 133 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "teamzuby.com", + "expanded_url": "http://teamzuby.com", + "url": "https://t.co/tIGb73GO1t", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 203326, + "followers_count": 1196675, + "friends_count": 3980, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3629, + "location": "Global", + "media_count": 9393, + "name": "ZUBY:", + "normal_followers_count": 1196675, + "pinned_tweet_ids_str": [ + "1670098987037208577" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/57441414/1672693776", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1363770757709508608/EBWhpEq0_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ZubyMusic", + "statuses_count": 162790, + "translator_type": "none", + "url": "https://t.co/tIGb73GO1t", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780674956918980619" + ], + "editable_until_msecs": "1713384567000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "135202", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 38, + "bookmarked": false, + "created_at": "Wed Apr 17 19:09:27 +0000 2024", + "conversation_id_str": "1780674956918980619", + "display_text_range": [ + 0, + 108 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/6XadJgSJZO", + "expanded_url": "https://twitter.com/ZubyMusic/status/1780674956918980619/photo/1", + "id_str": "1780674951021805568", + "indices": [ + 109, + 132 + ], + "media_key": "3_1780674951021805568", + "media_url_https": "https://pbs.twimg.com/media/GLY6bvwXQAABhJZ.jpg", + "type": "photo", + "url": "https://t.co/6XadJgSJZO", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1686, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 988, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 560, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3118, + "width": 3788, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 3788, + "h": 2121 + }, + { + "x": 619, + "y": 0, + "w": 3118, + "h": 3118 + }, + { + "x": 811, + "y": 0, + "w": 2735, + "h": 3118 + }, + { + "x": 1399, + "y": 0, + "w": 1559, + "h": 3118 + }, + { + "x": 0, + "y": 0, + "w": 3788, + "h": 3118 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780674951021805568" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "44196397", + "name": "Elon Musk", + "screen_name": "elonmusk", + "indices": [ + 68, + 77 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/6XadJgSJZO", + "expanded_url": "https://twitter.com/ZubyMusic/status/1780674956918980619/photo/1", + "id_str": "1780674951021805568", + "indices": [ + 109, + 132 + ], + "media_key": "3_1780674951021805568", + "media_url_https": "https://pbs.twimg.com/media/GLY6bvwXQAABhJZ.jpg", + "type": "photo", + "url": "https://t.co/6XadJgSJZO", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1686, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 988, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 560, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3118, + "width": 3788, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 3788, + "h": 2121 + }, + { + "x": 619, + "y": 0, + "w": 3118, + "h": 3118 + }, + { + "x": 811, + "y": 0, + "w": 2735, + "h": 3118 + }, + { + "x": 1399, + "y": 0, + "w": 1559, + "h": 3118 + }, + { + "x": 0, + "y": 0, + "w": 3788, + "h": 3118 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780674951021805568" + } + } + } + ] + }, + "favorite_count": 5694, + "favorited": false, + "full_text": "Twitter old guard banned me.\n\nX new guard support me.\n\nShout out to @elonmusk for being a legend in general! https://t.co/6XadJgSJZO", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 18, + "reply_count": 152, + "retweet_count": 260, + "retweeted": false, + "user_id_str": "57441414", + "id_str": "1780674956918980619" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780585322025537822", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780585322025537822", + "has_birdwatch_notes": true, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4OTAwNjE2MzQxODEzNzM5NTI=", + "rest_id": "890061634181373952", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Jul 26 04:10:04 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Co-Owner of Trending Politics | Investor | American 🇺🇸", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "trendingpoliticsnews.com", + "expanded_url": "https://trendingpoliticsnews.com", + "url": "https://t.co/MbpH1fNere", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 4203, + "followers_count": 1022173, + "friends_count": 418, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3068, + "location": "United States", + "media_count": 3006, + "name": "Collin Rugg", + "normal_followers_count": 1022173, + "pinned_tweet_ids_str": [ + "1779215389119181118" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/890061634181373952/1613522799", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1325087660428447746/4DL2iq76_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "CollinRugg", + "statuses_count": 10680, + "translator_type": "none", + "url": "https://t.co/MbpH1fNere", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1594782336146497536", + "professional_type": "Business", + "category": [ + { + "id": 933, + "name": "Media Personality", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780585322025537822" + ], + "editable_until_msecs": "1713363197000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "13100415", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE3ODA1ODUzMjE5MDM4MzMwODg=", + "text": "NEW: North Carolina high school student arrested after assaulting his teacher as students in the class filmed and laughed.\n\nThe teen is now facing three misdemeanor charges for assault on a government official.\n\nUnlike many other school assault cases, the district attorney launched an investigation into the assault within an hour after the video was posted.\n\n“Both Sheriff Kimbrell and myself spent the morning at Parkland High School speaking with the teacher,” said Forsyth county DA Jim O’Neil.\n\n “This isn’t about the color of your skin, this isn’t about your political affiliation, today is about one thing. Sending a message to the teachers out there, that law enforcement and the District Attorney’s Office support you, we care about the job you do.”\n\nThe public school system is a mess.", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 5933, + "bookmarked": false, + "created_at": "Wed Apr 17 13:13:17 +0000 2024", + "conversation_id_str": "1780585322025537822", + "display_text_range": [ + 0, + 274 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/LsKPMKEhjQ", + "expanded_url": "https://twitter.com/CollinRugg/status/1780585322025537822/video/1", + "id_str": "1780585124872196096", + "indices": [ + 275, + 298 + ], + "media_key": "13_1780585124872196096", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1780585124872196096/img/5YStdV_hQ0Wat2wl.jpg", + "type": "video", + "url": "https://t.co/LsKPMKEhjQ", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1350, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1350, + "width": 1080, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 4, + 5 + ], + "duration_millis": 36050, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/pl/FLuOXSgIkwrSIWRu.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/vid/avc1/320x400/ekNrW0NO_wc9SfAC.mp4?tag=14" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/vid/avc1/480x600/PJuYXEpfz_qobu4a.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/vid/avc1/720x900/4ZsJIJs-rvc-jv2m.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780585124872196096" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/LsKPMKEhjQ", + "expanded_url": "https://twitter.com/CollinRugg/status/1780585322025537822/video/1", + "id_str": "1780585124872196096", + "indices": [ + 275, + 298 + ], + "media_key": "13_1780585124872196096", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1780585124872196096/img/5YStdV_hQ0Wat2wl.jpg", + "type": "video", + "url": "https://t.co/LsKPMKEhjQ", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1350, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1350, + "width": 1080, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 4, + 5 + ], + "duration_millis": 36050, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/pl/FLuOXSgIkwrSIWRu.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/vid/avc1/320x400/ekNrW0NO_wc9SfAC.mp4?tag=14" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/vid/avc1/480x600/PJuYXEpfz_qobu4a.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780585124872196096/vid/avc1/720x900/4ZsJIJs-rvc-jv2m.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780585124872196096" + } + } + } + ] + }, + "favorite_count": 52625, + "favorited": false, + "full_text": "NEW: North Carolina high school student arrested after assaulting his teacher as students in the class filmed and laughed.\n\nThe teen is now facing three misdemeanor charges for assault on a government official.\n\nUnlike many other school assault cases, the district attorney… https://t.co/LsKPMKEhjQ", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2555, + "reply_count": 13887, + "retweet_count": 10210, + "retweeted": false, + "user_id_str": "890061634181373952", + "id_str": "1780585322025537822" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780600897959346531", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780600897959346531", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NzE5NjQ1MTg=", + "rest_id": "571964518", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat May 05 18:11:01 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "WARNING: Don't follow us if you can't take a troll on your fav club/player.\nDM requests / Contact: trollfootballcontact@gmail.com", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 666, + "followers_count": 3941392, + "friends_count": 578, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 7358, + "location": "", + "media_count": 10875, + "name": "Troll Football", + "normal_followers_count": 3941392, + "pinned_tweet_ids_str": [ + "1745555563319115963" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/571964518/1675586450", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1612788418010042369/9wIHyK2z_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TrollFootball", + "statuses_count": 12301, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1475763111130898434", + "professional_type": "Creator", + "category": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780600897959346531" + ], + "editable_until_msecs": "1713366910000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5742253", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 4952, + "bookmarked": false, + "created_at": "Wed Apr 17 14:15:10 +0000 2024", + "conversation_id_str": "1780600897959346531", + "display_text_range": [ + 0, + 42 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/e97gGCbkhg", + "expanded_url": "https://twitter.com/TrollFootball/status/1780600897959346531/video/1", + "id_str": "1780600297586319360", + "indices": [ + 43, + 66 + ], + "media_key": "7_1780600297586319360", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780600297586319360/pu/img/nvUm1xtSwE8195oa.jpg", + "type": "video", + "url": "https://t.co/e97gGCbkhg", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1226, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 705, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 399, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1226, + "width": 720, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 360, + 613 + ], + "duration_millis": 13839, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/pl/n6It6e1n38UHpNfK.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/vid/avc1/320x544/4uX-RnX4A27kOG59.mp4?tag=12" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/vid/avc1/480x816/J6ahHw_bI-gOjvUM.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/vid/avc1/720x1226/t6W5Mhnyyj-zZK06.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780600297586319360" + } + } + }, + { + "display_url": "pic.twitter.com/e97gGCbkhg", + "expanded_url": "https://twitter.com/TrollFootball/status/1780600897959346531/video/1", + "id_str": "1780600306176282624", + "indices": [ + 43, + 66 + ], + "media_key": "3_1780600306176282624", + "media_url_https": "https://pbs.twimg.com/media/GLX2i2CW0AAn1o_.jpg", + "type": "photo", + "url": "https://t.co/e97gGCbkhg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 415, + "y": 311, + "h": 558, + "w": 558 + } + ] + }, + "medium": { + "faces": [ + { + "x": 397, + "y": 298, + "h": 534, + "w": 534 + } + ] + }, + "small": { + "faces": [ + { + "x": 225, + "y": 168, + "h": 302, + "w": 302 + } + ] + }, + "orig": { + "faces": [ + { + "x": 415, + "y": 311, + "h": 558, + "w": 558 + } + ] + } + }, + "sizes": { + "large": { + "h": 1252, + "w": 1164, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1116, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 632, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1252, + "width": 1164, + "focus_rects": [ + { + "x": 0, + "y": 205, + "w": 1164, + "h": 652 + }, + { + "x": 0, + "y": 0, + "w": 1164, + "h": 1164 + }, + { + "x": 66, + "y": 0, + "w": 1098, + "h": 1252 + }, + { + "x": 468, + "y": 0, + "w": 626, + "h": 1252 + }, + { + "x": 0, + "y": 0, + "w": 1164, + "h": 1252 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780600306176282624" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/e97gGCbkhg", + "expanded_url": "https://twitter.com/TrollFootball/status/1780600897959346531/video/1", + "id_str": "1780600297586319360", + "indices": [ + 43, + 66 + ], + "media_key": "7_1780600297586319360", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780600297586319360/pu/img/nvUm1xtSwE8195oa.jpg", + "type": "video", + "url": "https://t.co/e97gGCbkhg", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1226, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 705, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 399, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1226, + "width": 720, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 360, + 613 + ], + "duration_millis": 13839, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/pl/n6It6e1n38UHpNfK.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/vid/avc1/320x544/4uX-RnX4A27kOG59.mp4?tag=12" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/vid/avc1/480x816/J6ahHw_bI-gOjvUM.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780600297586319360/pu/vid/avc1/720x1226/t6W5Mhnyyj-zZK06.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780600297586319360" + } + } + }, + { + "display_url": "pic.twitter.com/e97gGCbkhg", + "expanded_url": "https://twitter.com/TrollFootball/status/1780600897959346531/video/1", + "id_str": "1780600306176282624", + "indices": [ + 43, + 66 + ], + "media_key": "3_1780600306176282624", + "media_url_https": "https://pbs.twimg.com/media/GLX2i2CW0AAn1o_.jpg", + "type": "photo", + "url": "https://t.co/e97gGCbkhg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 415, + "y": 311, + "h": 558, + "w": 558 + } + ] + }, + "medium": { + "faces": [ + { + "x": 397, + "y": 298, + "h": 534, + "w": 534 + } + ] + }, + "small": { + "faces": [ + { + "x": 225, + "y": 168, + "h": 302, + "w": 302 + } + ] + }, + "orig": { + "faces": [ + { + "x": 415, + "y": 311, + "h": 558, + "w": 558 + } + ] + } + }, + "sizes": { + "large": { + "h": 1252, + "w": 1164, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1116, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 632, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1252, + "width": 1164, + "focus_rects": [ + { + "x": 0, + "y": 205, + "w": 1164, + "h": 652 + }, + { + "x": 0, + "y": 0, + "w": 1164, + "h": 1164 + }, + { + "x": 66, + "y": 0, + "w": 1098, + "h": 1252 + }, + { + "x": 468, + "y": 0, + "w": 626, + "h": 1252 + }, + { + "x": 0, + "y": 0, + "w": 1164, + "h": 1252 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780600306176282624" + } + } + } + ] + }, + "favorite_count": 84933, + "favorited": false, + "full_text": "R.I.P Abhradeep Saha aka Angry Rantman 💔🕊️ https://t.co/e97gGCbkhg", + "is_quote_status": false, + "lang": "und", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 444, + "reply_count": 710, + "retweet_count": 5608, + "retweeted": false, + "user_id_str": "571964518", + "id_str": "1780600897959346531" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780597079439446250", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780597079439446250", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMDY2ODAwNTcz", + "rest_id": "3066800573", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Mar 03 02:27:17 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Working with @CityJournal, @ManhattanInst, @Hillsdale. NYT best-selling book: https://t.co/NPfoB06UwJ. Substack: https://t.co/nut2MvrkA4.", + "entities": { + "description": { + "urls": [ + { + "display_url": "a.co/d/3bmzGAK", + "expanded_url": "http://a.co/d/3bmzGAK", + "url": "https://t.co/NPfoB06UwJ", + "indices": [ + 78, + 101 + ] + }, + { + "display_url": "christopherrufo.com/subscribe", + "expanded_url": "http://christopherrufo.com/subscribe", + "url": "https://t.co/nut2MvrkA4", + "indices": [ + 113, + 136 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "christopherrufo.com/subscribe", + "expanded_url": "https://christopherrufo.com/subscribe", + "url": "https://t.co/azjaTnUCKh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 62227, + "followers_count": 649869, + "friends_count": 999, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3271, + "location": "Tips: chrisrufo@protonmail.com", + "media_count": 2878, + "name": "Christopher F. Rufo ⚔️", + "normal_followers_count": 649869, + "pinned_tweet_ids_str": [ + "1681291652017827842" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3066800573/1694067006", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1532845681051766784/7tZ93175_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "realchrisrufo", + "statuses_count": 24518, + "translator_type": "none", + "url": "https://t.co/azjaTnUCKh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1694188221465247761", + "professional_type": "Creator", + "category": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780597079439446250" + ], + "editable_until_msecs": "1713366000000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "17998356", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 1735, + "bookmarked": false, + "created_at": "Wed Apr 17 14:00:00 +0000 2024", + "conversation_id_str": "1780597079439446250", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/0vY6hIpbmO", + "expanded_url": "https://twitter.com/realchrisrufo/status/1780597079439446250/video/1", + "id_str": "1780589565037944833", + "indices": [ + 279, + 302 + ], + "media_key": "7_1780589565037944833", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780589565037944833/pu/img/98bxWQaRXc4sET9k.jpg", + "type": "video", + "url": "https://t.co/0vY6hIpbmO", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 31253, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/pl/gXH6xE_gH3oNKflL.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/480x270/tDxC5b-Y7aaVzl4p.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/640x360/r0EetObxyqBk9bJY.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/1280x720/AR7dVdG9jbYL6PpT.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780589565037944833" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/0vY6hIpbmO", + "expanded_url": "https://twitter.com/realchrisrufo/status/1780597079439446250/video/1", + "id_str": "1780589565037944833", + "indices": [ + 279, + 302 + ], + "media_key": "7_1780589565037944833", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780589565037944833/pu/img/98bxWQaRXc4sET9k.jpg", + "type": "video", + "url": "https://t.co/0vY6hIpbmO", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 31253, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/pl/gXH6xE_gH3oNKflL.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/480x270/tDxC5b-Y7aaVzl4p.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/640x360/r0EetObxyqBk9bJY.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/1280x720/AR7dVdG9jbYL6PpT.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780589565037944833" + } + } + } + ] + }, + "favorite_count": 18382, + "favorited": false, + "full_text": "EXCLUSIVE: Katherine Maher says the \"the number one challenge\" in her fight against disinformation is \"the First Amendment in the United States,\" which makes it \"a little bit tricky\" to censor \"bad information\" and \"the influence peddlers\" who spread it.\n\nNPR's censor-in-chief. https://t.co/0vY6hIpbmO", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1329, + "reply_count": 2947, + "retweet_count": 5117, + "retweeted": false, + "user_id_str": "3066800573", + "id_str": "1780597079439446250" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780622811163230228", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780622811163230228", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3Njc2NjAxOA==", + "rest_id": "76766018", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Sep 23 21:44:53 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "The leading source for influencer, streamer, and viral content", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "dexerto.com", + "expanded_url": "https://www.dexerto.com/", + "url": "https://t.co/2So9UX8reR", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5572, + "followers_count": 848032, + "friends_count": 860, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2379, + "location": "press[at]dexerto.com", + "media_count": 45984, + "name": "Dexerto", + "normal_followers_count": 848032, + "pinned_tweet_ids_str": [ + "1780360520929010070" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/76766018/1697548530", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1714301666445402112/5U5myYFv_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Dexerto", + "statuses_count": 114644, + "translator_type": "regular", + "url": "https://t.co/2So9UX8reR", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1546866299099402240", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780622811163230228" + ], + "editable_until_msecs": "1713372135000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8896029", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://twitter.com\" rel=\"nofollow\">TweetDeck Web App</a>", + "legacy": { + "bookmark_count": 4168, + "bookmarked": false, + "created_at": "Wed Apr 17 15:42:15 +0000 2024", + "conversation_id_str": "1780622811163230228", + "display_text_range": [ + 0, + 68 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/kAc00jimpz", + "expanded_url": "https://twitter.com/Dexerto/status/1780622811163230228/photo/1", + "id_str": "1780621637487923200", + "indices": [ + 69, + 92 + ], + "media_key": "3_1780621637487923200", + "media_url_https": "https://pbs.twimg.com/media/GLYJ8fXXkAA6h6A.jpg", + "type": "photo", + "url": "https://t.co/kAc00jimpz", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 312, + "y": 285, + "h": 354, + "w": 354 + } + ] + }, + "medium": { + "faces": [ + { + "x": 300, + "y": 274, + "h": 341, + "w": 341 + } + ] + }, + "small": { + "faces": [ + { + "x": 170, + "y": 155, + "h": 193, + "w": 193 + } + ] + }, + "orig": { + "faces": [ + { + "x": 312, + "y": 285, + "h": 354, + "w": 354 + } + ] + } + }, + "sizes": { + "large": { + "h": 1244, + "w": 1066, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1028, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 583, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1244, + "width": 1066, + "focus_rects": [ + { + "x": 0, + "y": 647, + "w": 1066, + "h": 597 + }, + { + "x": 0, + "y": 178, + "w": 1066, + "h": 1066 + }, + { + "x": 0, + "y": 29, + "w": 1066, + "h": 1215 + }, + { + "x": 279, + "y": 0, + "w": 622, + "h": 1244 + }, + { + "x": 0, + "y": 0, + "w": 1066, + "h": 1244 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780621637487923200" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/kAc00jimpz", + "expanded_url": "https://twitter.com/Dexerto/status/1780622811163230228/photo/1", + "id_str": "1780621637487923200", + "indices": [ + 69, + 92 + ], + "media_key": "3_1780621637487923200", + "media_url_https": "https://pbs.twimg.com/media/GLYJ8fXXkAA6h6A.jpg", + "type": "photo", + "url": "https://t.co/kAc00jimpz", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 312, + "y": 285, + "h": 354, + "w": 354 + } + ] + }, + "medium": { + "faces": [ + { + "x": 300, + "y": 274, + "h": 341, + "w": 341 + } + ] + }, + "small": { + "faces": [ + { + "x": 170, + "y": 155, + "h": 193, + "w": 193 + } + ] + }, + "orig": { + "faces": [ + { + "x": 312, + "y": 285, + "h": 354, + "w": 354 + } + ] + } + }, + "sizes": { + "large": { + "h": 1244, + "w": 1066, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1028, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 583, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1244, + "width": 1066, + "focus_rects": [ + { + "x": 0, + "y": 647, + "w": 1066, + "h": 597 + }, + { + "x": 0, + "y": 178, + "w": 1066, + "h": 1066 + }, + { + "x": 0, + "y": 29, + "w": 1066, + "h": 1215 + }, + { + "x": 279, + "y": 0, + "w": 622, + "h": 1244 + }, + { + "x": 0, + "y": 0, + "w": 1066, + "h": 1244 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780621637487923200" + } + } + } + ] + }, + "favorite_count": 77669, + "favorited": false, + "full_text": "YouTuber Angry Rantman has died aged 27 following open heart surgery https://t.co/kAc00jimpz", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 720, + "reply_count": 995, + "retweet_count": 3072, + "retweeted": false, + "user_id_str": "76766018", + "id_str": "1780622811163230228" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780673528406085674", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780673528406085674", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzkwNzYyODc0ODA5NzYxNzkz", + "rest_id": "1390762874809761793", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/ResisttheMS", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1777217835036495872/atU7ay85_bigger.jpg" + }, + "description": "Resist the Mainstream", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri May 07 20:18:13 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Some Are Defiant • Most Are Hypocrites • DM Submissions", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "DefiantLs.co", + "expanded_url": "http://DefiantLs.co", + "url": "https://t.co/gOrxVzLtJV", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 26825, + "followers_count": 1035802, + "friends_count": 94, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2251, + "location": "", + "media_count": 2187, + "name": "Defiant L’s", + "normal_followers_count": 1035802, + "pinned_tweet_ids_str": [ + "1763040243693846869" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1390762874809761793/1710377019", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1428167484406964229/Q8fS7M5X_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DefiantLs", + "statuses_count": 3196, + "translator_type": "none", + "url": "https://t.co/gOrxVzLtJV", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780673528406085674" + ], + "editable_until_msecs": "1713384227000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "186455", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 135, + "bookmarked": false, + "created_at": "Wed Apr 17 19:03:47 +0000 2024", + "conversation_id_str": "1780673528406085674", + "display_text_range": [ + 0, + 0 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/mFNLj7c0xO", + "expanded_url": "https://twitter.com/DefiantLs/status/1780673528406085674/photo/1", + "id_str": "1780673521112252417", + "indices": [ + 0, + 23 + ], + "media_key": "3_1780673521112252417", + "media_url_https": "https://pbs.twimg.com/media/GLY5Ig7XAAEuPa3.jpg", + "type": "photo", + "url": "https://t.co/mFNLj7c0xO", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 52, + "y": 34, + "h": 65, + "w": 65 + }, + { + "x": 52, + "y": 362, + "h": 64, + "w": 64 + }, + { + "x": 52, + "y": 662, + "h": 62, + "w": 62 + }, + { + "x": 52, + "y": 973, + "h": 64, + "w": 64 + } + ] + }, + "medium": { + "faces": [ + { + "x": 40, + "y": 26, + "h": 51, + "w": 51 + }, + { + "x": 40, + "y": 284, + "h": 50, + "w": 50 + }, + { + "x": 40, + "y": 519, + "h": 48, + "w": 48 + }, + { + "x": 40, + "y": 763, + "h": 50, + "w": 50 + } + ] + }, + "small": { + "faces": [ + { + "x": 23, + "y": 15, + "h": 28, + "w": 28 + }, + { + "x": 23, + "y": 160, + "h": 28, + "w": 28 + }, + { + "x": 23, + "y": 294, + "h": 27, + "w": 27 + }, + { + "x": 23, + "y": 432, + "h": 28, + "w": 28 + } + ] + }, + "orig": { + "faces": [ + { + "x": 52, + "y": 34, + "h": 65, + "w": 65 + }, + { + "x": 52, + "y": 362, + "h": 64, + "w": 64 + }, + { + "x": 52, + "y": 662, + "h": 62, + "w": 62 + }, + { + "x": 52, + "y": 973, + "h": 64, + "w": 64 + } + ] + } + }, + "sizes": { + "large": { + "h": 1529, + "w": 823, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 646, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 366, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1529, + "width": 823, + "focus_rects": [ + { + "x": 0, + "y": 496, + "w": 823, + "h": 461 + }, + { + "x": 0, + "y": 315, + "w": 823, + "h": 823 + }, + { + "x": 0, + "y": 257, + "w": 823, + "h": 938 + }, + { + "x": 0, + "y": 0, + "w": 765, + "h": 1529 + }, + { + "x": 0, + "y": 0, + "w": 823, + "h": 1529 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780673521112252417" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/mFNLj7c0xO", + "expanded_url": "https://twitter.com/DefiantLs/status/1780673528406085674/photo/1", + "id_str": "1780673521112252417", + "indices": [ + 0, + 23 + ], + "media_key": "3_1780673521112252417", + "media_url_https": "https://pbs.twimg.com/media/GLY5Ig7XAAEuPa3.jpg", + "type": "photo", + "url": "https://t.co/mFNLj7c0xO", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 52, + "y": 34, + "h": 65, + "w": 65 + }, + { + "x": 52, + "y": 362, + "h": 64, + "w": 64 + }, + { + "x": 52, + "y": 662, + "h": 62, + "w": 62 + }, + { + "x": 52, + "y": 973, + "h": 64, + "w": 64 + } + ] + }, + "medium": { + "faces": [ + { + "x": 40, + "y": 26, + "h": 51, + "w": 51 + }, + { + "x": 40, + "y": 284, + "h": 50, + "w": 50 + }, + { + "x": 40, + "y": 519, + "h": 48, + "w": 48 + }, + { + "x": 40, + "y": 763, + "h": 50, + "w": 50 + } + ] + }, + "small": { + "faces": [ + { + "x": 23, + "y": 15, + "h": 28, + "w": 28 + }, + { + "x": 23, + "y": 160, + "h": 28, + "w": 28 + }, + { + "x": 23, + "y": 294, + "h": 27, + "w": 27 + }, + { + "x": 23, + "y": 432, + "h": 28, + "w": 28 + } + ] + }, + "orig": { + "faces": [ + { + "x": 52, + "y": 34, + "h": 65, + "w": 65 + }, + { + "x": 52, + "y": 362, + "h": 64, + "w": 64 + }, + { + "x": 52, + "y": 662, + "h": 62, + "w": 62 + }, + { + "x": 52, + "y": 973, + "h": 64, + "w": 64 + } + ] + } + }, + "sizes": { + "large": { + "h": 1529, + "w": 823, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 646, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 366, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1529, + "width": 823, + "focus_rects": [ + { + "x": 0, + "y": 496, + "w": 823, + "h": 461 + }, + { + "x": 0, + "y": 315, + "w": 823, + "h": 823 + }, + { + "x": 0, + "y": 257, + "w": 823, + "h": 938 + }, + { + "x": 0, + "y": 0, + "w": 765, + "h": 1529 + }, + { + "x": 0, + "y": 0, + "w": 823, + "h": 1529 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780673521112252417" + } + } + } + ] + }, + "favorite_count": 12761, + "favorited": false, + "full_text": "https://t.co/mFNLj7c0xO", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 113, + "reply_count": 259, + "retweet_count": 1811, + "retweeted": false, + "user_id_str": "1390762874809761793", + "id_str": "1780673528406085674" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780613472604037431", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780613472604037431", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTU2NTkyMTM=", + "rest_id": "155659213", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Jun 14 19:09:20 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Welcome to the official Twitter / X page of Cristiano Ronaldo.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cristianoronaldo.com", + "expanded_url": "https://www.cristianoronaldo.com/", + "url": "https://t.co/Pc19xaN1Sp", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 34, + "followers_count": 111049949, + "friends_count": 69, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 85231, + "location": "", + "media_count": 2153, + "name": "Cristiano Ronaldo", + "normal_followers_count": 111049949, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/155659213/1668980773", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1594446880498401282/o4L2z8Ay_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Cristiano", + "statuses_count": 4064, + "translator_type": "regular", + "url": "https://t.co/Pc19xaN1Sp", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780613472604037431" + ], + "editable_until_msecs": "1713369908000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "31001447", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 3941, + "bookmarked": false, + "created_at": "Wed Apr 17 15:05:08 +0000 2024", + "conversation_id_str": "1780613472604037431", + "display_text_range": [ + 0, + 30 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/A2Bw6vYZ3W", + "expanded_url": "https://twitter.com/Cristiano/status/1780613472604037431/photo/1", + "id_str": "1780609986613133312", + "indices": [ + 31, + 54 + ], + "media_key": "3_1780609986613133312", + "media_url_https": "https://pbs.twimg.com/media/GLX_WUeWwAAxZRt.jpg", + "type": "photo", + "url": "https://t.co/A2Bw6vYZ3W", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 936, + "y": 360, + "h": 392, + "w": 392 + }, + { + "x": 1324, + "y": 960, + "h": 290, + "w": 290 + } + ] + }, + "medium": { + "faces": [ + { + "x": 548, + "y": 210, + "h": 229, + "w": 229 + }, + { + "x": 775, + "y": 562, + "h": 169, + "w": 169 + } + ] + }, + "small": { + "faces": [ + { + "x": 310, + "y": 119, + "h": 130, + "w": 130 + }, + { + "x": 439, + "y": 318, + "h": 96, + "w": 96 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1872, + "y": 720, + "h": 784, + "w": 784 + }, + { + "x": 2648, + "y": 1920, + "h": 580, + "w": 580 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4096, + "width": 4096, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 4096, + "h": 2294 + }, + { + "x": 0, + "y": 0, + "w": 4096, + "h": 4096 + }, + { + "x": 503, + "y": 0, + "w": 3593, + "h": 4096 + }, + { + "x": 1331, + "y": 0, + "w": 2048, + "h": 4096 + }, + { + "x": 0, + "y": 0, + "w": 4096, + "h": 4096 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780609986613133312" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/A2Bw6vYZ3W", + "expanded_url": "https://twitter.com/Cristiano/status/1780613472604037431/photo/1", + "id_str": "1780609986613133312", + "indices": [ + 31, + 54 + ], + "media_key": "3_1780609986613133312", + "media_url_https": "https://pbs.twimg.com/media/GLX_WUeWwAAxZRt.jpg", + "type": "photo", + "url": "https://t.co/A2Bw6vYZ3W", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 936, + "y": 360, + "h": 392, + "w": 392 + }, + { + "x": 1324, + "y": 960, + "h": 290, + "w": 290 + } + ] + }, + "medium": { + "faces": [ + { + "x": 548, + "y": 210, + "h": 229, + "w": 229 + }, + { + "x": 775, + "y": 562, + "h": 169, + "w": 169 + } + ] + }, + "small": { + "faces": [ + { + "x": 310, + "y": 119, + "h": 130, + "w": 130 + }, + { + "x": 439, + "y": 318, + "h": 96, + "w": 96 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1872, + "y": 720, + "h": 784, + "w": 784 + }, + { + "x": 2648, + "y": 1920, + "h": 580, + "w": 580 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4096, + "width": 4096, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 4096, + "h": 2294 + }, + { + "x": 0, + "y": 0, + "w": 4096, + "h": 4096 + }, + { + "x": 503, + "y": 0, + "w": 3593, + "h": 4096 + }, + { + "x": 1331, + "y": 0, + "w": 2048, + "h": 4096 + }, + { + "x": 0, + "y": 0, + "w": 4096, + "h": 4096 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780609986613133312" + } + } + } + ] + }, + "favorite_count": 598843, + "favorited": false, + "full_text": "Hey, don't forget to hydrate!💧 https://t.co/A2Bw6vYZ3W", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3628, + "reply_count": 10904, + "retweet_count": 42273, + "retweeted": false, + "user_id_str": "155659213", + "id_str": "1780613472604037431" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780613392257917021", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780613392257917021", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjA0MTM5MjE1NDA2NzI3MTcw", + "rest_id": "1604139215406727170", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 17 15:39:36 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "🎥 Alternative Media | Support The Page ↙️", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "censoredmen.com", + "expanded_url": "http://censoredmen.com", + "url": "https://t.co/qBcmKh4SbU", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 10915, + "followers_count": 1028633, + "friends_count": 883, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2634, + "location": "", + "media_count": 5239, + "name": "Censored Men", + "normal_followers_count": 1028633, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1604139215406727170/1674089465", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1604139530004697090/q3WC_9On_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "CensoredMen", + "statuses_count": 6961, + "translator_type": "none", + "url": "https://t.co/qBcmKh4SbU", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1612969712706519042", + "professional_type": "Creator", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780613392257917021" + ], + "editable_until_msecs": "1713369889000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "9238544", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 20331, + "bookmarked": false, + "created_at": "Wed Apr 17 15:04:49 +0000 2024", + "conversation_id_str": "1780613392257917021", + "display_text_range": [ + 0, + 112 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/0IpFzhA5Sq", + "expanded_url": "https://twitter.com/CensoredMen/status/1780613392257917021/video/1", + "id_str": "1780613328563216384", + "indices": [ + 113, + 136 + ], + "media_key": "13_1780613328563216384", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1780613328563216384/img/vsbpYKjbKpdw12h3.jpg", + "type": "video", + "url": "https://t.co/0IpFzhA5Sq", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1178, + "w": 814, + "resize": "fit" + }, + "medium": { + "h": 1178, + "w": 814, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 470, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1178, + "width": 814, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 407, + 589 + ], + "duration_millis": 24500, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/pl/zvDNG0BdSPt_UlEs.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/vid/avc1/320x462/4wxH-WZV94X7kqKQ.mp4?tag=14" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/vid/avc1/480x694/gc8E2CLdb8PZZ_MZ.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/vid/avc1/720x1040/lWR91AqUwP0ITdkF.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780613328563216384" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/0IpFzhA5Sq", + "expanded_url": "https://twitter.com/CensoredMen/status/1780613392257917021/video/1", + "id_str": "1780613328563216384", + "indices": [ + 113, + 136 + ], + "media_key": "13_1780613328563216384", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1780613328563216384/img/vsbpYKjbKpdw12h3.jpg", + "type": "video", + "url": "https://t.co/0IpFzhA5Sq", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1178, + "w": 814, + "resize": "fit" + }, + "medium": { + "h": 1178, + "w": 814, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 470, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1178, + "width": 814, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 407, + 589 + ], + "duration_millis": 24500, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/pl/zvDNG0BdSPt_UlEs.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/vid/avc1/320x462/4wxH-WZV94X7kqKQ.mp4?tag=14" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/vid/avc1/480x694/gc8E2CLdb8PZZ_MZ.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780613328563216384/vid/avc1/720x1040/lWR91AqUwP0ITdkF.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780613328563216384" + } + } + } + ] + }, + "favorite_count": 119816, + "favorited": false, + "full_text": "Michael B. Jordan reminds his interviewer that she used to bully him in high school.\n\n\"I'm the corny kid right?\" https://t.co/0IpFzhA5Sq", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1132, + "reply_count": 855, + "retweet_count": 5439, + "retweeted": false, + "user_id_str": "1604139215406727170", + "id_str": "1780613392257917021" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780610524411048183", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780610524411048183", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDkxODY0MA==", + "rest_id": "54918640", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Jul 08 14:55:23 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Dad, husband, 3 dogs, 1 kid, an infinity of basketball: edits tech, incubates podcasts, and covers the Unseen Economy for @NPRNews.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 477, + "followers_count": 21348, + "friends_count": 540, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 105, + "location": "", + "media_count": 2, + "name": "Uri Berliner", + "normal_followers_count": 21348, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54918640/1440115376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/662280539701968896/a1sJHPDH_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "uberliner", + "statuses_count": 209, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780610524411048183" + ], + "editable_until_msecs": "1713369205000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "3006063", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 706, + "bookmarked": false, + "created_at": "Wed Apr 17 14:53:25 +0000 2024", + "conversation_id_str": "1780610524411048183", + "display_text_range": [ + 0, + 41 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/0hafVbcZAK", + "expanded_url": "https://twitter.com/uberliner/status/1780610524411048183/photo/1", + "id_str": "1780607194909593603", + "indices": [ + 42, + 65 + ], + "media_key": "3_1780607194909593603", + "media_url_https": "https://pbs.twimg.com/media/GLX8z0kXUAM1-5V.png", + "type": "photo", + "url": "https://t.co/0hafVbcZAK", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 336, + "w": 1134, + "resize": "fit" + }, + "medium": { + "h": 336, + "w": 1134, + "resize": "fit" + }, + "small": { + "h": 201, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 336, + "width": 1134, + "focus_rects": [ + { + "x": 67, + "y": 0, + "w": 600, + "h": 336 + }, + { + "x": 199, + "y": 0, + "w": 336, + "h": 336 + }, + { + "x": 220, + "y": 0, + "w": 295, + "h": 336 + }, + { + "x": 283, + "y": 0, + "w": 168, + "h": 336 + }, + { + "x": 0, + "y": 0, + "w": 1134, + "h": 336 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780607194909593603" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "16434823", + "name": "Katherine Maher", + "screen_name": "krmaher", + "indices": [ + 33, + 41 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/0hafVbcZAK", + "expanded_url": "https://twitter.com/uberliner/status/1780610524411048183/photo/1", + "id_str": "1780607194909593603", + "indices": [ + 42, + 65 + ], + "media_key": "3_1780607194909593603", + "media_url_https": "https://pbs.twimg.com/media/GLX8z0kXUAM1-5V.png", + "type": "photo", + "url": "https://t.co/0hafVbcZAK", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 336, + "w": 1134, + "resize": "fit" + }, + "medium": { + "h": 336, + "w": 1134, + "resize": "fit" + }, + "small": { + "h": 201, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 336, + "width": 1134, + "focus_rects": [ + { + "x": 67, + "y": 0, + "w": 600, + "h": 336 + }, + { + "x": 199, + "y": 0, + "w": 336, + "h": 336 + }, + { + "x": 220, + "y": 0, + "w": 295, + "h": 336 + }, + { + "x": 283, + "y": 0, + "w": 168, + "h": 336 + }, + { + "x": 0, + "y": 0, + "w": 1134, + "h": 336 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780607194909593603" + } + } + } + ] + }, + "favorite_count": 27988, + "favorited": false, + "full_text": "My resignation letter to NPR CEO @krmaher https://t.co/0hafVbcZAK", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 948, + "reply_count": 3290, + "retweet_count": 4845, + "retweeted": false, + "user_id_str": "54918640", + "id_str": "1780610524411048183" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780594156789755947", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780594156789755947", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTY1Nzk5NzE=", + "rest_id": "116579971", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Feb 23 00:08:02 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Professor, Evolutionary Behavioral Scientist, Author. Opinions are mine alone. Retweets do not necessarily imply an endorsement.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "gadsaad.com", + "expanded_url": "http://gadsaad.com", + "url": "https://t.co/8p3F9wdOAO", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 35556, + "followers_count": 860574, + "friends_count": 385, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3581, + "location": "Canada", + "media_count": 16402, + "name": "Gad Saad", + "normal_followers_count": 860574, + "pinned_tweet_ids_str": [ + "1780688064152584589" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/116579971/1690746035", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/979192426660327424/4B9g75QR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GadSaad", + "statuses_count": 131039, + "translator_type": "none", + "url": "https://t.co/8p3F9wdOAO", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780594156789755947" + ], + "editable_until_msecs": "1713365303000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8925787", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1780561900180251131", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4MDk1NTgwNDc=", + "rest_id": "809558047", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/TPostMillennial", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1460306213229453317/hxefwhdS_bigger.jpg" + }, + "description": "The Post Millennial", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Sep 07 20:34:41 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "eic @tpostmillennial & @humanevents libby@thepm.news, writer @fdrlst @nypost @quillette, thoughtfully bitchy", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "thepostmillennial.com/author/libbyem…", + "expanded_url": "https://thepostmillennial.com/author/libbyemmons", + "url": "https://t.co/iSTNfqpMOk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22144, + "followers_count": 151910, + "friends_count": 2437, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 628, + "location": "New York City", + "media_count": 1479, + "name": "Libby Emmons", + "normal_followers_count": 151910, + "pinned_tweet_ids_str": [ + "1780313109460127936" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/809558047/1712257227", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1766308447849455616/6EO_z7Ox_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "libbyemmons", + "statuses_count": 37281, + "translator_type": "none", + "url": "https://t.co/iSTNfqpMOk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780561900180251131" + ], + "editable_until_msecs": "1713357612000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "12664569", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 774, + "bookmarked": false, + "created_at": "Wed Apr 17 11:40:12 +0000 2024", + "conversation_id_str": "1780561900180251131", + "display_text_range": [ + 0, + 144 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/LqikI0cugD", + "expanded_url": "https://twitter.com/CatchUpFeed/status/1780492395790086460/video/1", + "id_str": "1780492300130697216", + "indices": [ + 121, + 144 + ], + "media_key": "13_1780492300130697216", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1780492300130697216/img/7EpaJEtC6BrNtZv8.jpg", + "source_status_id_str": "1780492395790086460", + "source_user_id_str": "1559650033686953990", + "type": "video", + "url": "https://t.co/LqikI0cugD", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTU5NjUwMDMzNjg2OTUzOTkw", + "rest_id": "1559650033686953990", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 16 21:15:51 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Saucy news, culture, memes, viral videos, and commentary. 🌭", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "CatchUpNetwork.com", + "expanded_url": "http://www.CatchUpNetwork.com", + "url": "https://t.co/wHvQhcplS4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 45, + "followers_count": 88429, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 422, + "location": "", + "media_count": 4512, + "name": "Catch Up", + "normal_followers_count": 88429, + "pinned_tweet_ids_str": [ + "1780308945246003355" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1559650033686953990/1660734423", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1559650300964872194/8NKDFstI_normal.png", + "profile_interstitial_type": "", + "screen_name": "CatchUpFeed", + "statuses_count": 4560, + "translator_type": "none", + "url": "https://t.co/wHvQhcplS4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1680975375197777921", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + } + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 498, + "w": 886, + "resize": "fit" + }, + "medium": { + "h": 498, + "w": 886, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 498, + "width": 886, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 443, + 249 + ], + "duration_millis": 130679, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/pl/7Tw1DwMqWP222_wY.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/vid/avc1/480x270/cvKhsi2cj175iP7o.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/vid/avc1/640x360/jVvh8C-YYGW1PbpJ.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/vid/avc1/886x498/gXShjpGAA20rEYwt.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780492300130697216" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/LqikI0cugD", + "expanded_url": "https://twitter.com/CatchUpFeed/status/1780492395790086460/video/1", + "id_str": "1780492300130697216", + "indices": [ + 121, + 144 + ], + "media_key": "13_1780492300130697216", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1780492300130697216/img/7EpaJEtC6BrNtZv8.jpg", + "source_status_id_str": "1780492395790086460", + "source_user_id_str": "1559650033686953990", + "type": "video", + "url": "https://t.co/LqikI0cugD", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTU5NjUwMDMzNjg2OTUzOTkw", + "rest_id": "1559650033686953990", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 16 21:15:51 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Saucy news, culture, memes, viral videos, and commentary. 🌭", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "CatchUpNetwork.com", + "expanded_url": "http://www.CatchUpNetwork.com", + "url": "https://t.co/wHvQhcplS4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 45, + "followers_count": 88429, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 422, + "location": "", + "media_count": 4512, + "name": "Catch Up", + "normal_followers_count": 88429, + "pinned_tweet_ids_str": [ + "1780308945246003355" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1559650033686953990/1660734423", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1559650300964872194/8NKDFstI_normal.png", + "profile_interstitial_type": "", + "screen_name": "CatchUpFeed", + "statuses_count": 4560, + "translator_type": "none", + "url": "https://t.co/wHvQhcplS4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1680975375197777921", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + } + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 498, + "w": 886, + "resize": "fit" + }, + "medium": { + "h": 498, + "w": 886, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 498, + "width": 886, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 443, + 249 + ], + "duration_millis": 130679, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/pl/7Tw1DwMqWP222_wY.m3u8?tag=14&container=cmaf" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/vid/avc1/480x270/cvKhsi2cj175iP7o.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/vid/avc1/640x360/jVvh8C-YYGW1PbpJ.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1780492300130697216/vid/avc1/886x498/gXShjpGAA20rEYwt.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1780492300130697216" + } + } + } + ] + }, + "favorite_count": 4300, + "favorited": false, + "full_text": "NPR's CEO believes that truth is subjective and the pursuit of truth can get in the way of getting things done.\n\nAces.\n\n https://t.co/LqikI0cugD", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 665, + "reply_count": 1558, + "retweet_count": 990, + "retweeted": false, + "user_id_str": "809558047", + "id_str": "1780561900180251131" + } + } + }, + "legacy": { + "bookmark_count": 757, + "bookmarked": false, + "created_at": "Wed Apr 17 13:48:23 +0000 2024", + "conversation_id_str": "1780594156789755947", + "display_text_range": [ + 0, + 144 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 11006, + "favorited": false, + "full_text": "\"Truth is subjective\" is precisely the key tenet of postmodernism. This is why I refer to it as the granddaddy of all parasitic idea pathogens.", + "is_quote_status": true, + "lang": "en", + "quote_count": 164, + "quoted_status_id_str": "1780561900180251131", + "quoted_status_permalink": { + "url": "https://t.co/8hqbAzEtpq", + "expanded": "https://twitter.com/libbyemmons/status/1780561900180251131", + "display": "x.com/libbyemmons/st…" + }, + "reply_count": 874, + "retweet_count": 2449, + "retweeted": false, + "user_id_str": "116579971", + "id_str": "1780594156789755947" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780643369758175461", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780643369758175461", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTk5NTEwODA2NjgwNTM1MDQy", + "rest_id": "1599510806680535042", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Dec 04 21:08:00 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Executive Director, @FFO_Freedom. Former State Dept Cyber. Author of the unpublishable monstrosity, Weapons Of Mass Deletion.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "foundationforfreedomonline.com", + "expanded_url": "http://foundationforfreedomonline.com", + "url": "https://t.co/blplvbllR5", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 23569, + "followers_count": 302631, + "friends_count": 148, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1419, + "location": "Florida", + "media_count": 2516, + "name": "Mike Benz", + "normal_followers_count": 302631, + "pinned_tweet_ids_str": [ + "1666925704334950402" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1599510806680535042/1670304178", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1599999101961224197/uBSpyKN0_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MikeBenzCyber", + "statuses_count": 13313, + "translator_type": "none", + "url": "https://t.co/blplvbllR5", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780643369758175461" + ], + "editable_until_msecs": "1713377036000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "189551", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1780597079439446250", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMDY2ODAwNTcz", + "rest_id": "3066800573", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Mar 03 02:27:17 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Working with @CityJournal, @ManhattanInst, @Hillsdale. NYT best-selling book: https://t.co/NPfoB06UwJ. Substack: https://t.co/nut2MvrkA4.", + "entities": { + "description": { + "urls": [ + { + "display_url": "a.co/d/3bmzGAK", + "expanded_url": "http://a.co/d/3bmzGAK", + "url": "https://t.co/NPfoB06UwJ", + "indices": [ + 78, + 101 + ] + }, + { + "display_url": "christopherrufo.com/subscribe", + "expanded_url": "http://christopherrufo.com/subscribe", + "url": "https://t.co/nut2MvrkA4", + "indices": [ + 113, + 136 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "christopherrufo.com/subscribe", + "expanded_url": "https://christopherrufo.com/subscribe", + "url": "https://t.co/azjaTnUCKh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 62227, + "followers_count": 649869, + "friends_count": 999, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3271, + "location": "Tips: chrisrufo@protonmail.com", + "media_count": 2878, + "name": "Christopher F. Rufo ⚔️", + "normal_followers_count": 649869, + "pinned_tweet_ids_str": [ + "1681291652017827842" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3066800573/1694067006", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1532845681051766784/7tZ93175_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "realchrisrufo", + "statuses_count": 24518, + "translator_type": "none", + "url": "https://t.co/azjaTnUCKh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1694188221465247761", + "professional_type": "Creator", + "category": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780597079439446250" + ], + "editable_until_msecs": "1713366000000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "17998356", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 1735, + "bookmarked": false, + "created_at": "Wed Apr 17 14:00:00 +0000 2024", + "conversation_id_str": "1780597079439446250", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/0vY6hIpbmO", + "expanded_url": "https://twitter.com/realchrisrufo/status/1780597079439446250/video/1", + "id_str": "1780589565037944833", + "indices": [ + 279, + 302 + ], + "media_key": "7_1780589565037944833", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780589565037944833/pu/img/98bxWQaRXc4sET9k.jpg", + "type": "video", + "url": "https://t.co/0vY6hIpbmO", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 31253, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/pl/gXH6xE_gH3oNKflL.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/480x270/tDxC5b-Y7aaVzl4p.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/640x360/r0EetObxyqBk9bJY.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/1280x720/AR7dVdG9jbYL6PpT.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780589565037944833" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/0vY6hIpbmO", + "expanded_url": "https://twitter.com/realchrisrufo/status/1780597079439446250/video/1", + "id_str": "1780589565037944833", + "indices": [ + 279, + 302 + ], + "media_key": "7_1780589565037944833", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780589565037944833/pu/img/98bxWQaRXc4sET9k.jpg", + "type": "video", + "url": "https://t.co/0vY6hIpbmO", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 31253, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/pl/gXH6xE_gH3oNKflL.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/480x270/tDxC5b-Y7aaVzl4p.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/640x360/r0EetObxyqBk9bJY.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780589565037944833/pu/vid/avc1/1280x720/AR7dVdG9jbYL6PpT.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780589565037944833" + } + } + } + ] + }, + "favorite_count": 18382, + "favorited": false, + "full_text": "EXCLUSIVE: Katherine Maher says the \"the number one challenge\" in her fight against disinformation is \"the First Amendment in the United States,\" which makes it \"a little bit tricky\" to censor \"bad information\" and \"the influence peddlers\" who spread it.\n\nNPR's censor-in-chief. https://t.co/0vY6hIpbmO", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1329, + "reply_count": 2947, + "retweet_count": 5117, + "retweeted": false, + "user_id_str": "3066800573", + "id_str": "1780597079439446250" + } + } + }, + "legacy": { + "bookmark_count": 259, + "bookmarked": false, + "created_at": "Wed Apr 17 17:03:56 +0000 2024", + "conversation_id_str": "1780643369758175461", + "display_text_range": [ + 0, + 235 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/4FrCILSGl9", + "expanded_url": "https://twitter.com/MikeBenzCyber/status/1780643369758175461/photo/1", + "id_str": "1780643365572206592", + "indices": [ + 236, + 259 + ], + "media_key": "3_1780643365572206592", + "media_url_https": "https://pbs.twimg.com/media/GLYdtOyWYAAEb9Y.jpg", + "type": "photo", + "url": "https://t.co/4FrCILSGl9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 518, + "y": 168, + "h": 195, + "w": 195 + } + ] + }, + "medium": { + "faces": [ + { + "x": 518, + "y": 168, + "h": 195, + "w": 195 + } + ] + }, + "small": { + "faces": [ + { + "x": 317, + "y": 102, + "h": 119, + "w": 119 + } + ] + }, + "orig": { + "faces": [ + { + "x": 518, + "y": 168, + "h": 195, + "w": 195 + } + ] + } + }, + "sizes": { + "large": { + "h": 597, + "w": 1111, + "resize": "fit" + }, + "medium": { + "h": 597, + "w": 1111, + "resize": "fit" + }, + "small": { + "h": 365, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 597, + "width": 1111, + "focus_rects": [ + { + "x": 45, + "y": 0, + "w": 1066, + "h": 597 + }, + { + "x": 340, + "y": 0, + "w": 597, + "h": 597 + }, + { + "x": 376, + "y": 0, + "w": 524, + "h": 597 + }, + { + "x": 489, + "y": 0, + "w": 299, + "h": 597 + }, + { + "x": 0, + "y": 0, + "w": 1111, + "h": 597 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780643365572206592" + } + } + }, + { + "display_url": "pic.twitter.com/4FrCILSGl9", + "expanded_url": "https://twitter.com/MikeBenzCyber/status/1780643369758175461/photo/1", + "id_str": "1780643365576478721", + "indices": [ + 236, + 259 + ], + "media_key": "3_1780643365576478721", + "media_url_https": "https://pbs.twimg.com/media/GLYdtOzXkAECViN.jpg", + "type": "photo", + "url": "https://t.co/4FrCILSGl9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1166, + "w": 1490, + "resize": "fit" + }, + "medium": { + "h": 939, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 532, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1166, + "width": 1490, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1490, + "h": 834 + }, + { + "x": 162, + "y": 0, + "w": 1166, + "h": 1166 + }, + { + "x": 234, + "y": 0, + "w": 1023, + "h": 1166 + }, + { + "x": 454, + "y": 0, + "w": 583, + "h": 1166 + }, + { + "x": 0, + "y": 0, + "w": 1490, + "h": 1166 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780643365576478721" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/4FrCILSGl9", + "expanded_url": "https://twitter.com/MikeBenzCyber/status/1780643369758175461/photo/1", + "id_str": "1780643365572206592", + "indices": [ + 236, + 259 + ], + "media_key": "3_1780643365572206592", + "media_url_https": "https://pbs.twimg.com/media/GLYdtOyWYAAEb9Y.jpg", + "type": "photo", + "url": "https://t.co/4FrCILSGl9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 518, + "y": 168, + "h": 195, + "w": 195 + } + ] + }, + "medium": { + "faces": [ + { + "x": 518, + "y": 168, + "h": 195, + "w": 195 + } + ] + }, + "small": { + "faces": [ + { + "x": 317, + "y": 102, + "h": 119, + "w": 119 + } + ] + }, + "orig": { + "faces": [ + { + "x": 518, + "y": 168, + "h": 195, + "w": 195 + } + ] + } + }, + "sizes": { + "large": { + "h": 597, + "w": 1111, + "resize": "fit" + }, + "medium": { + "h": 597, + "w": 1111, + "resize": "fit" + }, + "small": { + "h": 365, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 597, + "width": 1111, + "focus_rects": [ + { + "x": 45, + "y": 0, + "w": 1066, + "h": 597 + }, + { + "x": 340, + "y": 0, + "w": 597, + "h": 597 + }, + { + "x": 376, + "y": 0, + "w": 524, + "h": 597 + }, + { + "x": 489, + "y": 0, + "w": 299, + "h": 597 + }, + { + "x": 0, + "y": 0, + "w": 1111, + "h": 597 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780643365572206592" + } + } + }, + { + "display_url": "pic.twitter.com/4FrCILSGl9", + "expanded_url": "https://twitter.com/MikeBenzCyber/status/1780643369758175461/photo/1", + "id_str": "1780643365576478721", + "indices": [ + 236, + 259 + ], + "media_key": "3_1780643365576478721", + "media_url_https": "https://pbs.twimg.com/media/GLYdtOzXkAECViN.jpg", + "type": "photo", + "url": "https://t.co/4FrCILSGl9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1166, + "w": 1490, + "resize": "fit" + }, + "medium": { + "h": 939, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 532, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1166, + "width": 1490, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1490, + "h": 834 + }, + { + "x": 162, + "y": 0, + "w": 1166, + "h": 1166 + }, + { + "x": 234, + "y": 0, + "w": 1023, + "h": 1166 + }, + { + "x": 454, + "y": 0, + "w": 583, + "h": 1166 + }, + { + "x": 0, + "y": 0, + "w": 1490, + "h": 1166 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780643365576478721" + } + } + } + ] + }, + "favorite_count": 4467, + "favorited": false, + "full_text": "Who funds the Atlantic Council where Katherine Maher collected a paycheck as a fellow & from which she campaigned to end the First Amendment?\n\nNo less than ELEVEN (11) federal US government agencies. It’s you paying, dear taxpayer. https://t.co/4FrCILSGl9", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 70, + "quoted_status_id_str": "1780597079439446250", + "quoted_status_permalink": { + "url": "https://t.co/hbfeJ9tcr3", + "expanded": "https://twitter.com/realchrisrufo/status/1780597079439446250", + "display": "x.com/realchrisrufo/…" + }, + "reply_count": 129, + "retweet_count": 1831, + "retweeted": false, + "user_id_str": "1599510806680535042", + "id_str": "1780643369758175461" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780481263339798641", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780481263339798641", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzg5OTEzNTY3NjcxOTc1OTM3", + "rest_id": "1389913567671975937", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/MyDogeOfficial", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1656530956801523719/SC7nEKMa_bigger.png" + }, + "description": "MyDoge Wallet", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed May 05 12:03:43 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "UX/UI & Graphic Designer at Dogecoin & MyDoge Inc./ 𝕏 Creator", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "MyDoge.com", + "expanded_url": "http://MyDoge.com", + "url": "https://t.co/E0fsFaNdeI", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 76248, + "followers_count": 569811, + "friends_count": 973, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1769, + "location": "Dogecoin.com", + "media_count": 12765, + "name": "DogeDesigner", + "normal_followers_count": 569811, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1389913567671975937/1711058670", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1498070100393754625/C2V-fbll_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "cb_doge", + "statuses_count": 27899, + "translator_type": "none", + "url": "https://t.co/E0fsFaNdeI", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1463329767675944960", + "professional_type": "Creator", + "category": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780481263339798641" + ], + "editable_until_msecs": "1713338387000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "264164", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 192, + "bookmarked": false, + "created_at": "Wed Apr 17 06:19:47 +0000 2024", + "conversation_id_str": "1780481263339798641", + "display_text_range": [ + 0, + 112 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/tMAxmgG7B7", + "expanded_url": "https://twitter.com/cb_doge/status/1780481263339798641/photo/1", + "id_str": "1780480949966495744", + "indices": [ + 113, + 136 + ], + "media_key": "3_1780480949966495744", + "media_url_https": "https://pbs.twimg.com/media/GLWJ_ZgaYAAeSWz.jpg", + "type": "photo", + "url": "https://t.co/tMAxmgG7B7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 582, + "y": 242, + "h": 132, + "w": 132 + } + ] + }, + "medium": { + "faces": [ + { + "x": 582, + "y": 242, + "h": 132, + "w": 132 + } + ] + }, + "small": { + "faces": [ + { + "x": 412, + "y": 171, + "h": 93, + "w": 93 + } + ] + }, + "orig": { + "faces": [ + { + "x": 582, + "y": 242, + "h": 132, + "w": 132 + } + ] + } + }, + "sizes": { + "large": { + "h": 572, + "w": 960, + "resize": "fit" + }, + "medium": { + "h": 572, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 405, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 572, + "width": 960, + "focus_rects": [ + { + "x": 0, + "y": 34, + "w": 960, + "h": 538 + }, + { + "x": 360, + "y": 0, + "w": 572, + "h": 572 + }, + { + "x": 395, + "y": 0, + "w": 502, + "h": 572 + }, + { + "x": 503, + "y": 0, + "w": 286, + "h": 572 + }, + { + "x": 0, + "y": 0, + "w": 960, + "h": 572 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780480949966495744" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/tMAxmgG7B7", + "expanded_url": "https://twitter.com/cb_doge/status/1780481263339798641/photo/1", + "id_str": "1780480949966495744", + "indices": [ + 113, + 136 + ], + "media_key": "3_1780480949966495744", + "media_url_https": "https://pbs.twimg.com/media/GLWJ_ZgaYAAeSWz.jpg", + "type": "photo", + "url": "https://t.co/tMAxmgG7B7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 582, + "y": 242, + "h": 132, + "w": 132 + } + ] + }, + "medium": { + "faces": [ + { + "x": 582, + "y": 242, + "h": 132, + "w": 132 + } + ] + }, + "small": { + "faces": [ + { + "x": 412, + "y": 171, + "h": 93, + "w": 93 + } + ] + }, + "orig": { + "faces": [ + { + "x": 582, + "y": 242, + "h": 132, + "w": 132 + } + ] + } + }, + "sizes": { + "large": { + "h": 572, + "w": 960, + "resize": "fit" + }, + "medium": { + "h": 572, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 405, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 572, + "width": 960, + "focus_rects": [ + { + "x": 0, + "y": 34, + "w": 960, + "h": 538 + }, + { + "x": 360, + "y": 0, + "w": 572, + "h": 572 + }, + { + "x": 395, + "y": 0, + "w": 502, + "h": 572 + }, + { + "x": 503, + "y": 0, + "w": 286, + "h": 572 + }, + { + "x": 0, + "y": 0, + "w": 960, + "h": 572 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780480949966495744" + } + } + } + ] + }, + "favorite_count": 7502, + "favorited": false, + "full_text": "Elon Musk just confirmed that Vines will make a come back on 𝕏\n\nRIP Instagram Reels, YouTube Shorts and Tiktok 🪦 https://t.co/tMAxmgG7B7", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 107, + "reply_count": 694, + "retweet_count": 966, + "retweeted": false, + "user_id_str": "1389913567671975937", + "id_str": "1780481263339798641" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780446119811502307", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780446119811502307", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTA4MzUwMDQ=", + "rest_id": "110835004", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Feb 02 23:00:54 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "An ongoing treatise on the human condition.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "link.space/@lporiginalg", + "expanded_url": "https://link.space/@lporiginalg", + "url": "https://t.co/HffXthgG0V", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 15063, + "followers_count": 501497, + "friends_count": 931, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1296, + "location": "Olympia", + "media_count": 4636, + "name": "I,Hypocrite", + "normal_followers_count": 501497, + "pinned_tweet_ids_str": [ + "1779657155349770746" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/110835004/1658532985", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478064605897261058/aPM43m8i_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "lporiginalg", + "statuses_count": 10272, + "translator_type": "none", + "url": "https://t.co/HffXthgG0V", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1628100011992154112", + "professional_type": "Creator", + "category": [ + { + "id": 934, + "name": "Social Media Influencer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780446119811502307" + ], + "editable_until_msecs": "1713330008000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4192241", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://onlypult.com\" rel=\"nofollow\">OnlyPultCom</a>", + "legacy": { + "bookmark_count": 6091, + "bookmarked": false, + "created_at": "Wed Apr 17 04:00:08 +0000 2024", + "conversation_id_str": "1780446119811502307", + "display_text_range": [ + 0, + 0 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/kx3I1dYcum", + "expanded_url": "https://twitter.com/lporiginalg/status/1780446119811502307/photo/1", + "id_str": "1780446106033262592", + "indices": [ + 0, + 23 + ], + "media_key": "3_1780446106033262592", + "media_url_https": "https://pbs.twimg.com/media/GLVqTNvXEAAu5Sa.jpg", + "type": "photo", + "url": "https://t.co/kx3I1dYcum", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 411, + "y": 505, + "h": 172, + "w": 172 + }, + { + "x": 243, + "y": 372, + "h": 184, + "w": 184 + } + ] + }, + "medium": { + "faces": [ + { + "x": 411, + "y": 505, + "h": 172, + "w": 172 + }, + { + "x": 243, + "y": 372, + "h": 184, + "w": 184 + } + ] + }, + "small": { + "faces": [ + { + "x": 310, + "y": 381, + "h": 129, + "w": 129 + }, + { + "x": 183, + "y": 281, + "h": 139, + "w": 139 + } + ] + }, + "orig": { + "faces": [ + { + "x": 411, + "y": 505, + "h": 172, + "w": 172 + }, + { + "x": 243, + "y": 372, + "h": 184, + "w": 184 + } + ] + } + }, + "sizes": { + "large": { + "h": 900, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 720, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 900, + "width": 720, + "focus_rects": [ + { + "x": 0, + "y": 1, + "w": 720, + "h": 403 + }, + { + "x": 0, + "y": 0, + "w": 720, + "h": 720 + }, + { + "x": 0, + "y": 0, + "w": 720, + "h": 821 + }, + { + "x": 0, + "y": 0, + "w": 450, + "h": 900 + }, + { + "x": 0, + "y": 0, + "w": 720, + "h": 900 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780446106033262592" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/kx3I1dYcum", + "expanded_url": "https://twitter.com/lporiginalg/status/1780446119811502307/photo/1", + "id_str": "1780446106033262592", + "indices": [ + 0, + 23 + ], + "media_key": "3_1780446106033262592", + "media_url_https": "https://pbs.twimg.com/media/GLVqTNvXEAAu5Sa.jpg", + "type": "photo", + "url": "https://t.co/kx3I1dYcum", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 411, + "y": 505, + "h": 172, + "w": 172 + }, + { + "x": 243, + "y": 372, + "h": 184, + "w": 184 + } + ] + }, + "medium": { + "faces": [ + { + "x": 411, + "y": 505, + "h": 172, + "w": 172 + }, + { + "x": 243, + "y": 372, + "h": 184, + "w": 184 + } + ] + }, + "small": { + "faces": [ + { + "x": 310, + "y": 381, + "h": 129, + "w": 129 + }, + { + "x": 183, + "y": 281, + "h": 139, + "w": 139 + } + ] + }, + "orig": { + "faces": [ + { + "x": 411, + "y": 505, + "h": 172, + "w": 172 + }, + { + "x": 243, + "y": 372, + "h": 184, + "w": 184 + } + ] + } + }, + "sizes": { + "large": { + "h": 900, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 720, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 900, + "width": 720, + "focus_rects": [ + { + "x": 0, + "y": 1, + "w": 720, + "h": 403 + }, + { + "x": 0, + "y": 0, + "w": 720, + "h": 720 + }, + { + "x": 0, + "y": 0, + "w": 720, + "h": 821 + }, + { + "x": 0, + "y": 0, + "w": 450, + "h": 900 + }, + { + "x": 0, + "y": 0, + "w": 720, + "h": 900 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780446106033262592" + } + } + } + ] + }, + "favorite_count": 143945, + "favorited": false, + "full_text": "https://t.co/kx3I1dYcum", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 323, + "reply_count": 1596, + "retweet_count": 4716, + "retweeted": false, + "user_id_str": "110835004", + "id_str": "1780446119811502307" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780657850072887345", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780657850072887345", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTM4MjMwNDcyMjk5MjcwMTQ0", + "rest_id": "1538230472299270144", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Jun 18 18:42:14 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "just a mf tweeting / dm notis for a follow back", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 9845, + "followers_count": 1281040, + "friends_count": 1592, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2413, + "location": "", + "media_count": 4356, + "name": "juju 💰", + "normal_followers_count": 1281040, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1538230472299270144/1657858053", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1587176262094626816/C2dyZYPs_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ayeejuju", + "statuses_count": 10523, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780657850072887345" + ], + "editable_until_msecs": "1713380489000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1593035", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1780618184300912798", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5MDk0MTI2MDQ2OTg5MzkzOTI=", + "rest_id": "909412604698939392", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Sep 17 13:43:55 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "i post clips - follow my tiktok", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "tiktok.com/@bagtheplug?_t…", + "expanded_url": "https://www.tiktok.com/@bagtheplug?_t=8jbqtSfbPKz&_r=1", + "url": "https://t.co/tqPbZpaqj5", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 141555, + "followers_count": 4126, + "friends_count": 1269, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 16, + "location": "turn on notis ✨ dm for promo💰", + "media_count": 623, + "name": "omar💫", + "normal_followers_count": 4126, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/909412604698939392/1698977150", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1672265813288517632/54Zg5fNV_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "omarr2k", + "statuses_count": 3325, + "translator_type": "none", + "url": "https://t.co/tqPbZpaqj5", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780618184300912798" + ], + "editable_until_msecs": "1713371032000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1634368", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 48, + "bookmarked": false, + "created_at": "Wed Apr 17 15:23:52 +0000 2024", + "conversation_id_str": "1780618184300912798", + "display_text_range": [ + 0, + 78 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/qbPEGkhDaE", + "expanded_url": "https://twitter.com/PicturesFoIder/status/1757944147342688668/video/1", + "id_str": "1757944135057547264", + "indices": [ + 55, + 78 + ], + "media_key": "7_1757944135057547264", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1757944135057547264/pu/img/ImubVyW3SQtEktMW.jpg", + "source_status_id_str": "1757944147342688668", + "source_user_id_str": "2538322138", + "type": "video", + "url": "https://t.co/qbPEGkhDaE", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTM4MzIyMTM4", + "rest_id": "2538322138", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/crazednet", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1759365289169285120/nJaVSBik_bigger.jpg" + }, + "description": "Crazed", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat May 10 04:08:46 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "viral media from around the world", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 4121, + "followers_count": 3992237, + "friends_count": 567, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 6907, + "location": "", + "media_count": 10347, + "name": "non aesthetic things", + "normal_followers_count": 3992237, + "pinned_tweet_ids_str": [ + "1780552560786473260" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2538322138/1702845826", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/989513875124117504/UNMIb20k_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PicturesFoIder", + "statuses_count": 12098, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1680617037091987456", + "professional_type": "Creator", + "category": [] + }, + "super_follow_eligible": true + } + } + } + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 480, + "w": 640, + "resize": "fit" + }, + "medium": { + "h": 480, + "w": 640, + "resize": "fit" + }, + "small": { + "h": 480, + "w": 640, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 480, + "width": 640, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 4, + 3 + ], + "duration_millis": 38281, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/pl/98q8sUoIpvy-qK6Y.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/vid/avc1/360x270/ry6Pigc2OUJooPes.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/vid/avc1/480x360/PgJqhoMmF4WIh2It.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/vid/avc1/640x480/DDhkZaeaqr9JGqIx.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1757944135057547264" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/qbPEGkhDaE", + "expanded_url": "https://twitter.com/PicturesFoIder/status/1757944147342688668/video/1", + "id_str": "1757944135057547264", + "indices": [ + 55, + 78 + ], + "media_key": "7_1757944135057547264", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1757944135057547264/pu/img/ImubVyW3SQtEktMW.jpg", + "source_status_id_str": "1757944147342688668", + "source_user_id_str": "2538322138", + "type": "video", + "url": "https://t.co/qbPEGkhDaE", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTM4MzIyMTM4", + "rest_id": "2538322138", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/crazednet", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1759365289169285120/nJaVSBik_bigger.jpg" + }, + "description": "Crazed", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat May 10 04:08:46 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "viral media from around the world", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 4121, + "followers_count": 3992237, + "friends_count": 567, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 6907, + "location": "", + "media_count": 10347, + "name": "non aesthetic things", + "normal_followers_count": 3992237, + "pinned_tweet_ids_str": [ + "1780552560786473260" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2538322138/1702845826", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/989513875124117504/UNMIb20k_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PicturesFoIder", + "statuses_count": 12098, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1680617037091987456", + "professional_type": "Creator", + "category": [] + }, + "super_follow_eligible": true + } + } + } + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 480, + "w": 640, + "resize": "fit" + }, + "medium": { + "h": 480, + "w": 640, + "resize": "fit" + }, + "small": { + "h": 480, + "w": 640, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 480, + "width": 640, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 4, + 3 + ], + "duration_millis": 38281, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/pl/98q8sUoIpvy-qK6Y.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/vid/avc1/360x270/ry6Pigc2OUJooPes.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/vid/avc1/480x360/PgJqhoMmF4WIh2It.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1757944135057547264/pu/vid/avc1/640x480/DDhkZaeaqr9JGqIx.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1757944135057547264" + } + } + } + ] + }, + "favorite_count": 312, + "favorited": false, + "full_text": "525 private jets leaving Las Vegas after Super Bowl 57\nhttps://t.co/qbPEGkhDaE", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 12, + "reply_count": 17, + "retweet_count": 19, + "retweeted": false, + "user_id_str": "909412604698939392", + "id_str": "1780618184300912798" + } + } + }, + "legacy": { + "bookmark_count": 332, + "bookmarked": false, + "created_at": "Wed Apr 17 18:01:29 +0000 2024", + "conversation_id_str": "1780657850072887345", + "display_text_range": [ + 0, + 90 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 30118, + "favorited": false, + "full_text": "but im the one who needs to drink out of a soggy paper straw to reduce my carbon footprint", + "is_quote_status": true, + "lang": "en", + "quote_count": 18, + "quoted_status_id_str": "1780618184300912798", + "quoted_status_permalink": { + "url": "https://t.co/noOjVMIqRC", + "expanded": "https://twitter.com/omarr2k/status/1780618184300912798", + "display": "x.com/omarr2k/status…" + }, + "reply_count": 129, + "retweet_count": 2059, + "retweeted": false, + "user_id_str": "1538230472299270144", + "id_str": "1780657850072887345" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780494116654067747", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780494116654067747", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzQyMTc0NTg0NTk0OTYwMzg0", + "rest_id": "1342174584594960384", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Dec 24 18:26:47 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "everything you need to know.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 48209, + "followers_count": 291032, + "friends_count": 1325, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1358, + "location": "", + "media_count": 11028, + "name": "iamyesyouareno", + "normal_followers_count": 291032, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1342174584594960384/1615046641", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1342191297805889537/qVxvrLhq_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "iamyesyouareno", + "statuses_count": 14830, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780494116654067747" + ], + "editable_until_msecs": "1713341452000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1296330", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 991, + "bookmarked": false, + "created_at": "Wed Apr 17 07:10:52 +0000 2024", + "conversation_id_str": "1780494116654067747", + "display_text_range": [ + 0, + 72 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/FETf7oCluU", + "expanded_url": "https://twitter.com/iamyesyouareno/status/1780494116654067747/photo/1", + "id_str": "1780494109666422784", + "indices": [ + 73, + 96 + ], + "media_key": "3_1780494109666422784", + "media_url_https": "https://pbs.twimg.com/media/GLWV9ZNXsAA32oL.jpg", + "type": "photo", + "url": "https://t.co/FETf7oCluU", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 73, + "y": 172, + "h": 59, + "w": 59 + } + ] + }, + "medium": { + "faces": [ + { + "x": 63, + "y": 149, + "h": 51, + "w": 51 + } + ] + }, + "small": { + "faces": [ + { + "x": 36, + "y": 84, + "h": 29, + "w": 29 + } + ] + }, + "orig": { + "faces": [ + { + "x": 73, + "y": 172, + "h": 59, + "w": 59 + } + ] + } + }, + "sizes": { + "large": { + "h": 1377, + "w": 1179, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1027, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 582, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1377, + "width": 1179, + "focus_rects": [ + { + "x": 0, + "y": 117, + "w": 1179, + "h": 660 + }, + { + "x": 0, + "y": 0, + "w": 1179, + "h": 1179 + }, + { + "x": 0, + "y": 0, + "w": 1179, + "h": 1344 + }, + { + "x": 172, + "y": 0, + "w": 689, + "h": 1377 + }, + { + "x": 0, + "y": 0, + "w": 1179, + "h": 1377 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780494109666422784" + } + } + }, + { + "display_url": "pic.twitter.com/FETf7oCluU", + "expanded_url": "https://twitter.com/iamyesyouareno/status/1780494116654067747/photo/1", + "id_str": "1780494109683208192", + "indices": [ + 73, + 96 + ], + "media_key": "3_1780494109683208192", + "media_url_https": "https://pbs.twimg.com/media/GLWV9ZRX0AAcibn.jpg", + "type": "photo", + "url": "https://t.co/FETf7oCluU", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1244, + "y": 448, + "h": 84, + "w": 84 + }, + { + "x": 1256, + "y": 524, + "h": 100, + "w": 100 + }, + { + "x": 484, + "y": 228, + "h": 168, + "w": 168 + }, + { + "x": 910, + "y": 148, + "h": 186, + "w": 186 + } + ] + }, + "medium": { + "faces": [ + { + "x": 728, + "y": 262, + "h": 49, + "w": 49 + }, + { + "x": 735, + "y": 307, + "h": 58, + "w": 58 + }, + { + "x": 283, + "y": 133, + "h": 98, + "w": 98 + }, + { + "x": 533, + "y": 86, + "h": 108, + "w": 108 + } + ] + }, + "small": { + "faces": [ + { + "x": 413, + "y": 148, + "h": 27, + "w": 27 + }, + { + "x": 417, + "y": 173, + "h": 33, + "w": 33 + }, + { + "x": 160, + "y": 75, + "h": 55, + "w": 55 + }, + { + "x": 302, + "y": 49, + "h": 61, + "w": 61 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1244, + "y": 448, + "h": 84, + "w": 84 + }, + { + "x": 1256, + "y": 524, + "h": 100, + "w": 100 + }, + { + "x": 484, + "y": 228, + "h": 168, + "w": 168 + }, + { + "x": 910, + "y": 148, + "h": 186, + "w": 186 + } + ] + } + }, + "sizes": { + "large": { + "h": 1454, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 852, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 483, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1454, + "width": 2048, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1147 + }, + { + "x": 0, + "y": 0, + "w": 1454, + "h": 1454 + }, + { + "x": 0, + "y": 0, + "w": 1275, + "h": 1454 + }, + { + "x": 200, + "y": 0, + "w": 727, + "h": 1454 + }, + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1454 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780494109683208192" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/FETf7oCluU", + "expanded_url": "https://twitter.com/iamyesyouareno/status/1780494116654067747/photo/1", + "id_str": "1780494109666422784", + "indices": [ + 73, + 96 + ], + "media_key": "3_1780494109666422784", + "media_url_https": "https://pbs.twimg.com/media/GLWV9ZNXsAA32oL.jpg", + "type": "photo", + "url": "https://t.co/FETf7oCluU", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 73, + "y": 172, + "h": 59, + "w": 59 + } + ] + }, + "medium": { + "faces": [ + { + "x": 63, + "y": 149, + "h": 51, + "w": 51 + } + ] + }, + "small": { + "faces": [ + { + "x": 36, + "y": 84, + "h": 29, + "w": 29 + } + ] + }, + "orig": { + "faces": [ + { + "x": 73, + "y": 172, + "h": 59, + "w": 59 + } + ] + } + }, + "sizes": { + "large": { + "h": 1377, + "w": 1179, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1027, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 582, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1377, + "width": 1179, + "focus_rects": [ + { + "x": 0, + "y": 117, + "w": 1179, + "h": 660 + }, + { + "x": 0, + "y": 0, + "w": 1179, + "h": 1179 + }, + { + "x": 0, + "y": 0, + "w": 1179, + "h": 1344 + }, + { + "x": 172, + "y": 0, + "w": 689, + "h": 1377 + }, + { + "x": 0, + "y": 0, + "w": 1179, + "h": 1377 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780494109666422784" + } + } + }, + { + "display_url": "pic.twitter.com/FETf7oCluU", + "expanded_url": "https://twitter.com/iamyesyouareno/status/1780494116654067747/photo/1", + "id_str": "1780494109683208192", + "indices": [ + 73, + 96 + ], + "media_key": "3_1780494109683208192", + "media_url_https": "https://pbs.twimg.com/media/GLWV9ZRX0AAcibn.jpg", + "type": "photo", + "url": "https://t.co/FETf7oCluU", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1244, + "y": 448, + "h": 84, + "w": 84 + }, + { + "x": 1256, + "y": 524, + "h": 100, + "w": 100 + }, + { + "x": 484, + "y": 228, + "h": 168, + "w": 168 + }, + { + "x": 910, + "y": 148, + "h": 186, + "w": 186 + } + ] + }, + "medium": { + "faces": [ + { + "x": 728, + "y": 262, + "h": 49, + "w": 49 + }, + { + "x": 735, + "y": 307, + "h": 58, + "w": 58 + }, + { + "x": 283, + "y": 133, + "h": 98, + "w": 98 + }, + { + "x": 533, + "y": 86, + "h": 108, + "w": 108 + } + ] + }, + "small": { + "faces": [ + { + "x": 413, + "y": 148, + "h": 27, + "w": 27 + }, + { + "x": 417, + "y": 173, + "h": 33, + "w": 33 + }, + { + "x": 160, + "y": 75, + "h": 55, + "w": 55 + }, + { + "x": 302, + "y": 49, + "h": 61, + "w": 61 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1244, + "y": 448, + "h": 84, + "w": 84 + }, + { + "x": 1256, + "y": 524, + "h": 100, + "w": 100 + }, + { + "x": 484, + "y": 228, + "h": 168, + "w": 168 + }, + { + "x": 910, + "y": 148, + "h": 186, + "w": 186 + } + ] + } + }, + "sizes": { + "large": { + "h": 1454, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 852, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 483, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1454, + "width": 2048, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1147 + }, + { + "x": 0, + "y": 0, + "w": 1454, + "h": 1454 + }, + { + "x": 0, + "y": 0, + "w": 1275, + "h": 1454 + }, + { + "x": 200, + "y": 0, + "w": 727, + "h": 1454 + }, + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1454 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780494109683208192" + } + } + } + ] + }, + "favorite_count": 33662, + "favorited": false, + "full_text": "“Men did nothing”\n\nBecause men know what happens when they do something. https://t.co/FETf7oCluU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 93, + "reply_count": 462, + "retweet_count": 3599, + "retweeted": false, + "user_id_str": "1342174584594960384", + "id_str": "1780494116654067747" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780628320977027504", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780628320977027504", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDcxNDE0NzM5ODgwMTg5OTU1", + "rest_id": "1471414739880189955", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Dec 16 09:40:12 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "self-proclaimed free thinker https://t.co/r8TGRYgBAG", + "entities": { + "description": { + "urls": [ + { + "display_url": "instagram.com/kiradontmiss", + "expanded_url": "http://instagram.com/kiradontmiss", + "url": "https://t.co/r8TGRYgBAG", + "indices": [ + 29, + 52 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 14389, + "followers_count": 1639496, + "friends_count": 1499, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2630, + "location": "", + "media_count": 3824, + "name": "kira 👾", + "normal_followers_count": 1639496, + "pinned_tweet_ids_str": [ + "1658476199730114562" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1471414739880189955/1664469978", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1636443983990669326/xm-YehdR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "kirawontmiss", + "statuses_count": 12953, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1494188601906761734", + "professional_type": "Creator", + "category": [ + { + "id": 15, + "name": "Entertainment & Recreation", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780628320977027504" + ], + "editable_until_msecs": "1713373448000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2129433", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1780380474516631844", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDQ0NDI1ODAy", + "rest_id": "2444425802", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Apr 14 20:17:26 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "Amazing feats of engineering. Tweeted by @kane and https://t.co/c2bRClqVy5.", + "entities": { + "description": { + "urls": [ + { + "display_url": "root.vc", + "expanded_url": "http://root.vc", + "url": "https://t.co/c2bRClqVy5", + "indices": [ + 51, + 74 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "root.vc", + "expanded_url": "https://root.vc", + "url": "https://t.co/swE0TiO42r", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 936, + "followers_count": 215720, + "friends_count": 73, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1712, + "location": "", + "media_count": 2400, + "name": "MachinePix", + "normal_followers_count": 215720, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2444425802/1709674564", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/739515667737645056/Rg0anujY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MachinePix", + "statuses_count": 3399, + "translator_type": "none", + "url": "https://t.co/swE0TiO42r", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1478434502208749568", + "professional_type": "Creator", + "category": [ + { + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + } + ] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780380474516631844" + ], + "editable_until_msecs": "1713314357000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "14664878", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 2413, + "bookmarked": false, + "created_at": "Tue Apr 16 23:39:17 +0000 2024", + "conversation_id_str": "1780380474516631844", + "display_text_range": [ + 0, + 88 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/DG45Wiergv", + "expanded_url": "https://twitter.com/MachinePix/status/1780380474516631844/video/1", + "id_str": "1780380444686741504", + "indices": [ + 89, + 112 + ], + "media_key": "7_1780380444686741504", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780380444686741504/pu/img/J8u68CCASE9z9592.jpg", + "type": "video", + "url": "https://t.co/DG45Wiergv", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1280, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 720, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 9, + 16 + ], + "duration_millis": 17900, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/pl/lDt_302Ui1B5dG49.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/vid/avc1/320x568/pQmkv_UDznYEaRIg.mp4?tag=12" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/vid/avc1/480x852/6R-WwX_235WxYRzZ.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/vid/avc1/720x1280/MjFfr04bMzXyWfPI.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780380444686741504" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/DG45Wiergv", + "expanded_url": "https://twitter.com/MachinePix/status/1780380474516631844/video/1", + "id_str": "1780380444686741504", + "indices": [ + 89, + 112 + ], + "media_key": "7_1780380444686741504", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1780380444686741504/pu/img/J8u68CCASE9z9592.jpg", + "type": "video", + "url": "https://t.co/DG45Wiergv", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1280, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 720, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 9, + 16 + ], + "duration_millis": 17900, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/pl/lDt_302Ui1B5dG49.m3u8?tag=12&container=cmaf" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/vid/avc1/320x568/pQmkv_UDznYEaRIg.mp4?tag=12" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/vid/avc1/480x852/6R-WwX_235WxYRzZ.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1780380444686741504/pu/vid/avc1/720x1280/MjFfr04bMzXyWfPI.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1780380444686741504" + } + } + } + ] + }, + "favorite_count": 21113, + "favorited": false, + "full_text": "Excavator operator playing with a scrapped Learjet at Miami-Opa Locka Executive Airport. https://t.co/DG45Wiergv", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1533, + "reply_count": 195, + "retweet_count": 2869, + "retweeted": false, + "user_id_str": "2444425802", + "id_str": "1780380474516631844" + } + } + }, + "legacy": { + "bookmark_count": 1009, + "bookmarked": false, + "created_at": "Wed Apr 17 16:04:08 +0000 2024", + "conversation_id_str": "1780628320977027504", + "display_text_range": [ + 0, + 41 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 43695, + "favorited": false, + "full_text": "men will see this and be like “hell yeah”", + "is_quote_status": true, + "lang": "en", + "quote_count": 67, + "quoted_status_id_str": "1780380474516631844", + "quoted_status_permalink": { + "url": "https://t.co/RTjoLVaprS", + "expanded": "https://twitter.com/machinepix/status/1780380474516631844", + "display": "x.com/machinepix/sta…" + }, + "reply_count": 375, + "retweet_count": 2112, + "retweeted": false, + "user_id_str": "1471414739880189955", + "id_str": "1780628320977027504" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780618419081015347", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780618419081015347", + "has_birdwatch_notes": true, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNzAwMDczMA==", + "rest_id": "27000730", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/TimcastNews", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1572311064536137728/3Wlx_Ljy_bigger.jpg" + }, + "description": "Timcast News", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 27 13:16:56 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Host of Timcast IRL And CEO @Timcastnews \nHost of The Culture War Podcast on @watchTENETnow", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "Timcast.com", + "expanded_url": "http://Timcast.com", + "url": "https://t.co/05eFrFNCuW", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1483, + "followers_count": 2010925, + "friends_count": 928, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8948, + "location": "Harpers Ferry", + "media_count": 2615, + "name": "Tim Pool", + "normal_followers_count": 2010925, + "pinned_tweet_ids_str": [ + "1761015491055800428" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/27000730/1398254847", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1554464415944249346/SIzmWW9p_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Timcast", + "statuses_count": 24282, + "translator_type": "regular", + "url": "https://t.co/05eFrFNCuW", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1474058964371492872", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780618419081015347" + ], + "editable_until_msecs": "1713371088000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1150444", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 955, + "bookmarked": false, + "created_at": "Wed Apr 17 15:24:48 +0000 2024", + "conversation_id_str": "1780618419081015347", + "display_text_range": [ + 0, + 97 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/slU7Mhkr5H", + "expanded_url": "https://twitter.com/Timcast/status/1780618419081015347/photo/1", + "id_str": "1780618411237593088", + "indices": [ + 98, + 121 + ], + "media_key": "3_1780618411237593088", + "media_url_https": "https://pbs.twimg.com/media/GLYHAspWUAAHNaR.jpg", + "type": "photo", + "url": "https://t.co/slU7Mhkr5H", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1199, + "w": 1771, + "resize": "fit" + }, + "medium": { + "h": 812, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 460, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1199, + "width": 1771, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1771, + "h": 992 + }, + { + "x": 0, + "y": 0, + "w": 1199, + "h": 1199 + }, + { + "x": 0, + "y": 0, + "w": 1052, + "h": 1199 + }, + { + "x": 0, + "y": 0, + "w": 600, + "h": 1199 + }, + { + "x": 0, + "y": 0, + "w": 1771, + "h": 1199 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780618411237593088" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/slU7Mhkr5H", + "expanded_url": "https://twitter.com/Timcast/status/1780618419081015347/photo/1", + "id_str": "1780618411237593088", + "indices": [ + 98, + 121 + ], + "media_key": "3_1780618411237593088", + "media_url_https": "https://pbs.twimg.com/media/GLYHAspWUAAHNaR.jpg", + "type": "photo", + "url": "https://t.co/slU7Mhkr5H", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1199, + "w": 1771, + "resize": "fit" + }, + "medium": { + "h": 812, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 460, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1199, + "width": 1771, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1771, + "h": 992 + }, + { + "x": 0, + "y": 0, + "w": 1199, + "h": 1199 + }, + { + "x": 0, + "y": 0, + "w": 1052, + "h": 1199 + }, + { + "x": 0, + "y": 0, + "w": 600, + "h": 1199 + }, + { + "x": 0, + "y": 0, + "w": 1771, + "h": 1199 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780618411237593088" + } + } + } + ] + }, + "favorite_count": 18103, + "favorited": false, + "full_text": "yo wut\n\nthey straight up saying attempts to control the weather backfired creating massive floods https://t.co/slU7Mhkr5H", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 288, + "reply_count": 1190, + "retweet_count": 3834, + "retweeted": false, + "user_id_str": "27000730", + "id_str": "1780618419081015347" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780431775677722987", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780431775677722987", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTUyNzk1OTY5OTU5NjM2OTky", + "rest_id": "1552795969959636992", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Jul 28 23:20:28 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Fighting, exposing, and mocking wokeness. DM for submissions", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 8795, + "followers_count": 2486984, + "friends_count": 1061, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5402, + "location": "", + "media_count": 5157, + "name": "End Wokeness", + "normal_followers_count": 2486984, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1563691268793946117/OedvhFeS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "EndWokeness", + "statuses_count": 11754, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "initial_tweet_id": "1780430846354186428", + "edit_control_initial": { + "edit_tweet_ids": [ + "1780430846354186428", + "1780431775677722987" + ], + "editable_until_msecs": "1713326367000", + "is_edit_eligible": true, + "edits_remaining": "4" + } + }, + "previous_counts": { + "bookmark_count": 4, + "favorite_count": 281, + "quote_count": 1, + "reply_count": 51, + "retweet_count": 25 + }, + "is_translatable": false, + "views": { + "count": "1477454", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 506, + "bookmarked": false, + "created_at": "Wed Apr 17 03:03:08 +0000 2024", + "conversation_id_str": "1780431775677722987", + "display_text_range": [ + 0, + 96 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/bd4xaLyJWN", + "expanded_url": "https://twitter.com/EndWokeness/status/1780431775677722987/photo/1", + "id_str": "1780430840666763265", + "indices": [ + 97, + 120 + ], + "media_key": "3_1780430840666763265", + "media_url_https": "https://pbs.twimg.com/media/GLVcap0XsAEuVTJ.jpg", + "type": "photo", + "url": "https://t.co/bd4xaLyJWN", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 426, + "y": 81, + "h": 73, + "w": 73 + }, + { + "x": 712, + "y": 473, + "h": 81, + "w": 81 + }, + { + "x": 635, + "y": 101, + "h": 125, + "w": 125 + } + ] + }, + "medium": { + "faces": [ + { + "x": 426, + "y": 81, + "h": 73, + "w": 73 + }, + { + "x": 712, + "y": 473, + "h": 81, + "w": 81 + }, + { + "x": 635, + "y": 101, + "h": 125, + "w": 125 + } + ] + }, + "small": { + "faces": [ + { + "x": 304, + "y": 57, + "h": 52, + "w": 52 + }, + { + "x": 508, + "y": 337, + "h": 57, + "w": 57 + }, + { + "x": 453, + "y": 72, + "h": 89, + "w": 89 + } + ] + }, + "orig": { + "faces": [ + { + "x": 426, + "y": 81, + "h": 73, + "w": 73 + }, + { + "x": 712, + "y": 473, + "h": 81, + "w": 81 + }, + { + "x": 635, + "y": 101, + "h": 125, + "w": 125 + } + ] + } + }, + "sizes": { + "large": { + "h": 598, + "w": 952, + "resize": "fit" + }, + "medium": { + "h": 598, + "w": 952, + "resize": "fit" + }, + "small": { + "h": 427, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 598, + "width": 952, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 952, + "h": 533 + }, + { + "x": 153, + "y": 0, + "w": 598, + "h": 598 + }, + { + "x": 190, + "y": 0, + "w": 525, + "h": 598 + }, + { + "x": 303, + "y": 0, + "w": 299, + "h": 598 + }, + { + "x": 0, + "y": 0, + "w": 952, + "h": 598 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780430840666763265" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/bd4xaLyJWN", + "expanded_url": "https://twitter.com/EndWokeness/status/1780431775677722987/photo/1", + "id_str": "1780430840666763265", + "indices": [ + 97, + 120 + ], + "media_key": "3_1780430840666763265", + "media_url_https": "https://pbs.twimg.com/media/GLVcap0XsAEuVTJ.jpg", + "type": "photo", + "url": "https://t.co/bd4xaLyJWN", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 426, + "y": 81, + "h": 73, + "w": 73 + }, + { + "x": 712, + "y": 473, + "h": 81, + "w": 81 + }, + { + "x": 635, + "y": 101, + "h": 125, + "w": 125 + } + ] + }, + "medium": { + "faces": [ + { + "x": 426, + "y": 81, + "h": 73, + "w": 73 + }, + { + "x": 712, + "y": 473, + "h": 81, + "w": 81 + }, + { + "x": 635, + "y": 101, + "h": 125, + "w": 125 + } + ] + }, + "small": { + "faces": [ + { + "x": 304, + "y": 57, + "h": 52, + "w": 52 + }, + { + "x": 508, + "y": 337, + "h": 57, + "w": 57 + }, + { + "x": 453, + "y": 72, + "h": 89, + "w": 89 + } + ] + }, + "orig": { + "faces": [ + { + "x": 426, + "y": 81, + "h": 73, + "w": 73 + }, + { + "x": 712, + "y": 473, + "h": 81, + "w": 81 + }, + { + "x": 635, + "y": 101, + "h": 125, + "w": 125 + } + ] + } + }, + "sizes": { + "large": { + "h": 598, + "w": 952, + "resize": "fit" + }, + "medium": { + "h": 598, + "w": 952, + "resize": "fit" + }, + "small": { + "h": 427, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 598, + "width": 952, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 952, + "h": 533 + }, + { + "x": 153, + "y": 0, + "w": 598, + "h": 598 + }, + { + "x": 190, + "y": 0, + "w": 525, + "h": 598 + }, + { + "x": 303, + "y": 0, + "w": 299, + "h": 598 + }, + { + "x": 0, + "y": 0, + "w": 952, + "h": 598 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1780430840666763265" + } + } + } + ] + }, + "favorite_count": 19549, + "favorited": false, + "full_text": "Judge: We'll arrest you if you miss a day of the trial. You can't leave NYC to campaign.\n\nTrump: https://t.co/bd4xaLyJWN", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 54, + "reply_count": 373, + "retweet_count": 1178, + "retweeted": false, + "user_id_str": "1552795969959636992", + "id_str": "1780431775677722987" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + }, + { + "entryId": "YouMightAlsoLike:1780615831589683695", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1780615831589683695", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NzgyNDc2MDAwOTY1MDk5NTI=", + "rest_id": "878247600096509952", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Jun 23 13:45:19 +0000 2017", + "default_profile": false, + "default_profile_image": false, + "description": "New York Times best-selling author. Founder of @BLEXIT organization. First person that a worldwide smear campaign failed against.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 24316, + "followers_count": 5039427, + "friends_count": 73, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 9780, + "location": "New York, USA", + "media_count": 907, + "name": "Candace Owens", + "normal_followers_count": 5039427, + "pinned_tweet_ids_str": [ + "1771175990451958250" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/878247600096509952/1665587261", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1668068704393764866/DPtOJuWd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "RealCandaceO", + "statuses_count": 9613, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1780615831589683695" + ], + "editable_until_msecs": "1713370471000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "687486", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 657, + "bookmarked": false, + "created_at": "Wed Apr 17 15:14:31 +0000 2024", + "conversation_id_str": "1780615831589683695", + "display_text_range": [ + 0, + 55 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/398JWUIZwp", + "expanded_url": "https://twitter.com/RealCandaceO/status/1780615831589683695/photo/1", + "id_str": "1780615814988562432", + "indices": [ + 56, + 79 + ], + "media_key": "3_1780615814988562432", + "media_url_https": "https://pbs.twimg.com/media/GLYEpk3WAAAWmpi.jpg", + "type": "photo", + "url": "https://t.co/398JWUIZwp", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 481, + "y": 621, + "h": 100, + "w": 100 + }, + { + "x": 118, + "y": 589, + "h": 130, + "w": 130 + } + ] + }, + "medium": { + "faces": [ + { + "x": 481, + "y": 621, + "h": 100, + "w": 100 + }, + { + "x": 118, + "y": 589, + "h": 130, + "w": 130 + } + ] + }, + "small": { + "faces": [ + { + "x": 319, + "y": 412, + "h": 66, + "w": 66 + }, + { + "x": 78, + "y": 391, + "h": 86, + "w": 86 + } + ] + }, + "orig": { + "faces": [ + { + "x": 481, + "y": 621, + "h": 100, + "w": 100 + }, + { + "x": 118, + "y": 589, + "h": 130, + "w": 130 + } + ] + } + }, + "sizes": { + "large": { + "h": 1024, + "w": 748, + "resize": "fit" + }, + "medium": { + "h": 1024, + "w": 748, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 497, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1024, + "width": 748, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 748, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 748, + "h": 748 + }, + { + "x": 0, + "y": 0, + "w": 748, + "h": 853 + }, + { + "x": 0, + "y": 0, + "w": 512, + "h": 1024 + }, + { + "x": 0, + "y": 0, + "w": 748, + "h": 1024 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780615814988562432" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/398JWUIZwp", + "expanded_url": "https://twitter.com/RealCandaceO/status/1780615831589683695/photo/1", + "id_str": "1780615814988562432", + "indices": [ + 56, + 79 + ], + "media_key": "3_1780615814988562432", + "media_url_https": "https://pbs.twimg.com/media/GLYEpk3WAAAWmpi.jpg", + "type": "photo", + "url": "https://t.co/398JWUIZwp", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 481, + "y": 621, + "h": 100, + "w": 100 + }, + { + "x": 118, + "y": 589, + "h": 130, + "w": 130 + } + ] + }, + "medium": { + "faces": [ + { + "x": 481, + "y": 621, + "h": 100, + "w": 100 + }, + { + "x": 118, + "y": 589, + "h": 130, + "w": 130 + } + ] + }, + "small": { + "faces": [ + { + "x": 319, + "y": 412, + "h": 66, + "w": 66 + }, + { + "x": 78, + "y": 391, + "h": 86, + "w": 86 + } + ] + }, + "orig": { + "faces": [ + { + "x": 481, + "y": 621, + "h": 100, + "w": 100 + }, + { + "x": 118, + "y": 589, + "h": 130, + "w": 130 + } + ] + } + }, + "sizes": { + "large": { + "h": 1024, + "w": 748, + "resize": "fit" + }, + "medium": { + "h": 1024, + "w": 748, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 497, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1024, + "width": 748, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 748, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 748, + "h": 748 + }, + { + "x": 0, + "y": 0, + "w": 748, + "h": 853 + }, + { + "x": 0, + "y": 0, + "w": 512, + "h": 1024 + }, + { + "x": 0, + "y": 0, + "w": 748, + "h": 1024 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1780615814988562432" + } + } + } + ] + }, + "favorite_count": 21841, + "favorited": false, + "full_text": "This has legitimately become a mental derangement. \nLOL https://t.co/398JWUIZwp", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 288, + "reply_count": 1930, + "retweet_count": 3316, + "retweeted": false, + "user_id_str": "878247600096509952", + "id_str": "1780615831589683695" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + } + ], + "displayType": "Vertical", + "header": { + "displayType": "Classic", + "text": "More Tweets", + "sticky": true + }, + "clientEventInfo": { + "component": "you_might_also_like", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "db9d7b65-6b0b-45e0-bac6-2bbac5d8a223" + } + } + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ], + "responseObjects": { + "immediateReactions": [] + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/card_summary.json b/apps/twscrape/tests/mocked-data/card_summary.json new file mode 100644 index 0000000..aaf56c3 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/card_summary.json @@ -0,0 +1,1013 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1696922210588410217", + "sortIndex": "7526449826266365590", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1696922210588410217", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MjU4NzEwNDA=", + "rest_id": "425871040", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Dec 01 14:57:32 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Official Twitter account for #Fortnite; ESRB: Teen - Diverse Experiences. For status updates and service issues check out @FortniteStatus", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "fortnite.com", + "expanded_url": "http://fortnite.com", + "url": "https://t.co/zoICf0CqGG", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2371, + "followers_count": 18364225, + "friends_count": 107, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10937, + "location": "", + "media_count": 6120, + "name": "Fortnite", + "normal_followers_count": 18364225, + "pinned_tweet_ids_str": [ + "1778422983163281504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/425871040/1701590106", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1738209520705486848/orBSQfO8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteGame", + "statuses_count": 17415, + "translator_type": "none", + "url": "https://t.co/zoICf0CqGG", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "card": { + "rest_id": "card://1696922209367764993", + "legacy": { + "binding_values": [ + { + "key": "unified_card", + "value": { + "string_value": "{\"type\":\"video_website\",\"component_objects\":{\"details_1\":{\"type\":\"details\",\"data\":{\"title\":{\"content\":\"Il colpo perfetto ha inizio!\",\"is_rtl\":false},\"subtitle\":{\"content\":\"fortnite.com\",\"is_rtl\":false},\"destination\":\"override_browser_with_docked_media_1\"}},\"media_1\":{\"type\":\"media\",\"data\":{\"id\":\"13_1696919248436670464\",\"destination\":\"browser_with_docked_media_1\"}}},\"destination_objects\":{\"browser_with_docked_media_1\":{\"type\":\"browser_with_docked_media\",\"data\":{\"url_data\":{\"url\":\"https://fortnite.com/b/chapter4-season4?utm_source=Twitter&utm_campaign=FNBR_RT_C4S4_Twitter_LINK-CLICKS_IT\",\"vanity\":\"fortnite.com\"},\"media_id\":\"13_1696919248436670464\"}},\"override_browser_with_docked_media_1\":{\"type\":\"browser\",\"data\":{\"url_data\":{\"url\":\"https://fortnite.com/b/chapter4-season4?utm_source=Twitter&utm_campaign=FNBR_RT_C4S4_Twitter_LINK-CLICKS_IT\",\"vanity\":\"fortnite.com\"}}}},\"components\":[\"media_1\",\"details_1\"],\"media_entities\":{\"13_1696919248436670464\":{\"id\":1696919248436670464,\"id_str\":\"1696919248436670464\",\"indices\":[0,0],\"media_url\":\"\",\"media_url_https\":\"https://pbs.twimg.com/amplify_video_thumb/1696919248436670464/img/esk-plpGUGbuPPZx.jpg\",\"url\":\"\",\"display_url\":\"\",\"expanded_url\":\"\",\"type\":\"video\",\"original_info\":{\"width\":1280,\"height\":720},\"sizes\":{\"large\":{\"w\":1280,\"h\":720,\"resize\":\"fit\"},\"medium\":{\"w\":1200,\"h\":675,\"resize\":\"fit\"},\"thumb\":{\"w\":150,\"h\":150,\"resize\":\"crop\"},\"small\":{\"w\":680,\"h\":383,\"resize\":\"fit\"}},\"source_user_id\":425871040,\"source_user_id_str\":\"425871040\",\"video_info\":{\"aspect_ratio\":[16,9],\"duration_millis\":15019,\"variants\":[{\"bitrate\":2176000,\"content_type\":\"video/mp4\",\"url\":\"https://video.twimg.com/amplify_video/1696919248436670464/vid/1280x720/JzyWcPQpTP-56i4V.mp4?tag=14\"},{\"bitrate\":288000,\"content_type\":\"video/mp4\",\"url\":\"https://video.twimg.com/amplify_video/1696919248436670464/vid/480x270/KKTv3Vz_GhI2Wwdr.mp4?tag=14\"},{\"bitrate\":832000,\"content_type\":\"video/mp4\",\"url\":\"https://video.twimg.com/amplify_video/1696919248436670464/vid/640x360/ebnYujcZUtnYZUEq.mp4?tag=14\"},{\"content_type\":\"application/x-mpegURL\",\"url\":\"https://video.twimg.com/amplify_video/1696919248436670464/pl/Td0HWYttDediM8Dv.m3u8?tag=14&container=cmaf\"}]},\"media_key\":\"13_1696919248436670464\",\"ext\":{\"mediaColor\":{\"r\":{\"ok\":{\"palette\":[{\"rgb\":{\"red\":31,\"green\":30,\"blue\":35},\"percentage\":77.26},{\"rgb\":{\"red\":217,\"green\":217,\"blue\":219},\"percentage\":9.34},{\"rgb\":{\"red\":81,\"green\":21,\"blue\":32},\"percentage\":6.71},{\"rgb\":{\"red\":161,\"green\":41,\"blue\":57},\"percentage\":2.31},{\"rgb\":{\"red\":244,\"green\":172,\"blue\":66},\"percentage\":0.51}]}},\"ttl\":-1}}}}}", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://twitter.com", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "unified_card", + "url": "card://1696922209367764993", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1696922210588410217" + ], + "editable_until_msecs": "1693416356000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": true, + "views": { + "count": "1003602", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://twitter.com\" rel=\"nofollow\">Twitter for Advertisers</a>", + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Wed Aug 30 16:25:56 +0000 2023", + "conversation_id_str": "1696922210588410217", + "display_text_range": [ + 0, + 129 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 184, + "favorited": false, + "full_text": "Il destino dell'isola è in gioco e il furto è l'ultima spiaggia! Recupera i tesori e restituisci all'isola ciò che le appartiene.", + "is_quote_status": false, + "lang": "it", + "quote_count": 2, + "reply_count": 4, + "retweet_count": 2, + "retweeted": false, + "scopes": { + "followers": false + }, + "user_id_str": "425871040", + "id_str": "1696922210588410217" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "conversationthread-1697647115038601453", + "sortIndex": "7526449826266365580", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1697647115038601453-tweet-1697647115038601453", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1697647115038601453", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzc1OTc4MDc2MjMyOTQ5NzYx", + "rest_id": "1375978076232949761", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Mar 28 01:08:46 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Biz Dev 🌐", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "Fractz.com", + "expanded_url": "http://Fractz.com", + "url": "https://t.co/eYQTyeElHv", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 183292, + "followers_count": 5153, + "friends_count": 3155, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 22, + "location": "Worldwide Webb", + "media_count": 814, + "name": "Varano", + "normal_followers_count": 5153, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1375978076232949761/1709883209", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1773319146702266368/u0lWa8hO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "0xVarano", + "statuses_count": 7993, + "translator_type": "none", + "url": "https://t.co/eYQTyeElHv", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1697647115038601453" + ], + "editable_until_msecs": "1693589187000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1274", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Sep 01 16:26:27 +0000 2023", + "conversation_id_str": "1696922210588410217", + "display_text_range": [ + 14, + 30 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "425871040", + "name": "Fortnite", + "screen_name": "FortniteGame", + "indices": [ + 0, + 13 + ] + } + ] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "@FortniteGame Love this season", + "in_reply_to_screen_name": "FortniteGame", + "in_reply_to_status_id_str": "1696922210588410217", + "in_reply_to_user_id_str": "425871040", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1375978076232949761", + "id_str": "1697647115038601453" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCGAHgAUKAAIAAAAAGADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1700484666006847827", + "sortIndex": "7526449826266365570", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1700484666006847827-tweet-1700484666006847827", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1700484666006847827", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDU2NzI4NTE5OTEyOTE5MDUx", + "rest_id": "1456728519912919051", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Nov 05 21:02:20 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 453, + "followers_count": 19, + "friends_count": 26, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 17, + "name": "tony", + "normal_followers_count": 19, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1711716381987667968/1nhGh4HR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "tonyilpensante", + "statuses_count": 1337, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1700484666006847827" + ], + "editable_until_msecs": "1694265712000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "179", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Sat Sep 09 12:21:52 +0000 2023", + "conversation_id_str": "1696922210588410217", + "display_text_range": [ + 14, + 35 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "425871040", + "name": "Fortnite", + "screen_name": "FortniteGame", + "indices": [ + 0, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@FortniteGame Che gioco di mmmmerda", + "in_reply_to_screen_name": "FortniteGame", + "in_reply_to_status_id_str": "1696922210588410217", + "in_reply_to_user_id_str": "425871040", + "is_quote_status": false, + "lang": "it", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1456728519912919051", + "id_str": "1700484666006847827" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCKIDgAUKAAIAAAAACADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1701331048762593620", + "sortIndex": "7526449826266365560", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1701331048762593620-tweet-1701331048762593620", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1701331048762593620", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDQ2NDc3ODk3NjE1Njg3Njg0", + "rest_id": "1446477897615687684", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Oct 08 14:09:46 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "opinionista di opinioni non richieste.\nDecisamente #antifa, europeo, amante della musica.\nSide Account in DM", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 16683, + "followers_count": 1051, + "friends_count": 409, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "Napoli, Campania", + "media_count": 534, + "name": "estroil (sposatoh era)", + "normal_followers_count": 1051, + "pinned_tweet_ids_str": [ + "1767459996290171275" + ], + "possibly_sensitive": true, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1446477897615687684/1669650589", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1699152360180752385/MNouAzJ8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "damechevvoi", + "statuses_count": 4057, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1477000339245125635", + "professional_type": "Creator", + "category": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1701331048762593620" + ], + "editable_until_msecs": "1694467505000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "192", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Sep 11 20:25:05 +0000 2023", + "conversation_id_str": "1696922210588410217", + "display_text_range": [ + 14, + 21 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "425871040", + "name": "Fortnite", + "screen_name": "FortniteGame", + "indices": [ + 0, + 13 + ] + } + ] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@FortniteGame Cringe.", + "in_reply_to_screen_name": "FortniteGame", + "in_reply_to_status_id_str": "1696922210588410217", + "in_reply_to_user_id_str": "425871040", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1446477897615687684", + "id_str": "1701331048762593620" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCSQDgAUKAAIAAAAACADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "cursor-showmorethreads-8296527357003681668", + "sortIndex": "7526449826266365559", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "JQAAAPAWHBk22sO93c_DoI8vpoWy9enyqpkvqMWy7eTkq5wvJQISFQ4AAA", + "cursorType": "ShowMoreThreads", + "displayTreatment": { + "actionText": "Show more replies" + } + } + } + }, + { + "entryId": "module-7526449826266355559", + "sortIndex": "7526449826266355559", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "YouMightAlsoLike:1779861744510189910", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1779861744510189910", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MjU4NzEwNDA=", + "rest_id": "425871040", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Dec 01 14:57:32 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Official Twitter account for #Fortnite; ESRB: Teen - Diverse Experiences. For status updates and service issues check out @FortniteStatus", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "fortnite.com", + "expanded_url": "http://fortnite.com", + "url": "https://t.co/zoICf0CqGG", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2371, + "followers_count": 18364225, + "friends_count": 107, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10937, + "location": "", + "media_count": 6120, + "name": "Fortnite", + "normal_followers_count": 18364225, + "pinned_tweet_ids_str": [ + "1778422983163281504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/425871040/1701590106", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1738209520705486848/orBSQfO8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "FortniteGame", + "statuses_count": 17415, + "translator_type": "none", + "url": "https://t.co/zoICf0CqGG", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1779861744510189910" + ], + "editable_until_msecs": "1713190682000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4138589", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 1744, + "bookmarked": false, + "created_at": "Mon Apr 15 13:18:02 +0000 2024", + "conversation_id_str": "1779861744510189910", + "display_text_range": [ + 0, + 47 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.twitter.com/qz0BOO5YP4", + "expanded_url": "https://twitter.com/FortniteGame/status/1779861744510189910/video/1", + "id_str": "1779861679020347392", + "indices": [ + 48, + 71 + ], + "media_key": "13_1779861679020347392", + "media_url_https": "https://pbs.twimg.com/media/GLNWzhLXAAEduIV.jpg", + "type": "video", + "url": "https://t.co/qz0BOO5YP4", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 30000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/pl/D1obfSw6OtP2EOx8.m3u8?tag=16&container=cmaf" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/vid/avc1/480x270/X2cXZbFzbXoCM9xp.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/vid/avc1/640x360/dckVZ5MunEQmOcNw.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/vid/avc1/1280x720/jXXV0YRFh9DcubIv.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1779861679020347392" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.twitter.com/qz0BOO5YP4", + "expanded_url": "https://twitter.com/FortniteGame/status/1779861744510189910/video/1", + "id_str": "1779861679020347392", + "indices": [ + 48, + 71 + ], + "media_key": "13_1779861679020347392", + "media_url_https": "https://pbs.twimg.com/media/GLNWzhLXAAEduIV.jpg", + "type": "video", + "url": "https://t.co/qz0BOO5YP4", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 30000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/pl/D1obfSw6OtP2EOx8.m3u8?tag=16&container=cmaf" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/vid/avc1/480x270/X2cXZbFzbXoCM9xp.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/vid/avc1/640x360/dckVZ5MunEQmOcNw.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1779861679020347392/vid/avc1/1280x720/jXXV0YRFh9DcubIv.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1779861679020347392" + } + } + } + ] + }, + "favorite_count": 29017, + "favorited": false, + "full_text": "I've got a good feeling about this...\n\n5.3.2024 https://t.co/qz0BOO5YP4", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1950, + "reply_count": 1991, + "retweet_count": 3061, + "retweeted": false, + "user_id_str": "425871040", + "id_str": "1779861744510189910" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "you_might_also_like", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "74b1b17b-2d9a-47c7-b0b6-2ee10c905290" + } + } + } + } + } + ], + "displayType": "Vertical", + "header": { + "displayType": "Classic", + "text": "More Tweets", + "sticky": true + }, + "clientEventInfo": { + "component": "you_might_also_like", + "details": { + "timelinesDetails": { + "injectionType": "you_might_also_like", + "sourceData": "74b1b17b-2d9a-47c7-b0b6-2ee10c905290" + } + } + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ], + "responseObjects": { + "immediateReactions": [] + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/manual_tweet_with_video_1.json b/apps/twscrape/tests/mocked-data/manual_tweet_with_video_1.json new file mode 100644 index 0000000..3ca0978 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/manual_tweet_with_video_1.json @@ -0,0 +1,2119 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [{ + "type": "TimelineAddEntries", + "entries": [{ + "entryId": "tweet-1671508600538161153", + "sortIndex": "7551863436316614654", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671508600538161153", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTYyMDM4ODU4OTg4MDY0NzY4", + "rest_id": "1562038858988064768", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Aug 23 11:27:52 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "PhD musicology /Teacher/ Turkish woman/ \n\nPosting #humor #art #cool content.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "instagram.com/thefigen/", + "expanded_url": "https://www.instagram.com/thefigen/", + "url": "https://t.co/Cp75iLJ8XY", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 65299, + "followers_count": 537196, + "friends_count": 7, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2846, + "location": "", + "media_count": 2186, + "name": "Figen", + "normal_followers_count": 537196, + "pinned_tweet_ids_str": ["1662083075004661760"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1562038858988064768/1664828989", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1645880810958929921/8mi_I17M_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TheFigen_", + "statuses_count": 3865, + "translator_type": "none", + "url": "https://t.co/Cp75iLJ8XY", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1577454623266422784", + "professional_type": "Creator", + "category": [{ + "id": 478, + "name": "Advertising & Marketing Agency", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671508600538161153"], + "editable_until_msecs": "1687357280000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "3443243", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 3167, + "bookmarked": false, + "created_at": "Wed Jun 21 13:21:20 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [0, 84], + "entities": { + "media": [{ + "display_url": "pic.twitter.com/XnC1A3Uk3J", + "expanded_url": "https://twitter.com/sz_mediagroup/status/1669691294183043074/video/1", + "id_str": "1668857866328100864", + "indices": [61, 84], + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1668857866328100864/pu/img/nvEZWP1Yu9-6C23H.jpg", + "source_status_id_str": "1669691294183043074", + "source_user_id_str": "1433745612537741318", + "type": "photo", + "url": "https://t.co/XnC1A3Uk3J", + "features": {}, + "sizes": { + "large": { + "h": 1920, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1920, + "width": 1080 + } + }], + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [{ + "display_url": "pic.twitter.com/XnC1A3Uk3J", + "expanded_url": "https://twitter.com/sz_mediagroup/status/1669691294183043074/video/1", + "id_str": "1668857866328100864", + "indices": [61, 84], + "media_key": "7_1668857866328100864", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1668857866328100864/pu/img/nvEZWP1Yu9-6C23H.jpg", + "source_status_id_str": "1669691294183043074", + "source_user_id_str": "1433745612537741318", + "type": "video", + "url": "https://t.co/XnC1A3Uk3J", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDMzNzQ1NjEyNTM3NzQxMzE4", + "rest_id": "1433745612537741318", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Sep 03 10:57:09 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Shenzhen, Greater Bay Area, and beyond. News, life, cuisine, art, nature, etc. The official Twitter channel of #Shenzhen Media Group. \u6b22\u8fce\u5173\u6ce8\u6df1\u5733\u7535\u89c6\u53f0\uff01", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "szmg.com.cn", + "expanded_url": "http://www.szmg.com.cn", + "url": "https://t.co/iJ4g7v1XF1", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 6693, + "followers_count": 4592, + "friends_count": 1580, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 35, + "location": "", + "media_count": 7850, + "name": "Shenzhen Channel", + "normal_followers_count": 4592, + "pinned_tweet_ids_str": ["1647140198734614528"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1433745612537741318/1630819518", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1433818385628893185/jLLaWsiw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "sz_mediagroup", + "statuses_count": 10388, + "translator_type": "none", + "url": "https://t.co/iJ4g7v1XF1", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + } + }, + "mediaStats": { + "viewCount": 3847526 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 1920, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1920, + "width": 1080 + }, + "video_info": { + "aspect_ratio": [9, 16], + "duration_millis": 5434, + "variants": [{ + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1668857866328100864/pu/pl/XClvBaLx4CLu1KJ6.m3u8?tag=12&container=fmp4" + }, { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1668857866328100864/pu/vid/320x568/pY6q1h6ISkvyHc0F.mp4?tag=12" + }, { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1668857866328100864/pu/vid/480x852/Doxgvs4FudRgrvhF.mp4?tag=12" + }, { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1668857866328100864/pu/vid/720x1280/ENfeGwtfyiYvpNy8.mp4?tag=12" + }] + } + }] + }, + "favorite_count": 30817, + "favorited": false, + "full_text": "This is not science fiction.\nNightscape in Nanjing, China \n\nhttps://t.co/XnC1A3Uk3J", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 263, + "reply_count": 534, + "retweet_count": 4063, + "retweeted": false, + "user_id_str": "1562038858988064768", + "id_str": "1671508600538161153" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, { + "entryId": "conversationthread-1671508958299713538", + "sortIndex": "7551863436316614644", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671508958299713538-tweet-1671508958299713538", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671508958299713538", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzQ3OTYzNjY=", + "rest_id": "134796366", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Apr 19 13:29:09 +0000 2010", + "default_profile": true, + "default_profile_image": false, + "description": "British-born, currently teaching English and literature at Jiaying University in China.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "forums.theplothole.net", + "expanded_url": "https://forums.theplothole.net/", + "url": "https://t.co/LrevQ5KqHI", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 5131, + "followers_count": 39, + "friends_count": 420, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "Meizhou, China", + "media_count": 0, + "name": "Britt J. L. Halliburton", + "normal_followers_count": 39, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1497197434/505-Liu-Bei_B_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TheBritt2001", + "statuses_count": 2311, + "translator_type": "none", + "url": "https://t.co/LrevQ5KqHI", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671508958299713538"], + "editable_until_msecs": "1687357365000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "52017", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "created_at": "Wed Jun 21 13:22:45 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 63], + "entities": { + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 137, + "favorited": false, + "full_text": "@TheFigen_ Yeah, Nanjing is a great city, great place to visit.", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 4, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "134796366", + "id_str": "1671508958299713538" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQgJCGAHgBUKAAIAAAAABEAICAAAAAA=" + } + } + } + } + }, { + "entryId": "conversationthread-1671508958299713538-tweet-1671510449605558272", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671510449605558272", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTYyMDM4ODU4OTg4MDY0NzY4", + "rest_id": "1562038858988064768", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Aug 23 11:27:52 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "PhD musicology /Teacher/ Turkish woman/ \n\nPosting #humor #art #cool content.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "instagram.com/thefigen/", + "expanded_url": "https://www.instagram.com/thefigen/", + "url": "https://t.co/Cp75iLJ8XY", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 65299, + "followers_count": 537197, + "friends_count": 7, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2846, + "location": "", + "media_count": 2186, + "name": "Figen", + "normal_followers_count": 537197, + "pinned_tweet_ids_str": ["1662083075004661760"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1562038858988064768/1664828989", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1645880810958929921/8mi_I17M_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TheFigen_", + "statuses_count": 3865, + "translator_type": "none", + "url": "https://t.co/Cp75iLJ8XY", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1577454623266422784", + "professional_type": "Creator", + "category": [{ + "id": 478, + "name": "Advertising & Marketing Agency", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671510449605558272"], + "editable_until_msecs": "1687357721000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "49257", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "created_at": "Wed Jun 21 13:28:41 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [14, 20], + "entities": { + "user_mentions": [{ + "id_str": "134796366", + "name": "Britt J. L. Halliburton", + "screen_name": "TheBritt2001", + "indices": [0, 13] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 17, + "favorited": false, + "full_text": "@TheBritt2001 Agree.", + "in_reply_to_screen_name": "TheBritt2001", + "in_reply_to_status_id_str": "1671508958299713538", + "in_reply_to_user_id_str": "134796366", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 4, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1562038858988064768", + "id_str": "1671510449605558272" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQgJEKIDgZEKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671812868457545729", + "sortIndex": "7551863436316614634", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671812868457545729-tweet-1671812868457545729", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671812868457545729", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTM3NDI4NzA1NjAxMTEwMDE2", + "rest_id": "1537428705601110016", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Jun 16 13:35:57 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Straight White Male\nDon't mind my @ name on here I'm republican\nAlabama born and raised.\n#INTJ", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3969, + "followers_count": 75, + "friends_count": 197, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 211, + "name": "Brad", + "normal_followers_count": 75, + "pinned_tweet_ids_str": ["1632524263289765889"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1537428705601110016/1671215318", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1636218949334343680/6SoqFWZS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LeftBrad", + "statuses_count": 2158, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671812868457545729"], + "editable_until_msecs": "1687429823000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "7396", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "created_at": "Thu Jun 22 09:30:23 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 66], + "entities": { + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "@TheFigen_ That looks beautiful. Clean.\nCompare that to California", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 2, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1537428705601110016", + "id_str": "1671812868457545729" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQAJCSQDgBUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671885256914518017", + "sortIndex": "7551863436316614624", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671885256914518017-tweet-1671885256914518017", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671885256914518017", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjg5MjM1NjY3NTE2NDU2OTYy", + "rest_id": "1289235667516456962", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Jul 31 16:25:21 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 23767, + "followers_count": 269743, + "friends_count": 609, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 430, + "location": "India", + "media_count": 5762, + "name": "Facts", + "normal_followers_count": 269743, + "pinned_tweet_ids_str": ["1331169210852990979"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1289235667516456962/1657276899", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1554516717761855488/0w-QEwIX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "BefittingFacts", + "statuses_count": 33521, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671885256914518017"], + "editable_until_msecs": "1687447082000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "80", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "created_at": "Thu Jun 22 14:18:02 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 51], + "entities": { + "media": [{ + "display_url": "pic.twitter.com/BlksXCHXiM", + "expanded_url": "https://twitter.com/BefittingFacts/status/1671885256914518017/photo/1", + "id_str": "1671885208583548935", + "indices": [52, 75], + "media_url_https": "https://pbs.twimg.com/media/FzO6vTraMAcRbum.jpg", + "type": "photo", + "url": "https://t.co/BlksXCHXiM", + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 674, + "w": 455, + "resize": "fit" + }, + "medium": { + "h": 674, + "w": 455, + "resize": "fit" + }, + "small": { + "h": 674, + "w": 455, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 674, + "width": 455, + "focus_rects": [{ + "x": 0, + "y": 395, + "w": 455, + "h": 255 + }, { + "x": 0, + "y": 219, + "w": 455, + "h": 455 + }, { + "x": 0, + "y": 155, + "w": 455, + "h": 519 + }, { + "x": 118, + "y": 0, + "w": 337, + "h": 674 + }, { + "x": 0, + "y": 0, + "w": 455, + "h": 674 + }] + } + }], + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [{ + "display_url": "pic.twitter.com/BlksXCHXiM", + "expanded_url": "https://twitter.com/BefittingFacts/status/1671885256914518017/photo/1", + "id_str": "1671885208583548935", + "indices": [52, 75], + "media_key": "3_1671885208583548935", + "media_url_https": "https://pbs.twimg.com/media/FzO6vTraMAcRbum.jpg", + "type": "photo", + "url": "https://t.co/BlksXCHXiM", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 674, + "w": 455, + "resize": "fit" + }, + "medium": { + "h": 674, + "w": 455, + "resize": "fit" + }, + "small": { + "h": 674, + "w": 455, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 674, + "width": 455, + "focus_rects": [{ + "x": 0, + "y": 395, + "w": 455, + "h": 255 + }, { + "x": 0, + "y": 219, + "w": 455, + "h": 455 + }, { + "x": 0, + "y": 155, + "w": 455, + "h": 519 + }, { + "x": 118, + "y": 0, + "w": 337, + "h": 674 + }, { + "x": 0, + "y": 0, + "w": 455, + "h": 674 + }] + } + }] + }, + "favorite_count": 3, + "favorited": false, + "full_text": "@TheFigen_ This is Nanjing Zendai Himalayas Center. https://t.co/BlksXCHXiM", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1289235667516456962", + "id_str": "1671885256914518017" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFUAJiihjgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671647162206244864", + "sortIndex": "7551863436316614614", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671647162206244864-tweet-1671647162206244864", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671647162206244864", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3MzI2OTg3MzE2ODI4OTM4MjQ=", + "rest_id": "732698731682893824", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue May 17 22:26:05 +0000 2016", + "default_profile": false, + "default_profile_image": false, + "description": "handsome/brilliant/funny", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "linktr.ee/Younghogey", + "expanded_url": "https://linktr.ee/Younghogey", + "url": "https://t.co/ODHughDvXE", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 4738, + "followers_count": 269, + "friends_count": 571, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 7, + "location": "", + "media_count": 960, + "name": "younghogey", + "normal_followers_count": 269, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/732698731682893824/1678483088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1640301113227333633/35030YR__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Younghogey", + "statuses_count": 6200, + "translator_type": "none", + "url": "https://t.co/ODHughDvXE", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1476802165251481600", + "professional_type": "Creator", + "category": [{ + "id": 432, + "name": "Electrician", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671647162206244864"], + "editable_until_msecs": "1687390315000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "19128", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "created_at": "Wed Jun 21 22:31:55 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 32], + "entities": { + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@TheFigen_ Just like the anime\u2019s", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "732698731682893824", + "id_str": "1671647162206244864" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQQJjDADgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671700833363447808", + "sortIndex": "7551863436316614604", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671700833363447808-tweet-1671700833363447808", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671700833363447808", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzY3NjY3NzM4ODc3OTg4ODY0", + "rest_id": "1367667738877988864", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Mar 05 02:46:27 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "@mychinatrip Travelers from China. Share what I see. Photography, drones, football, self-driving travel in China over 100,000 km. Living in Lishui, Zhejiang.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "instagram.com/mychinatrip", + "expanded_url": "https://instagram.com/mychinatrip", + "url": "https://t.co/Y4T3tstnZA", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 43025, + "followers_count": 57531, + "friends_count": 226, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 300, + "location": "Lishui", + "media_count": 6474, + "name": "Sharing Travel", + "normal_followers_count": 57531, + "pinned_tweet_ids_str": ["1670602205383254017"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1367667738877988864/1643992024", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1489636633180012544/HY9RWfzI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TripInChina", + "statuses_count": 18063, + "translator_type": "none", + "url": "https://t.co/Y4T3tstnZA", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671700833363447808"], + "editable_until_msecs": "1687403112000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "35856", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "created_at": "Thu Jun 22 02:05:12 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 63], + "entities": { + "media": [{ + "display_url": "pic.twitter.com/tfZVdxKYQN", + "expanded_url": "https://twitter.com/TripInChina/status/1670987332973998080/video/1", + "id_str": "1670817068445495296", + "indices": [40, 63], + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1670817068445495296/pu/img/2gy4ynHr-YNRJMAo.jpg", + "source_status_id_str": "1670987332973998080", + "source_user_id_str": "1367667738877988864", + "type": "photo", + "url": "https://t.co/tfZVdxKYQN", + "features": {}, + "sizes": { + "large": { + "h": 1920, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1920, + "width": 1080 + } + }], + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [{ + "display_url": "pic.twitter.com/tfZVdxKYQN", + "expanded_url": "https://twitter.com/TripInChina/status/1670987332973998080/video/1", + "id_str": "1670817068445495296", + "indices": [40, 63], + "media_key": "7_1670817068445495296", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1670817068445495296/pu/img/2gy4ynHr-YNRJMAo.jpg", + "source_status_id_str": "1670987332973998080", + "source_user_id_str": "1367667738877988864", + "type": "video", + "url": "https://t.co/tfZVdxKYQN", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzY3NjY3NzM4ODc3OTg4ODY0", + "rest_id": "1367667738877988864", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Mar 05 02:46:27 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "@mychinatrip Travelers from China. Share what I see. Photography, drones, football, self-driving travel in China over 100,000 km. Living in Lishui, Zhejiang.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "instagram.com/mychinatrip", + "expanded_url": "https://instagram.com/mychinatrip", + "url": "https://t.co/Y4T3tstnZA", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 43025, + "followers_count": 57531, + "friends_count": 226, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 300, + "location": "Lishui", + "media_count": 6474, + "name": "Sharing Travel", + "normal_followers_count": 57531, + "pinned_tweet_ids_str": ["1670602205383254017"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1367667738877988864/1643992024", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1489636633180012544/HY9RWfzI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TripInChina", + "statuses_count": 18063, + "translator_type": "none", + "url": "https://t.co/Y4T3tstnZA", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + } + }, + "mediaStats": { + "viewCount": 33611 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 1920, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1920, + "width": 1080 + }, + "video_info": { + "aspect_ratio": [9, 16], + "duration_millis": 23934, + "variants": [{ + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1670817068445495296/pu/vid/480x852/KFNZjHXDu-eea_8O.mp4?tag=14" + }, { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1670817068445495296/pu/vid/720x1280/oggMXA2mz4TMLV-h.mp4?tag=14" + }, { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1670817068445495296/pu/pl/4U0Uj5v9khO_CJY5.m3u8?tag=14&container=fmp4" + }, { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1670817068445495296/pu/vid/320x568/AWOVNL2252BRl_Bx.mp4?tag=14" + }, { + "bitrate": 10368000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1670817068445495296/pu/vid/1080x1920/22YicpjoyeMTMZEj.mp4?tag=14" + }] + } + }] + }, + "favorite_count": 372, + "favorited": false, + "full_text": "@TheFigen_ There are more details here.\nhttps://t.co/tfZVdxKYQN", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 5, + "reply_count": 7, + "retweet_count": 44, + "retweeted": false, + "user_id_str": "1367667738877988864", + "id_str": "1671700833363447808" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQAJCCBTgBUKAAIAAAAAFkBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671834254790086657", + "sortIndex": "7551863436316614594", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671834254790086657-tweet-1671834254790086657", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671834254790086657", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MjczNjEwMDU0", + "rest_id": "4273610054", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Nov 18 01:27:02 +0000 2015", + "default_profile": true, + "default_profile_image": false, + "description": "Go Dawgs!!!", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12077, + "followers_count": 1694, + "friends_count": 2939, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2, + "location": "Georgia, USA", + "media_count": 93, + "name": "Todd", + "normal_followers_count": 1694, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/4273610054/1528614514", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1618787137318420480/IIIJo7rR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ToddLingefelt", + "statuses_count": 12613, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671834254790086657"], + "editable_until_msecs": "1687434922000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "1305", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "created_at": "Thu Jun 22 10:55:22 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [27, 41], + "entities": { + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }, { + "id_str": "15484198", + "name": "George Galloway", + "screen_name": "georgegalloway", + "indices": [11, 26] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@TheFigen_ @georgegalloway Cool buildings", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "4273610054", + "id_str": "1671834254790086657" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQAJiCADgAUKAAIAAAAAFUAICAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671848456506294274", + "sortIndex": "7551863436316614584", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671848456506294274-tweet-1671848456506294274", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671848456506294274", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTk5MDMzMzY=", + "rest_id": "219903336", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Nov 26 06:15:01 +0000 2010", + "default_profile": true, + "default_profile_image": false, + "description": "Founder & CEO @Dazeinfo l Ex @LgIndia, @Google, @adrenalinhrms l Serial entrepreneur l Follow for mind-boggling insights & trends", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "dazeinfo.com", + "expanded_url": "https://dazeinfo.com", + "url": "https://t.co/Hj9TmnxOdj", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 29599, + "followers_count": 4366, + "friends_count": 2373, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 346, + "location": "Bangalore, India", + "media_count": 3030, + "name": "Amit Misra", + "normal_followers_count": 4366, + "pinned_tweet_ids_str": ["1641306185734447104"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/219903336/1668924922", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/752926884422299648/RupOT5BC_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "amit6060", + "statuses_count": 91565, + "translator_type": "none", + "url": "https://t.co/Hj9TmnxOdj", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1460882725083107333", + "professional_type": "Creator", + "category": [{ + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671848456506294274"], + "editable_until_msecs": "1687438308000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "4525", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://www.hootsuite.com\" rel=\"nofollow\">Hootsuite Inc.</a>", + "legacy": { + "created_at": "Thu Jun 22 11:51:48 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 106], + "entities": { + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 4, + "favorited": false, + "full_text": "@TheFigen_ If Nanjing's nightscape were a movie, it would be a blockbuster hit that leaves you starstruck!", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "219903336", + "id_str": "1671848456506294274" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQAJiCADgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671842536288133120", + "sortIndex": "7551863436316614574", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671842536288133120-tweet-1671842536288133120", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671842536288133120", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDEwODMxMjQ2", + "rest_id": "2410831246", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 14 18:51:34 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "Follower of Christ, Bibliophile, logophile, seeker of justice, mama of 7, gma of 2, Singer/Songwriter, fighting to get my abducted children home safe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "youtu.be/YzZwydtilEU", + "expanded_url": "https://youtu.be/YzZwydtilEU", + "url": "https://t.co/3P80bRnrNl", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 15509, + "followers_count": 3416, + "friends_count": 4980, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 7, + "location": "Belleville, MI", + "media_count": 2289, + "name": "LibertyLindz\ud83d\uddfd\u2696\ufe0f", + "normal_followers_count": 3416, + "pinned_tweet_ids_str": ["1609191381532114944"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2410831246/1661089957", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1668112560522928129/qbfNaJNc_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JUSTICE4Lacie", + "statuses_count": 19388, + "translator_type": "none", + "url": "https://t.co/3P80bRnrNl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1522434668288692224", + "professional_type": "Creator", + "category": [{ + "id": 940, + "name": "Musician", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671842536288133120"], + "editable_until_msecs": "1687436896000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "1645", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "created_at": "Thu Jun 22 11:28:16 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 109], + "entities": { + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@TheFigen_ Wow, I'd love to see the science behind the architecture and how those buildings were constructed!", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "2410831246", + "id_str": "1671842536288133120" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQAJiCADgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671848864599425024", + "sortIndex": "7551863436316614564", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671848864599425024-tweet-1671848864599425024", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671848864599425024", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTQ3NzA1NzgyMzQyMjk5NjU2", + "rest_id": "1547705782342299656", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Jul 14 22:13:17 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Formerly of San Francisco. Would love to connect with other like minded gay conservatives. LGB\u2702\ufe0fTQ+. Have lived in \ud83c\uddf8\ud83c\uddec\ud83c\uddf9\ud83c\udded\ud83c\uddf5\ud83c\udded & \ud83c\udde6\ud83c\uddfa. #DeSantis2024", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12469, + "followers_count": 438, + "friends_count": 586, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 9, + "location": "Buford, GA", + "media_count": 129, + "name": "SM Kelly \ud83c\uddfa\ud83c\uddf8\ud83c\udff3\ufe0f\u200d\ud83c\udf08", + "normal_followers_count": 438, + "pinned_tweet_ids_str": ["1662191992820867073"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1547705782342299656/1659906296", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590531810835955713/n3AGkFkR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SMKLLY77", + "statuses_count": 9221, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671848864599425024"], + "editable_until_msecs": "1687438405000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "1560", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "created_at": "Thu Jun 22 11:53:25 +0000 2023", + "conversation_id_str": "1671508600538161153", + "display_text_range": [11, 20], + "entities": { + "user_mentions": [{ + "id_str": "1562038858988064768", + "name": "Figen", + "screen_name": "TheFigen_", + "indices": [0, 10] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 8, + "favorited": false, + "full_text": "@TheFigen_ Dystopian", + "in_reply_to_screen_name": "TheFigen_", + "in_reply_to_status_id_str": "1671508600538161153", + "in_reply_to_user_id_str": "1562038858988064768", + "is_quote_status": false, + "lang": "cy", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1547705782342299656", + "id_str": "1671848864599425024" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQABCCADgBUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "cursor-bottom-3457498124702048771", + "sortIndex": "7551863436316614563", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "WwAAAPAEHBmWgoDSuY-y3bMugIC2yefrzAkA0L39ufvJsy6EgL6Fh9QSAPAkwL7Rl4_xsi6AwNL1oMOJsy6CgLa1x7y8sy6EwLOl1KKysi6CwL6BtJnGsy4lAhIVBAAA", + "cursorType": "Bottom" + } + } + }] + }, { + "type": "TimelineTerminateTimeline", + "direction": "Top" + }] + } + } +} \ No newline at end of file diff --git a/apps/twscrape/tests/mocked-data/manual_tweet_with_video_2.json b/apps/twscrape/tests/mocked-data/manual_tweet_with_video_2.json new file mode 100644 index 0000000..815819b --- /dev/null +++ b/apps/twscrape/tests/mocked-data/manual_tweet_with_video_2.json @@ -0,0 +1,2300 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [{ + "type": "TimelineAddEntries", + "entries": [{ + "entryId": "tweet-1671753569412820992", + "sortIndex": "7551618467441954815", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671753569412820992", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTMwMDIxNjg1MzUxMDc5OTM4", + "rest_id": "1130021685351079938", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun May 19 08:05:39 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Welcome to the positive side of Twitter! I\u2019m Sander from the Netherlands. All copyrights belong to their respective owners! DM for credits/removal/submission!", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "linktr.ee/buitengebieden", + "expanded_url": "https://linktr.ee/buitengebieden", + "url": "https://t.co/lcTxsIZCBL", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 23583, + "followers_count": 2274134, + "friends_count": 90, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 11311, + "location": "Nederland", + "media_count": 1425, + "name": "Buitengebieden", + "normal_followers_count": 2274134, + "pinned_tweet_ids_str": ["1534564404943106056"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1130021685351079938/1558253468", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1130022182971760640/FlbICzEn_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "buitengebieden", + "statuses_count": 1119, + "translator_type": "none", + "url": "https://t.co/lcTxsIZCBL", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1591178864939737089", + "professional_type": "Business", + "category": [{ + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671753569412820992"], + "editable_until_msecs": "1687415685000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "4204051", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Jun 22 05:34:45 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [0, 42], + "entities": { + "media": [{ + "display_url": "pic.twitter.com/1FyrDMxt16", + "expanded_url": "https://twitter.com/buitengebieden/status/1671753569412820992/video/1", + "id_str": "1671753482821328896", + "indices": [43, 66], + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1671753482821328896/img/3mnaTe96MVljUllm.jpg", + "type": "photo", + "url": "https://t.co/1FyrDMxt16", + "features": {}, + "sizes": { + "large": { + "h": 720, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 720, + "w": 720, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 720 + } + }], + "user_mentions": [], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [{ + "display_url": "pic.twitter.com/1FyrDMxt16", + "expanded_url": "https://twitter.com/buitengebieden/status/1671753569412820992/video/1", + "id_str": "1671753482821328896", + "indices": [43, 66], + "media_key": "13_1671753482821328896", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1671753482821328896/img/3mnaTe96MVljUllm.jpg", + "type": "video", + "url": "https://t.co/1FyrDMxt16", + "additional_media_info": { + "monetizable": false + }, + "mediaStats": { + "viewCount": 1767041 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 720, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 720, + "w": 720, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 720 + }, + "video_info": { + "aspect_ratio": [1, 1], + "duration_millis": 43877, + "variants": [{ + "bitrate": 432000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1671753482821328896/vid/320x320/RlALwsvrj5xuvcY9.mp4?tag=14" + }, { + "bitrate": 1280000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1671753482821328896/vid/720x720/MORl_6SWAwSsAEuT.mp4?tag=14" + }, { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1671753482821328896/vid/540x540/T07VvzqecoseoJpN.mp4?tag=14" + }, { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1671753482821328896/pl/W9E274M-YVAB--jZ.m3u8?tag=14&container=fmp4" + }] + } + }] + }, + "favorite_count": 40178, + "favorited": false, + "full_text": "When you\u2019re over 40 and the movie starts.. https://t.co/1FyrDMxt16", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 428, + "reply_count": 349, + "retweet_count": 3569, + "retweeted": false, + "user_id_str": "1130021685351079938", + "id_str": "1671753569412820992" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "hasModeratedReplies": false + } + } + }, { + "entryId": "conversationthread-1671754452045549572", + "sortIndex": "7551618467441954805", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671754452045549572-tweet-1671754452045549572", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671754452045549572", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMzEzNTQ1Nzky", + "rest_id": "3313545792", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Aug 12 17:41:47 +0000 2015", + "default_profile": true, + "default_profile_image": false, + "description": "Sower of ideas, gatherer of the winds. I do not claim any titles; rather, I am an ordinary individual disseminating potent messages. Writing and drawing worlds.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 857, + "followers_count": 549, + "friends_count": 27, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "Deep in the South", + "media_count": 18, + "name": "Edward Fox", + "normal_followers_count": 549, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3313545792/1683306327", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1652099520921063425/2nwkvSct_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "edward1993", + "statuses_count": 2089, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1591919000371564544", + "professional_type": "Creator", + "category": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671754452045549572"], + "editable_until_msecs": "1687415895000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "3748", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "created_at": "Thu Jun 22 05:38:15 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 100], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 18, + "favorited": false, + "full_text": "@buitengebieden You don't need to be 40; you only need to ask your mom to choose the movie to watch.", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 3, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "3313545792", + "id_str": "1671754452045549572" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQKJCGAHgBUKAAIAAAAAFUBACAAAAAA=" + } + } + } + } + }, { + "entryId": "conversationthread-1671754452045549572-cursor-showmore-8797997536915982186", + "item": { + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "PAAAAPAtPBwcFojA0p2j9KGzLhUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNjcxNzU0NDUyMDQ1NTQ5NTcyIgAA", + "cursorType": "ShowMore", + "displayTreatment": { + "actionText": "Show replies" + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671842739497889793", + "sortIndex": "7551618467441954795", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671842739497889793-tweet-1671842739497889793", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671842739497889793", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTgxMzkyNjUyMTk5MjUxOTcw", + "rest_id": "1181392652199251970", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Oct 08 02:16:06 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 62, + "followers_count": 414, + "friends_count": 204, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "", + "media_count": 1111, + "name": "NoraHall@1978", + "normal_followers_count": 414, + "pinned_tweet_ids_str": ["1457933366548959232"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1181392652199251970/1671388580", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1636711917929611264/aNIaXZrr_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "nori_hall", + "statuses_count": 10091, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671842739497889793"], + "editable_until_msecs": "1687436945000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "2126", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "created_at": "Thu Jun 22 11:29:05 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 95], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@buitengebieden That is so true. He\u2019s waiting with a frown. Looks like my brother Dan. \u270d\ud83c\udffb\ud83e\udd37\u200d\u2640\ufe0f\u2639\ufe0f", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1181392652199251970", + "id_str": "1671842739497889793" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQKJiKIDgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1667220696295178240", + "sortIndex": "7551618467441954785", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1667220696295178240-tweet-1667220696295178240-31c0bea61e034a00", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "TweetWithVisibilityResults", + "tweet": { + "rest_id": "1667220696295178240", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjQ3MDU1OTU1Mzg4MTcwMjQx", + "rest_id": "1647055955388170241", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Apr 15 01:55:21 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Online store selling items for everyday household needs", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "tordosweet.com", + "expanded_url": "http://tordosweet.com", + "url": "https://t.co/RZx6n1p0Ek", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 370, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 14, + "location": "", + "media_count": 0, + "name": "Tordo Sweet", + "normal_followers_count": 370, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1647055955388170241/1686034554", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1660933841668960258/k-x0fFHm_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "tordosweet_co", + "statuses_count": 0, + "translator_type": "none", + "url": "https://t.co/RZx6n1p0Ek", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1667220696295178240"], + "editable_until_msecs": "1686334964000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "8812654", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://ads.twitter.com\" rel=\"nofollow\">Twitter Ads</a>", + "legacy": { + "created_at": "Fri Jun 09 17:22:44 +0000 2023", + "conversation_control": { + "policy": "ByInvitation", + "conversation_owner_results": { + "result": { + "__typename": "User", + "legacy": { + "screen_name": "tordosweet_co" + } + } + } + }, + "conversation_id_str": "1667220696295178240", + "display_text_range": [0, 116], + "entities": { + "media": [{ + "display_url": "pic.twitter.com/4XJ9F44Gxr", + "expanded_url": "https://twitter.com/tordosweet_co/status/1667220696295178240/video/1", + "id_str": "1667108665588080640", + "indices": [117, 140], + "media_url_https": "https://pbs.twimg.com/media/FyLC6_daYAA1aus.jpg", + "type": "photo", + "url": "https://t.co/4XJ9F44Gxr", + "features": {}, + "sizes": { + "large": { + "h": 622, + "w": 623, + "resize": "fit" + }, + "medium": { + "h": 622, + "w": 623, + "resize": "fit" + }, + "small": { + "h": 622, + "w": 623, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 622, + "width": 623 + } + }], + "user_mentions": [], + "urls": [{ + "display_url": "tordosweet.com/mosquitos-traps", + "expanded_url": "https://tordosweet.com/mosquitos-traps", + "url": "https://t.co/7HnVeK9nKO", + "indices": [93, 116] + }], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [{ + "display_url": "pic.twitter.com/4XJ9F44Gxr", + "expanded_url": "https://twitter.com/tordosweet_co/status/1667220696295178240/video/1", + "id_str": "1667108665588080640", + "indices": [117, 140], + "media_key": "13_1667108665588080640", + "media_url_https": "https://pbs.twimg.com/media/FyLC6_daYAA1aus.jpg", + "type": "video", + "url": "https://t.co/4XJ9F44Gxr", + "additional_media_info": { + "title": "\ud83d\udd252023 NEW\ud83d\udd25Mosquitos And Flies Killer Lamp For Indoor And Outdoor", + "description": "\ud83d\ude0d Tag your friends who would be need it !", + "call_to_actions": { + "visit_site": { + "url": "https://tordosweet.com/mosquitos-lamp" + } + }, + "embeddable": true, + "monetizable": false + }, + "mediaStats": { + "viewCount": 4265219 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 622, + "w": 623, + "resize": "fit" + }, + "medium": { + "h": 622, + "w": 623, + "resize": "fit" + }, + "small": { + "h": 622, + "w": 623, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 622, + "width": 623 + }, + "video_info": { + "aspect_ratio": [1, 1], + "duration_millis": 134293, + "variants": [{ + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1667108665588080640/vid/540x540/_hEFFgGkmzxuu92N.mp4?tag=16" + }, { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1667108665588080640/pl/TNjCt9dgdyljmePp.m3u8?tag=16&container=fmp4" + }, { + "bitrate": 1280000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1667108665588080640/vid/640x640/EgYM1PGigEWl-QHg.mp4?tag=16" + }, { + "bitrate": 432000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1667108665588080640/vid/320x320/Wg9zXddOKkyAsVpI.mp4?tag=16" + }] + } + }] + }, + "favorite_count": 28986, + "favorited": false, + "full_text": "\ud83d\ude3217 Years Old Autistic College Student Builds a Device To Prevent Mosquito Bites\n\ud83d\uded2Get Yours\ud83d\udc49 https://t.co/7HnVeK9nKO https://t.co/4XJ9F44Gxr", + "is_quote_status": false, + "lang": "en", + "limited_actions": "limited_replies", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 328, + "reply_count": 1175, + "retweet_count": 4395, + "retweeted": false, + "scopes": { + "followers": false + }, + "user_id_str": "1647055955388170241", + "id_str": "1667220696295178240" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + } + }, + "tweetDisplayType": "Tweet", + "promotedMetadata": { + "advertiser_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjQ3MDU1OTU1Mzg4MTcwMjQx", + "rest_id": "1647055955388170241", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Apr 15 01:55:21 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Online store selling items for everyday household needs", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "tordosweet.com", + "expanded_url": "http://tordosweet.com", + "url": "https://t.co/RZx6n1p0Ek", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 370, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 14, + "location": "", + "media_count": 0, + "name": "Tordo Sweet", + "normal_followers_count": 370, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1647055955388170241/1686034554", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1660933841668960258/k-x0fFHm_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "tordosweet_co", + "statuses_count": 0, + "translator_type": "none", + "url": "https://t.co/RZx6n1p0Ek", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + }, + "disclosureType": "NoDisclosure", + "experimentValues": [], + "impressionId": "31c0bea61e034a00", + "impressionString": "31c0bea61e034a00", + "clickTrackingInfo": { + "urlParams": [{ + "key": "twclid", + "value": "2-2bqi64j4hp224tvv7dmvsy61r" + }] + } + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671849712490622977", + "sortIndex": "7551618467441954775", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671849712490622977-tweet-1671849712490622977", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671849712490622977", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDY2NDUyNDI2", + "rest_id": "1066452426", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Jan 06 19:13:17 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "NFT Collector & Community Manager @grouchytigers \ud83d\udc49 https://t.co/oCzyhMEP3E \ud83d\udc2f \ud83d\udc49 https://t.co/o23WUZfxvL #GTSC $GTT", + "entities": { + "description": { + "urls": [{ + "display_url": "opensea.io/collection/gro\u2026", + "expanded_url": "http://opensea.io/collection/grouchy-tiger-social-club", + "url": "https://t.co/oCzyhMEP3E", + "indices": [51, 74] + }, { + "display_url": "discord.gg/yGHpTrVJpS", + "expanded_url": "http://discord.gg/yGHpTrVJpS", + "url": "https://t.co/o23WUZfxvL", + "indices": [79, 102] + }] + }, + "url": { + "urls": [{ + "display_url": "opensea.io/PhillyP87", + "expanded_url": "https://opensea.io/PhillyP87", + "url": "https://t.co/mfs7vVPySX", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 54900, + "followers_count": 3444, + "friends_count": 1369, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 13, + "location": "", + "media_count": 5158, + "name": "PhillyP87.eth\ud83d\udee1\ufe0f\ud83d\udc2f \ud83d\udc51 \ud83d\udc33", + "normal_followers_count": 3444, + "pinned_tweet_ids_str": ["1670051421226450944"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1066452426/1651940664", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1591597786906116101/_q42skwP_normal.png", + "profile_interstitial_type": "", + "screen_name": "Philly_P87", + "statuses_count": 36421, + "translator_type": "none", + "url": "https://t.co/mfs7vVPySX", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "has_nft_avatar": true, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671849712490622977"], + "editable_until_msecs": "1687438607000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "1830", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "created_at": "Thu Jun 22 11:56:47 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 17], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@buitengebieden \ud83d\ude02", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "qme", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1066452426", + "id_str": "1671849712490622977" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQGBiigDgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671768908020469760", + "sortIndex": "7551618467441954765", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671768908020469760-tweet-1671768908020469760", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671768908020469760", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTk0MTMzMTU2ODkwMDMwMDgw", + "rest_id": "1594133156890030080", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Nov 20 00:59:45 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Conservative \u2022 Trump Defender \u2022 Science Fan \u2022 Political Cartoonist \u2022 \nOwner of https://t.co/gKuCakPN6G #MAGA #StolenElection #Trump2024", + "entities": { + "description": { + "urls": [{ + "display_url": "LeftyLiars.com", + "expanded_url": "http://LeftyLiars.com", + "url": "https://t.co/gKuCakPN6G", + "indices": [79, 102] + }] + }, + "url": { + "urls": [{ + "display_url": "leftyliars.com", + "expanded_url": "https://www.leftyliars.com", + "url": "https://t.co/TKTzGhARdx", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 1053, + "followers_count": 1390, + "friends_count": 80, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 6, + "location": "", + "media_count": 929, + "name": "Rob Larrikin", + "normal_followers_count": 1390, + "pinned_tweet_ids_str": ["1671141189402390528"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1594133156890030080/1673963952", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1615347901596839937/jKOSkjhJ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "RobLarrikin", + "statuses_count": 4206, + "translator_type": "none", + "url": "https://t.co/TKTzGhARdx", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1598938201665974272", + "professional_type": "Creator", + "category": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671768908020469760"], + "editable_until_msecs": "1687419342000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "7358", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "created_at": "Thu Jun 22 06:35:42 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 57], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 18, + "favorited": false, + "full_text": "@buitengebieden He was fine until woke Netflix came on. \ud83d\ude0e", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 2, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "1594133156890030080", + "id_str": "1671768908020469760" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQGJDDADgBUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }, { + "entryId": "conversationthread-1671768908020469760-cursor-showmore-4958815469336034700", + "item": { + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "PAAAAPAtPBwcFoDA0tHcvaizLhUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNjcxNzY4OTA4MDIwNDY5NzYwIgAA", + "cursorType": "ShowMore", + "displayTreatment": { + "actionText": "Show replies" + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671874946589503488", + "sortIndex": "7551618467441954755", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671874946589503488-tweet-1671874946589503488", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671874946589503488", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjA1NjI5ODg0NTkxNjM2NDkx", + "rest_id": "1605629884591636491", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Dec 21 18:23:28 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "happily married, mom, grandmom, animal lover. Patriot ,american loving . No Dems.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 17368, + "followers_count": 1140, + "friends_count": 1146, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8, + "location": "", + "media_count": 286, + "name": "QUEEN TITAN001", + "normal_followers_count": 1140, + "pinned_tweet_ids_str": ["1664293524844453891"], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1605630047917834246/hQBjF_kV_normal.png", + "profile_interstitial_type": "", + "screen_name": "QTitan001", + "statuses_count": 18228, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671874946589503488"], + "editable_until_msecs": "1687444623000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "421", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "created_at": "Thu Jun 22 13:37:03 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 89], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@buitengebieden That's so cute !\n Just love how interesting and intelligent animals are.\ud83d\ude0a", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1605629884591636491", + "id_str": "1671874946589503488" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQGZiCADgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671787408415760385", + "sortIndex": "7551618467441954745", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671787408415760385-tweet-1671787408415760385", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671787408415760385", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTM4Mjc0Mjc2NjE2MzA2Njg4", + "rest_id": "1538274276616306688", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": true, + "can_media_tag": false, + "created_at": "Sat Jun 18 21:36:04 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "We have art in order not to die of truth.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 6458, + "followers_count": 143, + "friends_count": 142, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "Jenseits von Gut und B\u00f6se", + "media_count": 425, + "name": "main_concept", + "normal_followers_count": 143, + "pinned_tweet_ids_str": ["1668176415156518913"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1538274276616306688/1657785671", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1547491377537323008/4ArrxiVM_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "anarchopr", + "statuses_count": 15279, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671787408415760385"], + "editable_until_msecs": "1687423753000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "3958", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "created_at": "Thu Jun 22 07:49:13 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 60], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 33, + "favorited": false, + "full_text": "@buitengebieden Bro was fighting hard, but you always lose \ud83d\ude02", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1538274276616306688", + "id_str": "1671787408415760385" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQGJiCADgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671773072746221568", + "sortIndex": "7551618467441954735", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671773072746221568-tweet-1671773072746221568", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671773072746221568", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjIyNzExNzU5OTQ4NzA5OTAz", + "rest_id": "1622711759948709903", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Feb 06 21:40:37 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "\u0f36Discover the profound stories\n\u0f36Explore funny and heartwarming moments\n\u0f36Learn about animal behavior and understand our furry friends", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "theepochtimes.com/c-animals-life", + "expanded_url": "https://www.theepochtimes.com/c-animals-life", + "url": "https://t.co/xRzcf4polO", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 12722, + "followers_count": 12343, + "friends_count": 229, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 43, + "location": "New York", + "media_count": 759, + "name": "Epoch Animal Lovers", + "normal_followers_count": 12343, + "pinned_tweet_ids_str": ["1671494776565420033"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1622711759948709903/1685019460", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1661718161627164673/p-xlon9L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "EP_AnimalLovers", + "statuses_count": 998, + "translator_type": "none", + "url": "https://t.co/xRzcf4polO", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1660206925425041408", + "professional_type": "Creator", + "category": [{ + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671773072746221568"], + "editable_until_msecs": "1687420335000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "13005", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "created_at": "Thu Jun 22 06:52:15 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 82], + "entities": { + "media": [{ + "display_url": "pic.twitter.com/JY8DIBB3JG", + "expanded_url": "https://twitter.com/EP_AnimalLovers/status/1666112712672247808/video/1", + "id_str": "1664943744788103170", + "indices": [59, 82], + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1664943744788103170/pu/img/8NdRmNJ6DEKyzJUg.jpg", + "source_status_id_str": "1666112712672247808", + "source_user_id_str": "1622711759948709903", + "type": "photo", + "url": "https://t.co/JY8DIBB3JG", + "features": {}, + "sizes": { + "large": { + "h": 1080, + "w": 910, + "resize": "fit" + }, + "medium": { + "h": 1080, + "w": 910, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 573, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 910 + } + }], + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "extended_entities": { + "media": [{ + "display_url": "pic.twitter.com/JY8DIBB3JG", + "expanded_url": "https://twitter.com/EP_AnimalLovers/status/1666112712672247808/video/1", + "id_str": "1664943744788103170", + "indices": [59, 82], + "media_key": "7_1664943744788103170", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1664943744788103170/pu/img/8NdRmNJ6DEKyzJUg.jpg", + "source_status_id_str": "1666112712672247808", + "source_user_id_str": "1622711759948709903", + "type": "video", + "url": "https://t.co/JY8DIBB3JG", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjIyNzExNzU5OTQ4NzA5OTAz", + "rest_id": "1622711759948709903", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Feb 06 21:40:37 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "\u0f36Discover the profound stories\n\u0f36Explore funny and heartwarming moments\n\u0f36Learn about animal behavior and understand our furry friends", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [{ + "display_url": "theepochtimes.com/c-animals-life", + "expanded_url": "https://www.theepochtimes.com/c-animals-life", + "url": "https://t.co/xRzcf4polO", + "indices": [0, 23] + }] + } + }, + "fast_followers_count": 0, + "favourites_count": 12722, + "followers_count": 12343, + "friends_count": 229, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 43, + "location": "New York", + "media_count": 759, + "name": "Epoch Animal Lovers", + "normal_followers_count": 12343, + "pinned_tweet_ids_str": ["1671494776565420033"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1622711759948709903/1685019460", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1661718161627164673/p-xlon9L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "EP_AnimalLovers", + "statuses_count": 998, + "translator_type": "none", + "url": "https://t.co/xRzcf4polO", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1660206925425041408", + "professional_type": "Creator", + "category": [{ + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + }] + }, + "business_account": {} + } + } + } + }, + "mediaStats": { + "viewCount": 18545 + }, + "ext_media_availability": { + "status": "Available" + }, + "features": {}, + "sizes": { + "large": { + "h": 1080, + "w": 910, + "resize": "fit" + }, + "medium": { + "h": 1080, + "w": 910, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 573, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 910 + }, + "video_info": { + "aspect_ratio": [91, 108], + "duration_millis": 38015, + "variants": [{ + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1664943744788103170/pu/pl/4AyH4w5O0VCV6sDb.m3u8?tag=12&container=fmp4" + }, { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1664943744788103170/pu/vid/720x854/9gtlykWJPaOBXfhV.mp4?tag=12" + }, { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1664943744788103170/pu/vid/480x568/szGPbXEIcOAsVtyH.mp4?tag=12" + }, { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1664943744788103170/pu/vid/320x378/EmSlQZg_nbRHfn3k.mp4?tag=12" + }] + } + }] + }, + "favorite_count": 102, + "favorited": false, + "full_text": "@buitengebieden When you\u2019re over 50 and the movie starts.. https://t.co/JY8DIBB3JG", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 0, + "retweet_count": 11, + "retweeted": false, + "user_id_str": "1622711759948709903", + "id_str": "1671773072746221568" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFIGJiCBTgAUKAAIAAAAABUBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671755692091359234", + "sortIndex": "7551618467441954725", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671755692091359234-tweet-1671755692091359234", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671755692091359234", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTk3NzAzNTcwNDAwNDE1NzQ1", + "rest_id": "1597703570400415745", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 29 21:29:37 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "I stand up for what I believe in. All opinions are mine, but I\u2019m usually right. My mouth is big and so is my voice\u2026do not push me. \ud83d\ude09", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3724, + "followers_count": 307, + "friends_count": 298, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2, + "location": "Somewhere out there", + "media_count": 165, + "name": "janet", + "normal_followers_count": 307, + "pinned_tweet_ids_str": ["1667263506683514905"], + "possibly_sensitive": true, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1597703570400415745/1681267234", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1645982454442782720/nzD1kh-w_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "janetmjennifer", + "statuses_count": 4385, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1656055235503161348", + "professional_type": "Creator", + "category": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671755692091359234"], + "editable_until_msecs": "1687416191000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "6039", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "created_at": "Thu Jun 22 05:43:11 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 59], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 13, + "favorited": false, + "full_text": "@buitengebieden I have no idea what you\u2019re talking about. \ud83d\ude02", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1597703570400415745", + "id_str": "1671755692091359234" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQGZiCADgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671758733767237636", + "sortIndex": "7551618467441954715", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671758733767237636-tweet-1671758733767237636", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671758733767237636", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDI5OTUyMTY1Njc4NzcyMjQ0", + "rest_id": "1429952165678772244", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 23 23:42:31 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "eat well, work hard, travel around", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 23512, + "followers_count": 2, + "friends_count": 39, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 4, + "location": "Neptune\ud83d\udef8 ", + "media_count": 355, + "name": "Sophia_Uma369", + "normal_followers_count": 2, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1429952165678772244/1632756833", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1642890862844870656/RM1PU1oc_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SophiaUma369", + "statuses_count": 1578, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1640636302260568066", + "professional_type": "Business", + "category": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671758733767237636"], + "editable_until_msecs": "1687416916000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "6068", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "created_at": "Thu Jun 22 05:55:16 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 26], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 3, + "favorited": false, + "full_text": "@buitengebieden \ud83d\ude02\ud83d\ude02\ud83d\ude02\ud83d\ude02\ud83d\ude02\ud83d\ude02\ud83d\ude02\ud83d\ude02\ud83d\ude02\ud83d\ude02", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "qme", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1429952165678772244", + "id_str": "1671758733767237636" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQGBiCADgAUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "conversationthread-1671754566898171904", + "sortIndex": "7551618467441954705", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [{ + "entryId": "conversationthread-1671754566898171904-tweet-1671754566898171904", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1671754566898171904", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDI2NDgzOTA4NTU1MjIzMDQw", + "rest_id": "1026483908555223040", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "legacy": { + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 06 15:03:29 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Always April's mom.\nPhD, CAAB.\nIndependent thinker.\nBite Back was the name of my radio talk show, so curb your enthusiasm for jumping to conclusions.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 47480, + "followers_count": 1942, + "friends_count": 1858, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 29, + "location": "New York, USA", + "media_count": 4951, + "name": "BiteBack", + "normal_followers_count": 1942, + "pinned_tweet_ids_str": ["1670272895002767360"], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1026483908555223040/1620568591", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1623074711335759878/o6BJwPyD_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "IHearTheShofar", + "statuses_count": 86514, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "business_account": {} + } + } + }, + "edit_control": { + "edit_tweet_ids": ["1671754566898171904"], + "editable_until_msecs": "1687415923000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "edit_perspective": { + "favorited": false, + "retweeted": false + }, + "is_translatable": false, + "views": { + "count": "6213", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "created_at": "Thu Jun 22 05:38:43 +0000 2023", + "conversation_id_str": "1671753569412820992", + "display_text_range": [16, 41], + "entities": { + "user_mentions": [{ + "id_str": "1130021685351079938", + "name": "Buitengebieden", + "screen_name": "buitengebieden", + "indices": [0, 15] + }], + "urls": [], + "hashtags": [], + "symbols": [] + }, + "favorite_count": 7, + "favorited": false, + "full_text": "@buitengebieden uh....that'd be over 90 \ud83d\ude44", + "in_reply_to_screen_name": "buitengebieden", + "in_reply_to_status_id_str": "1671753569412820992", + "in_reply_to_user_id_str": "1130021685351079938", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1026483908555223040", + "id_str": "1671754566898171904" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFQGJCCADgBUKAAIAAAAAFEBACAAAAAA=" + } + } + } + } + }, { + "entryId": "conversationthread-1671754566898171904-cursor-showmore-8444777112488329757", + "item": { + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "PAAAAPAtPBwcFoCA0vn6-qGzLhUCAAAYJmNvbnZlcnNhdGlvbnRocmVhZC0xNjcxNzU0NTY2ODk4MTcxOTA0IgAA", + "cursorType": "ShowMore", + "displayTreatment": { + "actionText": "Show replies" + } + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, { + "entryId": "cursor-bottom-1907869723383311964", + "sortIndex": "7551618467441954704", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "bQAAAPAxHBm2hIC-pbq8orMuiIDTxcDto7MugsC97ZSdzbMugIDS-fr6obMugMDS0dy9qLMuiMDSnaP0obMugoC9qcvysBsAUL3F_dnYLQDg1M36mJSjLoLAs4Gkh8obAODQoZKwqrMuJQISFQQAAA", + "cursorType": "Bottom" + } + } + }] + }, { + "type": "TimelineTerminateTimeline", + "direction": "Top" + }] + } + } +} \ No newline at end of file diff --git a/apps/twscrape/tests/mocked-data/raw_followers.json b/apps/twscrape/tests/mocked-data/raw_followers.json new file mode 100644 index 0000000..d2552bb --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_followers.json @@ -0,0 +1,5089 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Bottom" + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "user-236209129", + "sortIndex": "1897829012042940416", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzYyMDkxMjk=", + "rest_id": "236209129", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Jan 10 02:06:34 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "CMO Verizon", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15627, + "followers_count": 127964, + "friends_count": 3873, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 920, + "location": "", + "media_count": 1213, + "name": "Leslie Berland", + "normal_followers_count": 127964, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/236209129/1584385292", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1106274854683074560/x7rrvxaD_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "leslieberland", + "statuses_count": 11673, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "lesliebe" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-338048283", + "sortIndex": "1897829012042940415", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMzgwNDgyODM=", + "rest_id": "338048283", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Jul 19 00:21:48 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Bon Appétit Management Co., on site @Twitter SF -cooking up delicious, 🥦 sustainable food 🍅 from scratch 🍣 to keep you tweeting all day. 🐦", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cafebonappetit.com/twitter", + "expanded_url": "http://www.cafebonappetit.com/twitter", + "url": "https://t.co/1pNBXauxWF", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 11367, + "followers_count": 16314, + "friends_count": 3390, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 142, + "location": "9th & Market Street", + "media_count": 6619, + "name": "bonappetweet", + "normal_followers_count": 16314, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/338048283/1568240671", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1100185923264770048/ehB5qSNw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "bonappetweet", + "statuses_count": 11071, + "translator_type": "regular", + "url": "https://t.co/1pNBXauxWF", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-156417821", + "sortIndex": "1897829012042940414", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTY0MTc4MjE=", + "rest_id": "156417821", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Jun 16 22:16:32 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "🤘🏻. 🌹. 🏋️. 👹. 💻. 🎸. 👶🏻 x 5. 🇨🇦 / 🇺🇸. He/him. #BLM. formerly distinguished eng @twitter", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "medium.com/@mikecvet", + "expanded_url": "http://medium.com/@mikecvet", + "url": "https://t.co/EmlLUvwmur", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 11071, + "followers_count": 13951, + "friends_count": 1138, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 87, + "location": "East Bay, CA", + "media_count": 173, + "name": "Mike Cvet", + "normal_followers_count": 13951, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/156417821/1465617789", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1472684359698157568/MxQaah2n_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "mikecvet", + "statuses_count": 912, + "translator_type": "regular", + "url": "https://t.co/EmlLUvwmur", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-15772978", + "sortIndex": "1897829012042940413", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTc3Mjk3OA==", + "rest_id": "15772978", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Aug 08 02:16:23 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Senior Developer Advocate @elastic // Prev @Twitter // Always 💻 😱🎤@livecodenyc // Noted thought leader on vegan snacks // Makes music as Messica Arson.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 22468, + "followers_count": 6656, + "friends_count": 2779, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 156, + "location": "Brooklyn, NY", + "media_count": 675, + "name": "Jessica Garson", + "normal_followers_count": 6656, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/15772978/1520354408", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1407858685536256008/0Nv7ea1i_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "jessicagarson", + "statuses_count": 7976, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-6844292", + "sortIndex": "1897829012042940412", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2ODQ0Mjky", + "rest_id": "6844292", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jun 16 00:14:36 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Updates from our engineering team", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 306, + "followers_count": 1469993, + "friends_count": 3, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5008, + "location": "San Francisco", + "media_count": 68, + "name": "Engineering", + "normal_followers_count": 1469993, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6844292/1690213191", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683502255574593536/anU7i4uA_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XEng", + "statuses_count": 991, + "translator_type": "regular", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-108209516", + "sortIndex": "1897829012042940411", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDgyMDk1MTY=", + "rest_id": "108209516", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Jan 25 05:56:22 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Early Stage Investor. ⏳ CPO @reshuffleHQ (acquired by @Twitter), VP product Twitch, Slack & Google, Author📚 @OReillyMedia https://t.co/dScSHVU79a", + "entities": { + "description": { + "urls": [ + { + "display_url": "amazon.com/author/amirshe…", + "expanded_url": "http://amazon.com/author/amirshevat", + "url": "https://t.co/dScSHVU79a", + "indices": [ + 122, + 145 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "staging.bsky.app/profile/amir.b…", + "expanded_url": "https://staging.bsky.app/profile/amir.blue", + "url": "https://t.co/zWtpooqVXO", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 24470, + "followers_count": 17588, + "friends_count": 1932, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 466, + "location": "Austin", + "media_count": 1248, + "name": "Amir Shevat", + "normal_followers_count": 17588, + "pinned_tweet_ids_str": [ + "1603552334231097351" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/108209516/1466034572", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1389082761965629442/JhdikLmt_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ashevat", + "statuses_count": 9563, + "translator_type": "none", + "url": "https://t.co/zWtpooqVXO", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1720112673294057682", + "professional_type": "Creator", + "category": [ + { + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-360174510", + "sortIndex": "1897829012042940410", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNjAxNzQ1MTA=", + "rest_id": "360174510", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 22 20:15:21 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Software Engineer - @Netflix - prev @Spotify, @Twitter, @Intel\nHusband & Dad of 2", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 23587, + "followers_count": 6706, + "friends_count": 696, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 47, + "location": "", + "media_count": 451, + "name": "Gerard Taylor", + "normal_followers_count": 6706, + "pinned_tweet_ids_str": [ + "1392274092951228417" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1426913345815425028/fHXLDLP__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TheGerardTaylor", + "statuses_count": 9178, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1544402032555180040", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-27649157", + "sortIndex": "1897829012042940409", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNzY0OTE1Nw==", + "rest_id": "27649157", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Mar 30 14:46:20 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Lucky dad of 2. Lesser-half of @rls2882. Buy the ticket, take the ride.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 17754, + "followers_count": 31865, + "friends_count": 2834, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 139, + "location": "NJ / NYC", + "media_count": 1980, + "name": "Alex Josephson", + "normal_followers_count": 31865, + "pinned_tweet_ids_str": [ + "1719473141712343258" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/27649157/1738456632", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1659764175571238912/dTebjojo_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ajos", + "statuses_count": 8233, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-176425492", + "sortIndex": "1897829012042940408", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzY0MjU0OTI=", + "rest_id": "176425492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Aug 09 14:16:11 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Founder @tiptopjar | prev. @adobe @twitter @apple", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "hamza.com", + "expanded_url": "http://hamza.com", + "url": "https://t.co/9Jd48LIalh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 28456, + "followers_count": 10859, + "friends_count": 5088, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 68, + "location": "nyc", + "media_count": 2181, + "name": "Hamza", + "normal_followers_count": 10859, + "pinned_tweet_ids_str": [ + "1167249725751361537" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/176425492/1672989172", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1846886109331984385/9ApNv9Ar_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "oihamza", + "statuses_count": 7051, + "translator_type": "none", + "url": "https://t.co/9Jd48LIalh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": false, + "cash_app_handle": "hamzaa1" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-857699969263964161", + "sortIndex": "1897829012042940407", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-6506012", + "sortIndex": "1897829012042940406", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2NTA2MDEy", + "rest_id": "6506012", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Jun 01 17:35:22 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Senior Director of Engineering @Yahoo | Angel Investor // 👩🏾💻 Prev: Director of Eng at Spotify, @Twitter, @NYTimes, @ESPN 🇧🇧// USC ❤️💛, JHU 🐦", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "bsky.app/profile/courtn…", + "expanded_url": "https://bsky.app/profile/courtney.tech", + "url": "https://t.co/JHkTdXO2cq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 8897, + "followers_count": 4393, + "friends_count": 2211, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 172, + "location": "Los Angeles, CA", + "media_count": 1513, + "name": "Courtney Ivey", + "normal_followers_count": 4393, + "pinned_tweet_ids_str": [ + "1593490176868683777" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6506012/1670615616", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1601593236794970117/0iV4s9wT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "couturefreak", + "statuses_count": 42053, + "translator_type": "none", + "url": "https://t.co/JHkTdXO2cq", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1467273662478778372", + "professional_type": "Creator", + "category": [ + { + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": false, + "venmo_handle": "mrscourtney-ivey" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-45563099", + "sortIndex": "1897829012042940405", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NTU2MzA5OQ==", + "rest_id": "45563099", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 08 13:23:10 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Software Engineer at Airbnb. Co-creator of @Finatra v2. Frequently walked by @PupCharlotte.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "linkedin.com/in/stevecosenza", + "expanded_url": "https://www.linkedin.com/in/stevecosenza", + "url": "https://t.co/4Vlv7pZ2Jo", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6248, + "followers_count": 928, + "friends_count": 1280, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 31, + "location": "San Diego, CA", + "media_count": 121, + "name": "Steve Cosenza", + "normal_followers_count": 928, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/45563099/1597248243", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1283531898250121216/q6Mb5Hqm_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "scosenza", + "statuses_count": 582, + "translator_type": "regular", + "url": "https://t.co/4Vlv7pZ2Jo", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-37290907", + "sortIndex": "1897829012042940404", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNzI5MDkwNw==", + "rest_id": "37290907", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Halcyon", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1780690596589707264/BUKBFTkn_bigger.png" + }, + "description": "Halcyon", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat May 02 21:48:49 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Building @Halcyon - Vertical AI to help energy executives find alpha⚡️🤓", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "halcyon.eco", + "expanded_url": "https://halcyon.eco", + "url": "https://t.co/Jbn9aQjRGU", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 27850, + "followers_count": 63691, + "friends_count": 3137, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 264, + "location": "San Francisco, CA", + "media_count": 712, + "name": "bruce falck", + "normal_followers_count": 63691, + "pinned_tweet_ids_str": [ + "1890052341807923553" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/37290907/1713455471", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1531718606983114753/j1FxA0Vy_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "boo", + "statuses_count": 8295, + "translator_type": "regular", + "url": "https://t.co/Jbn9aQjRGU", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "brucefalck" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-28628425", + "sortIndex": "1897829012042940403", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyODYyODQyNQ==", + "rest_id": "28628425", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Apr 03 19:06:03 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Mama. Traveler and adventurer. Do-er. Life enthusiast. Foodie. Lover of content. Ex-Developer Platform Lead @twitter", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 11329, + "followers_count": 1641, + "friends_count": 973, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 36, + "location": "New York, NY", + "media_count": 140, + "name": "Sonya Penn", + "normal_followers_count": 1641, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/28628425/1396157856", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1374444613390323722/Za94Qfoj_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SonyaPenn", + "statuses_count": 960, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-49188317", + "sortIndex": "1897829012042940402", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0OTE4ODMxNw==", + "rest_id": "49188317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Jun 21 01:39:26 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Former tweep.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "twitter.com/srw", + "expanded_url": "https://twitter.com/srw", + "url": "https://t.co/EOb50G8WRf", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22606, + "followers_count": 4707, + "friends_count": 1761, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 49, + "location": "127.0.0.1", + "media_count": 2804, + "name": "Seth Wilson", + "normal_followers_count": 4707, + "pinned_tweet_ids_str": [ + "1609361179205599233" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/49188317/1405438233", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1367523060551585797/r_YDF1jd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "srw", + "statuses_count": 11007, + "translator_type": "regular", + "url": "https://t.co/EOb50G8WRf", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-56057876", + "sortIndex": "1897829012042940401", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NjA1Nzg3Ng==", + "rest_id": "56057876", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Jul 12 09:29:19 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "I used to spend most of my time here, for work and for fun . Web developer. 🚴♂️🏂🧀🥖🍷", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "bsky.app/profile/vjo.bs…", + "expanded_url": "https://bsky.app/profile/vjo.bsky.social", + "url": "https://t.co/KlgQaF87Xf", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 48660, + "followers_count": 2738, + "friends_count": 1471, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 115, + "location": "🇨🇭", + "media_count": 1805, + "name": "Victor 🦋", + "normal_followers_count": 2738, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/56057876/1550239018", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1108698010777776129/Wv4U-9eQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "vjo", + "statuses_count": 15597, + "translator_type": "regular", + "url": "https://t.co/KlgQaF87Xf", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1437521085126295557", + "professional_type": "Creator", + "category": [ + { + "id": 226, + "name": "Cheese Shop", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "cash_app_handle": "VictorJolissaint" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1434172202404880388", + "sortIndex": "1897829012042940400", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDM0MTcyMjAyNDA0ODgwMzg4", + "rest_id": "1434172202404880388", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Sep 04 15:11:51 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "NFT trader on base and Ethereum Blockchain 🔥🔥( dm for collab) Anoma Gnoma (🧙♂️,🧙♂️)bao bao 🐼", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2697, + "followers_count": 1067, + "friends_count": 6749, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 25, + "location": "", + "media_count": 184, + "name": "glitch(✸,✸)Gnoma (Ø,G)", + "normal_followers_count": 1067, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1434172202404880388/1698349353", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1843556946441580545/ONyEGUqp_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "glitch010110", + "statuses_count": 9423, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-17200003", + "sortIndex": "1897829012042940399", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzIwMDAwMw==", + "rest_id": "17200003", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Nov 05 23:06:37 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "family, travel, urban farming, photography, coding, rain, snow, flood early-warning systems. From MN, live in CO. #DevRel @Twitter and @Tinybird", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "snowman.bsky.social", + "expanded_url": "https://snowman.bsky.social", + "url": "https://t.co/e5TjK4oDV9", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 7893, + "followers_count": 2465, + "friends_count": 725, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 47, + "location": "MN ⇨ all over ⇨ CO", + "media_count": 757, + "name": "snowman in most places", + "normal_followers_count": 2465, + "pinned_tweet_ids_str": [ + "1850978443875537286" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17200003/1537472837", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/697445972402540546/2CYK3PWX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "snowman", + "statuses_count": 4552, + "translator_type": "regular", + "url": "https://t.co/e5TjK4oDV9", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1521886637893976065", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-951689171139141632", + "sortIndex": "1897829012042940398", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5NTE2ODkxNzExMzkxNDE2MzI=", + "rest_id": "951689171139141632", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Jan 12 05:35:54 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "SDE @JPMorganChase || ex @Flipkart || ex @Walmart || Alumni @IGDTUW || Rants, my own ! Send your messages here 👉🏻https://t.co/cFLOQ6ATFn", + "entities": { + "description": { + "urls": [ + { + "display_url": "ngl.link/meowandherhoom…", + "expanded_url": "https://ngl.link/meowandherhooman2", + "url": "https://t.co/cFLOQ6ATFn", + "indices": [ + 113, + 136 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "linkedin.com/in/jashpreet-m…", + "expanded_url": "https://www.linkedin.com/in/jashpreet-malhotra/", + "url": "https://t.co/QvJnf2Zp25", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 13747, + "followers_count": 7841, + "friends_count": 459, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8, + "location": "", + "media_count": 548, + "name": "Jashpreet Malhotra", + "normal_followers_count": 7841, + "pinned_tweet_ids_str": [ + "1427595092387254272" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1853426453016092672/fAWuKiel_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "jashpreett", + "statuses_count": 3610, + "translator_type": "none", + "url": "https://t.co/QvJnf2Zp25", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-181944946", + "sortIndex": "1897829012042940397", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODE5NDQ5NDY=", + "rest_id": "181944946", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Aug 23 12:49:38 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Software engineer that loves fishing! Thread account: @jianhang_gao", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1231, + "followers_count": 1313, + "friends_count": 502, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 17, + "location": "Fremont, CA", + "media_count": 170, + "name": "James Gao", + "normal_followers_count": 1313, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/181944946/1426093438", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1598397785543303168/XGweqo27_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "jianhangg", + "statuses_count": 1201, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1456030014873292803", + "professional_type": "Creator", + "category": [ + { + "id": 804, + "name": "Fishing Store", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1577731798410432541", + "sortIndex": "1897829012042940396", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTc3NzMxNzk4NDEwNDMyNTQx", + "rest_id": "1577731798410432541", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Oct 05 18:46:24 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Talking stuff", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1407, + "followers_count": 48, + "friends_count": 74, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Marshall", + "normal_followers_count": 48, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1577731798410432541/1738036397", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1884087323450556416/XwXSgQBT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "cavaleirovids", + "statuses_count": 13, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1581339801567088641", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1522423534617866241", + "sortIndex": "1897829012042940395", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTIyNDIzNTM0NjE3ODY2MjQx", + "rest_id": "1522423534617866241", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri May 06 03:50:56 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "🌺 – ❤ We Won --❤ -- 2 0 2 4 -- 💗 🤍 💙 \n░░▀█▀░█▀█░█░░█░█▄░▄█░█▀█░░ \n░░░█░░██▀░█░░█░█░▀░█░█▀▀░░ \n░░░█░░█░█░█▄▄█░█░░░█░█░░░░🌷🌷\n 🌺 2024 💗", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 38059, + "followers_count": 4163, + "friends_count": 7150, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "Dallas, TX USA", + "media_count": 2320, + "name": "Kimmie Nguyen", + "normal_followers_count": 4163, + "pinned_tweet_ids_str": [ + "1897169492180132065" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1522423534617866241/1740809849", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1890636196654587904/BTTOTAY8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KimmieNguyen817", + "statuses_count": 11543, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1362754507042672640", + "sortIndex": "1897829012042940394", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzYyNzU0NTA3MDQyNjcyNjQw", + "rest_id": "1362754507042672640", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Feb 19 13:22:59 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12, + "followers_count": 0, + "friends_count": 34, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "Galesburg, IL", + "media_count": 0, + "name": "Brooklynne Tabb", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1362754507042672640/1718744169", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1803169525141032961/v1ZRXcC0_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "B58326087", + "statuses_count": 8, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-493739346", + "sortIndex": "1897829012042940393", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0OTM3MzkzNDY=", + "rest_id": "493739346", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Feb 16 04:09:20 +0000 2012", + "default_profile": true, + "default_profile_image": true, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15, + "followers_count": 2, + "friends_count": 61, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "wildeagle1972", + "normal_followers_count": 2, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", + "profile_interstitial_type": "", + "screen_name": "wildeagle1972", + "statuses_count": 2, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1897824585405677570", + "sortIndex": "1897829012042940392", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk3ODI0NTg1NDA1Njc3NTcw", + "rest_id": "1897824585405677570", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 07 01:40:49 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "kozmos.tips", + "expanded_url": "https://kozmos.tips", + "url": "https://t.co/jsfaMeFXL0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 0, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "kozmos.tips", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897826651431460864/2n5GuBBf_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KozmosTips", + "statuses_count": 0, + "translator_type": "none", + "url": "https://t.co/jsfaMeFXL0", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1650723145", + "sortIndex": "1897829012042940391", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjUwNzIzMTQ1", + "rest_id": "1650723145", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 06 16:24:39 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Share your opinion and status of life here | Ex-Doctor | Love of Freedom | Travel | Entrepreneur", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 11, + "followers_count": 3, + "friends_count": 22, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "CA", + "media_count": 1, + "name": "Nia Angela", + "normal_followers_count": 3, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1650723145/1741311283", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897822968106962944/iIZwon2M_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JulioKarime", + "statuses_count": 10, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889646398574043138", + "sortIndex": "1897829012042940390", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5NjQ2Mzk4NTc0MDQzMTM4", + "rest_id": "1889646398574043138", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 12 12:03:09 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 48, + "followers_count": 2, + "friends_count": 44, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "dasfadfsadf", + "normal_followers_count": 2, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889646496972410880/K1bxJca6_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "dasfadfsad75089", + "statuses_count": 1, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889635607858782209", + "sortIndex": "1897829012042940389", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5NjM1NjA3ODU4NzgyMjA5", + "rest_id": "1889635607858782209", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 12 11:20:17 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 44, + "followers_count": 0, + "friends_count": 45, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "fgdggghgjj", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889635725882294272/Yo9DXlV2_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "fgdggghgjj84471", + "statuses_count": 1, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889954777569828864", + "sortIndex": "1897829012042940388", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5OTU0Nzc3NTY5ODI4ODY0", + "rest_id": "1889954777569828864", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Feb 13 08:28:59 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "Cool as a cucumber, sharp as a tack.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 50, + "followers_count": 26, + "friends_count": 110, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Retro Rebel", + "normal_followers_count": 26, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1889954777569828864/1740038564", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1891140301689163776/W7miM0Qs_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "a64204268948", + "statuses_count": 9, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889580992907845632", + "sortIndex": "1897829012042940387", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5NTgwOTkyOTA3ODQ1NjMy", + "rest_id": "1889580992907845632", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 12 07:43:16 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 57, + "followers_count": 0, + "friends_count": 53, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "wefdsfdsf", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889581075615109120/Cq4KfT9J_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "wefdsfdsf191585", + "statuses_count": 1, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889580238692339712", + "sortIndex": "1897829012042940386", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5NTgwMjM4NjkyMzM5NzEy", + "rest_id": "1889580238692339712", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 12 07:40:16 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 51, + "followers_count": 1, + "friends_count": 53, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "gfdstgrtre", + "normal_followers_count": 1, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889580321747902464/OKVAZHA6_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "gfdstgrtre46242", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889577062458957824", + "sortIndex": "1897829012042940385", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5NTc3MDYyNDU4OTU3ODI0", + "rest_id": "1889577062458957824", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 12 07:27:40 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 58, + "followers_count": 0, + "friends_count": 52, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "fwetrtret", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889577151172636672/I-1pLDer_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "hghgjklkj", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889562565048774656", + "sortIndex": "1897829012042940384", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5NTYyNTY1MDQ4Nzc0NjU2", + "rest_id": "1889562565048774656", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 12 06:30:02 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 58, + "followers_count": 1, + "friends_count": 53, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "fdfsdfgsdfgdf", + "normal_followers_count": 1, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889562649274490880/dHYQkcDT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "bvnjhjhgjfk", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-107852912", + "sortIndex": "1897829012042940383", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDc4NTI5MTI=", + "rest_id": "107852912", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Jan 24 00:08:38 +0000 2010", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 6013, + "followers_count": 211, + "friends_count": 360, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "", + "media_count": 32, + "name": "Habib Cure", + "normal_followers_count": 211, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1679080639864135681/rWTimhrb_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "HabibCure", + "statuses_count": 5056, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1875639456859881472", + "sortIndex": "1897829012042940382", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODc1NjM5NDU2ODU5ODgxNDcy", + "rest_id": "1875639456859881472", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jan 04 20:25:24 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 5, + "followers_count": 1, + "friends_count": 12, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 1, + "name": "Grant Tuseth", + "normal_followers_count": 1, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1875639691417980928/n4Qqw9BV_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TusethGrant", + "statuses_count": 3, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1886817307433033730", + "sortIndex": "1897829012042940381", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg2ODE3MzA3NDMzMDMzNzMw", + "rest_id": "1886817307433033730", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Feb 04 16:41:23 +0000 2025", + "default_profile": true, + "default_profile_image": true, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 118, + "followers_count": 6, + "friends_count": 169, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "yukino", + "normal_followers_count": 6, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", + "profile_interstitial_type": "", + "screen_name": "i1rcfx13149", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1437254816", + "sortIndex": "1897829012042940380", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDM3MjU0ODE2", + "rest_id": "1437254816", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat May 18 02:55:05 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 1, + "friends_count": 13, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Асанов", + "normal_followers_count": 1, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1892062093626454017/xAUe1Mlr_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "eqfdu16849597", + "statuses_count": 4, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889674155232296960", + "sortIndex": "1897829012042940379", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5Njc0MTU1MjMyMjk2OTYw", + "rest_id": "1889674155232296960", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 12 13:53:56 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 54, + "followers_count": 0, + "friends_count": 60, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "fsdgsdfgsfg", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889674373822554114/L1bK4kyI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "fsdgsdfgsf37401", + "statuses_count": 3, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1886964092621209600", + "sortIndex": "1897829012042940378", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg2OTY0MDkyNjIxMjA5NjAw", + "rest_id": "1886964092621209600", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 05 02:24:57 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 13, + "friends_count": 303, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Fernando duran haros", + "normal_followers_count": 13, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1886964197260713986/sF_b3Lwn_normal.png", + "profile_interstitial_type": "", + "screen_name": "fer_211716", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1391183203218731008", + "sortIndex": "1897829012042940377", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzkxMTgzMjAzMjE4NzMxMDA4", + "rest_id": "1391183203218731008", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun May 09 00:08:57 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12229, + "followers_count": 350, + "friends_count": 1651, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 4, + "location": "", + "media_count": 0, + "name": "howard corrigan", + "normal_followers_count": 350, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1391183604487761923/t5g0wiG8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "howard_corrigan", + "statuses_count": 7837, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1638335264333393920", + "sortIndex": "1897829012042940376", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjM4MzM1MjY0MzMzMzkzOTIw", + "rest_id": "1638335264333393920", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Mar 22 00:23:15 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Software developer, nerd, geek and baseball and college football fan, proudly not gay.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 374, + "followers_count": 125, + "friends_count": 138, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "South Carolina, USA", + "media_count": 8, + "name": "Damon DeCoste", + "normal_followers_count": 125, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1638335264333393920/1679444768", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1638336105144635394/31Jhm37-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DamonDecoste", + "statuses_count": 227, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1186928643655847937", + "sortIndex": "1897829012042940375", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTg2OTI4NjQzNjU1ODQ3OTM3", + "rest_id": "1186928643655847937", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Oct 23 08:54:07 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1566, + "followers_count": 230, + "friends_count": 452, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 6, + "name": "Henry Amos", + "normal_followers_count": 230, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1450277394577862658/-WohmBpx_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Kwesi_Amos21", + "statuses_count": 214, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2368878901", + "sortIndex": "1897829012042940374", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzY4ODc4OTAx", + "rest_id": "2368878901", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Mar 02 13:21:16 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "Living in USA Free Women, aspiring to a better life.\nTraveling is my great passion, love beaches and waves all over the world!✈️🌊👙", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "aliceandolivia.com", + "expanded_url": "http://www.aliceandolivia.com", + "url": "https://t.co/VLJttx9Y1T", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 8206, + "followers_count": 252, + "friends_count": 7, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "Houston, Texas", + "media_count": 42, + "name": "Seraphina.Jankauskas", + "normal_followers_count": 252, + "pinned_tweet_ids_str": [ + "1897812332681871671" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2368878901/1740946958", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1896295093990248448/pT7KqIzP_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "M_otoymknd", + "statuses_count": 936, + "translator_type": "none", + "url": "https://t.co/VLJttx9Y1T", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-3990219783", + "sortIndex": "1897829012042940373", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozOTkwMjE5Nzgz", + "rest_id": "3990219783", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Oct 18 22:58:20 +0000 2015", + "default_profile": true, + "default_profile_image": false, + "description": "Desbloqueado a pouco tempo, recomeçando...", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3711, + "followers_count": 574, + "friends_count": 1568, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 27, + "name": "fabiovinhado", + "normal_followers_count": 574, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3990219783/1734056434", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1787706247589830656/o37G6G7F_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "fabiovinhado2", + "statuses_count": 763, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1580299583778947073", + "sortIndex": "1897829012042940372", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTgwMjk5NTgzNzc4OTQ3MDcz", + "rest_id": "1580299583778947073", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Oct 12 20:49:41 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "𝚂𝚘𝚏𝚝𝚠𝚊𝚛𝚎 𝙳𝚎𝚟𝚎𝚕𝚘𝚙𝚎𝚛 🇦🇱 🇽🇰 \n𝙹𝚞𝚜𝚝 𝙽𝚒𝚌𝚎\n操̐̔̚你̔̚͝", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 254, + "followers_count": 106, + "friends_count": 164, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "𝚛𝚎𝚝𝚞𝚛𝚗 me", + "media_count": 24, + "name": "Festim", + "normal_followers_count": 106, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1580299583778947073/1740935814", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1896243917361668096/o4SL3-B5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Festim1337", + "statuses_count": 523, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1815528187423846512", + "professional_type": "Creator", + "category": [ + { + "id": 986, + "name": "Software Application", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2170741034", + "sortIndex": "1897829012042940371", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTcwNzQxMDM0", + "rest_id": "2170741034", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Nov 02 18:42:19 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 52315, + "followers_count": 258, + "friends_count": 859, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "Piriapolis, Uruguay. ", + "media_count": 160, + "name": "Ángel Machado", + "normal_followers_count": 258, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2170741034/1652151888", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1233981601832488960/_wR8NIMx_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AngelMachado07", + "statuses_count": 2243, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1752934593223708672", + "sortIndex": "1897829012042940370", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzUyOTM0NTkzMjIzNzA4Njcy", + "rest_id": "1752934593223708672", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Feb 01 05:59:43 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "UI/UX Designer", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 23, + "followers_count": 8, + "friends_count": 44, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 6, + "name": "Wonder Kportiklah", + "normal_followers_count": 8, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1752934593223708672/1740958830", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1752935440888262659/-3G8v1Uz_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "WKportiklah", + "statuses_count": 6, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1896345097261744638", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1889873127913472002", + "sortIndex": "1897829012042940369", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODg5ODczMTI3OTEzNDcyMDAy", + "rest_id": "1889873127913472002", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Feb 13 03:04:06 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 50, + "followers_count": 0, + "friends_count": 49, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "rfewtrettr", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889873220502753280/bGN_eUbX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "rfewtrettr63436", + "statuses_count": 1, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1867051938677919749", + "sortIndex": "1897829012042940368", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODY3MDUxOTM4Njc3OTE5NzQ5", + "rest_id": "1867051938677919749", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Dec 12 03:40:57 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15, + "followers_count": 0, + "friends_count": 10, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "MMA Group", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1867051994172755969/n5V2Ni77_normal.png", + "profile_interstitial_type": "", + "screen_name": "MMA_Edu_Group", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1627137661151645696", + "sortIndex": "1897829012042940367", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjI3MTM3NjYxMTUxNjQ1Njk2", + "rest_id": "1627137661151645696", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Feb 19 02:47:21 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Jesus is the only way. Please no porn or DM's . Thank you. GOD Bless you all in Jesus name. AMEN.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 50007, + "followers_count": 1493, + "friends_count": 4271, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "David Slawter", + "normal_followers_count": 1493, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1627137661151645696/1706336571", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1751128610059198464/jPWV6kkn_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "slawter_david", + "statuses_count": 46864, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1835771146085527553", + "sortIndex": "1897829012042940366", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODM1NzcxMTQ2MDg1NTI3NTUz", + "rest_id": "1835771146085527553", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Sep 16 20:02:21 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "A nerd trying to post major latest news", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "bsky.app/profile/houseo…", + "expanded_url": "https://bsky.app/profile/houseofpopculture.bsky.social", + "url": "https://t.co/HCO3RNrLbs", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 0, + "friends_count": 53, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 36, + "name": "House of Pop Culture", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [ + "1858227072352632969" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1835771146085527553/1731747804", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1857711045105561600/Yil9m64p_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "HousePopCulture", + "statuses_count": 39, + "translator_type": "none", + "url": "https://t.co/HCO3RNrLbs", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1835773010210365721", + "professional_type": "Creator", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-713219384844484609", + "sortIndex": "1897829012042940365", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3MTMyMTkzODQ4NDQ0ODQ2MDk=", + "rest_id": "713219384844484609", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 25 04:22:07 +0000 2016", + "default_profile": true, + "default_profile_image": false, + "description": "The 7-G Ranch LLC, has upheld a 130-year tradition of excellence. Our beef is carefully raised to ensure it meets our high standards for quality & taste.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "7gbeef.com", + "expanded_url": "http://7gbeef.com", + "url": "https://t.co/di4nvyVAh9", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1092, + "followers_count": 262, + "friends_count": 583, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "Antlers Oklahoma ", + "media_count": 6, + "name": "7-G Ranch Beef", + "normal_followers_count": 262, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/713219384844484609/1741288402", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897727907557945344/LlMw0CzY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "7gRanchBeef", + "statuses_count": 277, + "translator_type": "none", + "url": "https://t.co/di4nvyVAh9", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1667963704673988616", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1897800248057020417", + "sortIndex": "1897829012042940364", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk3ODAwMjQ4MDU3MDIwNDE3", + "rest_id": "1897800248057020417", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 07 00:03:53 +0000 2025", + "default_profile": true, + "default_profile_image": true, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 0, + "friends_count": 41, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Duke_Javier", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", + "profile_interstitial_type": "", + "screen_name": "DukeMerinogonz", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1897800406895386624", + "sortIndex": "1897829012042940363", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk3ODAwNDA2ODk1Mzg2NjI0", + "rest_id": "1897800406895386624", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 07 00:04:31 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 0, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "tikmoney machine", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897800492283260928/JAk2f5L6_normal.png", + "profile_interstitial_type": "", + "screen_name": "TikmoneyM", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1260786171585507328", + "sortIndex": "1897829012042940362", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjYwNzg2MTcxNTg1NTA3MzI4", + "rest_id": "1260786171585507328", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu May 14 04:18:28 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 4095, + "followers_count": 337, + "friends_count": 1345, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 4, + "name": "Christina M", + "normal_followers_count": 337, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1260786171585507328/1607051039", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1260788433238192129/A3tvvDx7_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MckinnisPublic", + "statuses_count": 924, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2249236128", + "sortIndex": "1897829012042940361", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ5MjM2MTI4", + "rest_id": "2249236128", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Dec 16 19:56:13 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 895, + "followers_count": 88, + "friends_count": 1609, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "", + "media_count": 27, + "name": "LaloInc🏳️", + "normal_followers_count": 88, + "pinned_tweet_ids_str": [ + "1258977471581560833" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2249236128/1739995030", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1860823387171368961/zq5RrrwR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "laloinc9", + "statuses_count": 5808, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1897787569842032640", + "sortIndex": "1897829012042940360", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk3Nzg3NTY5ODQyMDMyNjQw", + "rest_id": "1897787569842032640", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Mar 06 23:13:26 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "he/him | funny little account of things, mainly non-serious | dm for private | https://t.co/TRT6KAkXia", + "entities": { + "description": { + "urls": [ + { + "display_url": "purpleously.bsky.social", + "expanded_url": "http://purpleously.bsky.social", + "url": "https://t.co/TRT6KAkXia", + "indices": [ + 79, + 102 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "minor.com", + "expanded_url": "http://minor.com", + "url": "https://t.co/6FN72OpKr6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1, + "followers_count": 0, + "friends_count": 211, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "United Kingdom", + "media_count": 0, + "name": "purpl655sly", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1897787569842032640/1741305357", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897798174758113280/s8CDTW1W_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "purpl655sly", + "statuses_count": 1, + "translator_type": "none", + "url": "https://t.co/6FN72OpKr6", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1155827103436365830", + "sortIndex": "1897829012042940359", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTU1ODI3MTAzNDM2MzY1ODMw", + "rest_id": "1155827103436365830", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 29 13:07:10 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 62, + "followers_count": 7, + "friends_count": 34, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Arnaud Gay", + "normal_followers_count": 7, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1155827103436365830/1564406575", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1155827391769579521/DpJUWrNG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "gay_arnaud", + "statuses_count": 74, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1873477491240624128", + "sortIndex": "1897829012042940358", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODczNDc3NDkxMjQwNjI0MTI4", + "rest_id": "1873477491240624128", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Dec 29 21:13:46 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 821, + "followers_count": 73, + "friends_count": 572, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Omer yousuf", + "normal_followers_count": 73, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1875315940214165504/7nUfuBim_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "omeryousuf69", + "statuses_count": 44, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2552793763", + "sortIndex": "1897829012042940357", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTUyNzkzNzYz", + "rest_id": "2552793763", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jun 07 15:06:48 +0000 2014", + "default_profile": true, + "default_profile_image": true, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1, + "followers_count": 2, + "friends_count": 7, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "バッジョ", + "normal_followers_count": 2, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", + "profile_interstitial_type": "", + "screen_name": "204gBaggio", + "statuses_count": 5, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-891112434320240640", + "sortIndex": "1897829012042940356", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4OTExMTI0MzQzMjAyNDA2NDA=", + "rest_id": "891112434320240640", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jul 29 01:45:35 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "逝将去汝,适彼乐土", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3965, + "followers_count": 711, + "friends_count": 763, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2, + "location": "香港", + "media_count": 131, + "name": "逝将去汝适彼乐土", + "normal_followers_count": 711, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/891112434320240640/1656254512", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1500225350957088768/0d6V8x_7_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "xieyuxing008", + "statuses_count": 3143, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1768328097554927617", + "sortIndex": "1897829012042940355", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzY4MzI4MDk3NTU0OTI3NjE3", + "rest_id": "1768328097554927617", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Mar 14 17:27:56 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1, + "followers_count": 0, + "friends_count": 34, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Mohamed Aashik Faizee", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1768328221978984449/2_kslDVx_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "aashik_faizee", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-3104883457", + "sortIndex": "1897829012042940354", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMTA0ODgzNDU3", + "rest_id": "3104883457", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Mar 23 13:23:54 +0000 2015", + "default_profile": true, + "default_profile_image": true, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 0, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "D", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://abs.twimg.com/sticky/default_profile_images/default_profile_normal.png", + "profile_interstitial_type": "", + "screen_name": "dashawn1743_d", + "statuses_count": 2, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1894445200598339586", + "sortIndex": "1897829012042940353", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk0NDQ1MjAwNTk4MzM5NTg2", + "rest_id": "1894445200598339586", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Feb 25 17:52:47 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 19, + "followers_count": 0, + "friends_count": 2, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Ahmadreza J.J", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1894445452009115651/_QrTIm9T_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JAhmadreza53241", + "statuses_count": 2, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1897788378663534592", + "sortIndex": "1897829012042940352", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk3Nzg4Mzc4NjYzNTM0NTky", + "rest_id": "1897788378663534592", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Mar 06 23:16:44 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "I enjoy all kinds of things. Continual learning is the best lesson life can provide and I intend to take full advantage of it.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2, + "followers_count": 0, + "friends_count": 13, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Isabella Carter", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1897788378663534592/1741308046", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897809474179551232/gHforXzp_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "realisabella1", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1700186181164503040", + "sortIndex": "1897829012042940351", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzAwMTg2MTgxMTY0NTAzMDQw", + "rest_id": "1700186181164503040", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Sep 08 16:35:56 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Account Supervisor @ Haymaker Group", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 9, + "followers_count": 2, + "friends_count": 66, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "New York", + "media_count": 0, + "name": "lizzie penna", + "normal_followers_count": 2, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1700186181164503040/1723480142", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1823033353961979905/5S1E2VO6_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PennaLizzie", + "statuses_count": 1, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1823033636586709353", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1822316940779454464", + "sortIndex": "1897829012042940350", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODIyMzE2OTQwNzc5NDU0NDY0", + "rest_id": "1822316940779454464", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Aug 10 17:00:19 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "Art and history connect us to those who came before—every painting, every moment has a story.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "facebook.com/share/1AGFwLj7…", + "expanded_url": "https://www.facebook.com/share/1AGFwLj7FX/", + "url": "https://t.co/rZaJSo0apj", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2286, + "followers_count": 531, + "friends_count": 14, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "Galveston, TX", + "media_count": 148, + "name": "Marcus Shaw", + "normal_followers_count": 531, + "pinned_tweet_ids_str": [ + "1893386767971004885" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1822316940779454464/1724060943", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1836938291158859776/y1yBr2tX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Marcus_X_Shaw", + "statuses_count": 295, + "translator_type": "none", + "url": "https://t.co/rZaJSo0apj", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1825469844780695761", + "professional_type": "Creator", + "category": [ + { + "id": 15, + "name": "Entertainment & Recreation", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1857879727845027840", + "sortIndex": "1897829012042940349", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODU3ODc5NzI3ODQ1MDI3ODQw", + "rest_id": "1857879727845027840", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Nov 16 20:14:17 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "$dog on #runes", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 6953, + "followers_count": 338, + "friends_count": 598, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 56, + "name": "DogBrazil", + "normal_followers_count": 338, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1857880548087078912/3WljAVI0_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "leonidasdog100b", + "statuses_count": 4605, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1857885640370827299", + "professional_type": "Creator", + "category": [ + { + "id": 15, + "name": "Entertainment & Recreation", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1897785559893901313", + "sortIndex": "1897829012042940348", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk3Nzg1NTU5ODkzOTAxMzEz", + "rest_id": "1897785559893901313", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Mar 06 23:05:34 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1, + "followers_count": 0, + "friends_count": 4, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Gerald the freat", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897785659089174528/uM925cYh_normal.png", + "profile_interstitial_type": "", + "screen_name": "freat_the30134", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1616659770403872768", + "sortIndex": "1897829012042940347", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjE2NjU5NzcwNDAzODcyNzY4", + "rest_id": "1616659770403872768", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jan 21 04:52:10 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 11460, + "followers_count": 93, + "friends_count": 57, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "michaelhudspeth", + "normal_followers_count": 93, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1616659898602856451/4nVC0rWl_normal.png", + "profile_interstitial_type": "", + "screen_name": "michael23450249", + "statuses_count": 109, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "cursor-bottom-1897829012042940346", + "sortIndex": "1897829012042940346", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "1825887849771891111|1897829012042940344", + "cursorType": "Bottom" + } + }, + { + "entryId": "cursor-top-1897829012042940417", + "sortIndex": "1897829012042940417", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "-1|1897829012042940417", + "cursorType": "Top" + } + } + ] + } + ] + } + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_following.json b/apps/twscrape/tests/mocked-data/raw_following.json new file mode 100644 index 0000000..ebee55f --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_following.json @@ -0,0 +1,5174 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Bottom" + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "user-236209129", + "sortIndex": "1897829006456127488", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzYyMDkxMjk=", + "rest_id": "236209129", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Jan 10 02:06:34 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "CMO Verizon", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15627, + "followers_count": 127964, + "friends_count": 3873, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 920, + "location": "", + "media_count": 1213, + "name": "Leslie Berland", + "normal_followers_count": 127964, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/236209129/1584385292", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1106274854683074560/x7rrvxaD_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "leslieberland", + "statuses_count": 11673, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "lesliebe" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-156417821", + "sortIndex": "1897829006456127487", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTY0MTc4MjE=", + "rest_id": "156417821", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Jun 16 22:16:32 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "🤘🏻. 🌹. 🏋️. 👹. 💻. 🎸. 👶🏻 x 5. 🇨🇦 / 🇺🇸. He/him. #BLM. formerly distinguished eng @twitter", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "medium.com/@mikecvet", + "expanded_url": "http://medium.com/@mikecvet", + "url": "https://t.co/EmlLUvwmur", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 11071, + "followers_count": 13951, + "friends_count": 1138, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 87, + "location": "East Bay, CA", + "media_count": 173, + "name": "Mike Cvet", + "normal_followers_count": 13951, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/156417821/1465617789", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1472684359698157568/MxQaah2n_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "mikecvet", + "statuses_count": 912, + "translator_type": "regular", + "url": "https://t.co/EmlLUvwmur", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-6844292", + "sortIndex": "1897829006456127486", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2ODQ0Mjky", + "rest_id": "6844292", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jun 16 00:14:36 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Updates from our engineering team", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 306, + "followers_count": 1469993, + "friends_count": 3, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5008, + "location": "San Francisco", + "media_count": 68, + "name": "Engineering", + "normal_followers_count": 1469993, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6844292/1690213191", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683502255574593536/anU7i4uA_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XEng", + "statuses_count": 991, + "translator_type": "regular", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-176425492", + "sortIndex": "1897829006456127485", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzY0MjU0OTI=", + "rest_id": "176425492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Aug 09 14:16:11 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Founder @tiptopjar | prev. @adobe @twitter @apple", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "hamza.com", + "expanded_url": "http://hamza.com", + "url": "https://t.co/9Jd48LIalh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 28456, + "followers_count": 10859, + "friends_count": 5088, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 68, + "location": "nyc", + "media_count": 2181, + "name": "Hamza", + "normal_followers_count": 10859, + "pinned_tweet_ids_str": [ + "1167249725751361537" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/176425492/1672989172", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1846886109331984385/9ApNv9Ar_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "oihamza", + "statuses_count": 7051, + "translator_type": "none", + "url": "https://t.co/9Jd48LIalh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": false, + "cash_app_handle": "hamzaa1" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-857699969263964161", + "sortIndex": "1897829006456127484", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-14897303", + "sortIndex": "1897829006456127483", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDg5NzMwMw==", + "rest_id": "14897303", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun May 25 08:06:34 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "ex head of product @ Twitter. co-founder / ceo @ Periscope", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "intro.co/kayvon", + "expanded_url": "http://intro.co/kayvon", + "url": "https://t.co/rUmp48P58J", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25709, + "followers_count": 105322, + "friends_count": 2975, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1242, + "location": "San Francisco", + "media_count": 882, + "name": "Kayvon Beykpour", + "normal_followers_count": 105322, + "pinned_tweet_ids_str": [ + "1626267128964988928" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/14897303/1480485887", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1586904993302396928/TiFFahKK_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "kayvz", + "statuses_count": 8930, + "translator_type": "regular", + "url": "https://t.co/rUmp48P58J", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "cash_app_handle": "kayvon" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-28628425", + "sortIndex": "1897829006456127482", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyODYyODQyNQ==", + "rest_id": "28628425", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Apr 03 19:06:03 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Mama. Traveler and adventurer. Do-er. Life enthusiast. Foodie. Lover of content. Ex-Developer Platform Lead @twitter", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 11329, + "followers_count": 1641, + "friends_count": 973, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 36, + "location": "New York, NY", + "media_count": 140, + "name": "Sonya Penn", + "normal_followers_count": 1641, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/28628425/1396157856", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1374444613390323722/Za94Qfoj_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SonyaPenn", + "statuses_count": 960, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-49188317", + "sortIndex": "1897829006456127481", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0OTE4ODMxNw==", + "rest_id": "49188317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Jun 21 01:39:26 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Former tweep.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "twitter.com/srw", + "expanded_url": "https://twitter.com/srw", + "url": "https://t.co/EOb50G8WRf", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22606, + "followers_count": 4707, + "friends_count": 1761, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 49, + "location": "127.0.0.1", + "media_count": 2804, + "name": "Seth Wilson", + "normal_followers_count": 4707, + "pinned_tweet_ids_str": [ + "1609361179205599233" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/49188317/1405438233", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1367523060551585797/r_YDF1jd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "srw", + "statuses_count": 11007, + "translator_type": "regular", + "url": "https://t.co/EOb50G8WRf", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-21266829", + "sortIndex": "1897829006456127480", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTI2NjgyOQ==", + "rest_id": "21266829", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Feb 19 02:10:15 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Comms @OpenAI // Previously @headlinevc @Twitter 1.0 @PublicisGroupe Paris // Loves a good apéro", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 28380, + "followers_count": 4838, + "friends_count": 2300, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 81, + "location": "🇫🇷 🇺🇸", + "media_count": 723, + "name": "Lindsay McCallum Rémy", + "normal_followers_count": 4838, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/21266829/1656047587", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1306765504900669440/30BqQ7vy_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "lindsmccallum", + "statuses_count": 8033, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": false + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-199566737", + "sortIndex": "1897829006456127479", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTk1NjY3Mzc=", + "rest_id": "199566737", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Oct 07 05:36:28 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "dev and human success :: @0xholonym + @humnpassport\n🪺 former :: @twitter\n🏔️ mtn man", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2034, + "followers_count": 1643, + "friends_count": 800, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 33, + "location": "CO mtns", + "media_count": 394, + "name": "daniel", + "normal_followers_count": 1643, + "pinned_tweet_ids_str": [ + "1897422104603320543" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/199566737/1659638246", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1851708832306618368/uwVDAnMv_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "lebraat", + "statuses_count": 2580, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-63046977", + "sortIndex": "1897829006456127478", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2MzA0Njk3Nw==", + "rest_id": "63046977", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Aug 05 05:46:48 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Part-time fiddler🎻 yogi 🧘🏼♀️scuba 🐠#savegamehenge ⭕️ #aliensexist 🤘Festvarian music lover nerd ex-@TwitterBoulder - Opinions are my own. she/her", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 7662, + "followers_count": 1279, + "friends_count": 2494, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 33, + "location": "Denver, CO", + "media_count": 465, + "name": "Emily Waligoske", + "normal_followers_count": 1279, + "pinned_tweet_ids_str": [ + "555569718271426560" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/63046977/1604853794", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1533124991637671941/4RW0JL1G_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "happycamper", + "statuses_count": 2761, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-251592845", + "sortIndex": "1897829006456127477", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTE1OTI4NDU=", + "rest_id": "251592845", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 13 13:11:52 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Ads @ X", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12717, + "followers_count": 5302, + "friends_count": 533, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 49, + "location": "San Francisco", + "media_count": 3, + "name": "Sid Rao", + "normal_followers_count": 5302, + "pinned_tweet_ids_str": [ + "1893042818437755340" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/747256199142215682/9dmNjRDQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "sidgrao", + "statuses_count": 57, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1605307111604228097", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-95731075", + "sortIndex": "1897829006456127476", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5NTczMTA3NQ==", + "rest_id": "95731075", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Dec 09 21:00:57 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Providing the latest safety tools, resources, and updates from X.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "help.x.com", + "expanded_url": "http://help.x.com", + "url": "https://t.co/YQ0rgq2Q9t", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 180, + "followers_count": 3692376, + "friends_count": 133, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8239, + "location": "X HQ", + "media_count": 160, + "name": "Safety", + "normal_followers_count": 3692376, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/95731075/1690214538", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683507906891718658/ZS9jJfar_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Safety", + "statuses_count": 1604, + "translator_type": "regular", + "url": "https://t.co/YQ0rgq2Q9t", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1716450569358098432", + "sortIndex": "1897829006456127475", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzE2NDUwNTY5MzU4MDk4NDMy", + "rest_id": "1716450569358098432", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Oct 23 13:44:53 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1264, + "followers_count": 1121, + "friends_count": 422, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2, + "location": "🌐", + "media_count": 18, + "name": "Taylor", + "normal_followers_count": 1121, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1716450569358098432/1721022977", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1883748517199679488/zc793S8p_normal.png", + "profile_interstitial_type": "", + "screen_name": "taycaldwell", + "statuses_count": 310, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1848533376887570842", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1830023695835787264", + "sortIndex": "1897829006456127474", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODMwMDIzNjk1ODM1Nzg3MjY0", + "rest_id": "1830023695835787264", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Aug 31 23:23:51 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "SWE @X", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 28, + "followers_count": 155, + "friends_count": 124, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "", + "media_count": 2, + "name": "Mike Rosinsky", + "normal_followers_count": 155, + "pinned_tweet_ids_str": [ + "1883985763089670181" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1830023695835787264/1730465388", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1830023799045050368/NMKeg1VL_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "mike_rosinsky", + "statuses_count": 53, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1215441834412953600", + "sortIndex": "1897829006456127473", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjE1NDQxODM0NDEyOTUzNjAw", + "rest_id": "1215441834412953600", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Jan 10 01:15:04 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "eng @X, the everything app | prev @microsoft | 🇨🇴", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "santiagomed.com", + "expanded_url": "https://santiagomed.com", + "url": "https://t.co/ilDuwJsnx5", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 701, + "followers_count": 997, + "friends_count": 273, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 17, + "location": "San Francisco, CA", + "media_count": 27, + "name": "Santiago", + "normal_followers_count": 997, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1215441834412953600/1596865864", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1706721276356898816/0X6pdGpZ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "santiagomedr", + "statuses_count": 196, + "translator_type": "none", + "url": "https://t.co/ilDuwJsnx5", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1792676157906911360", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-834832429709828096", + "sortIndex": "1897829006456127472", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4MzQ4MzI0Mjk3MDk4MjgwOTY=", + "rest_id": "834832429709828096", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/xai", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1769430779845611520/lIgjSJGU_bigger.jpg" + }, + "description": "xAI", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Feb 23 18:28:56 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "In my free time, I enjoy grokking | @xai", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1531, + "followers_count": 7698, + "friends_count": 382, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 118, + "location": "San Francisco, CA", + "media_count": 6, + "name": "Belce Doğru", + "normal_followers_count": 7698, + "pinned_tweet_ids_str": [ + "1892408393576411495" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/834832429709828096/1729882099", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1554875595850502146/9pX83Pfq_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "belce_dogru", + "statuses_count": 209, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1661523610111193088", + "sortIndex": "1897829006456127471", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjYxNTIzNjEwMTExMTkzMDg4", + "rest_id": "1661523610111193088", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu May 25 00:06:30 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "x.ai", + "expanded_url": "http://x.ai", + "url": "https://t.co/pBuv1ZMyrR", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 138, + "followers_count": 1503654, + "friends_count": 41, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 4592, + "location": "", + "media_count": 23, + "name": "xAI", + "normal_followers_count": 1503654, + "pinned_tweet_ids_str": [ + "1892400129719611567" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1661523610111193088/1710700105", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1769430779845611520/lIgjSJGU_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "xai", + "statuses_count": 91, + "translator_type": "none", + "url": "https://t.co/pBuv1ZMyrR", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-602065304", + "sortIndex": "1897829006456127470", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2MDIwNjUzMDQ=", + "rest_id": "602065304", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Jun 07 17:50:50 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Official X account for the National Weather Service Twin Cities, Minnesota. Details: https://t.co/Ou56XBf7km", + "entities": { + "description": { + "urls": [ + { + "display_url": "weather.gov/twincities", + "expanded_url": "http://weather.gov/twincities", + "url": "https://t.co/Ou56XBf7km", + "indices": [ + 85, + 108 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "weather.gov/twincities", + "expanded_url": "http://weather.gov/twincities", + "url": "https://t.co/Ou56XBf7km", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 27350, + "followers_count": 114026, + "friends_count": 479, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1163, + "location": "Chanhassen, MN", + "media_count": 21852, + "name": "NWS Twin Cities", + "normal_followers_count": 114026, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/602065304/1728407696", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/877195412729241600/swkVZ-ek_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NWSTwinCities", + "statuses_count": 51784, + "translator_type": "none", + "url": "https://t.co/Ou56XBf7km", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2201968256", + "sortIndex": "1897829006456127469", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjAxOTY4MjU2", + "rest_id": "2201968256", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Nov 18 20:55:01 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "Powering brand love 💙 Driving business outcomes through influencer marketing, social media management, and link in bio since 2014", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "later.com", + "expanded_url": "http://later.com", + "url": "https://t.co/cFBX7mG11k", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 28736, + "followers_count": 38103, + "friends_count": 744, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 659, + "location": "Global 🌎", + "media_count": 4744, + "name": "Later", + "normal_followers_count": 38103, + "pinned_tweet_ids_str": [ + "1875137714250465446" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2201968256/1705500613", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1755321906083897345/RV3VeMd5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "latermedia", + "statuses_count": 20605, + "translator_type": "none", + "url": "https://t.co/cFBX7mG11k", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1511417044104740865", + "professional_type": "Business", + "category": [ + { + "id": 962, + "name": "Mobile Application", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-245329874", + "sortIndex": "1897829006456127468", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDUzMjk4NzQ=", + "rest_id": "245329874", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Jan 31 12:49:21 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Engineering @ 𝕏", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2348, + "followers_count": 14834, + "friends_count": 331, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 155, + "location": "", + "media_count": 2, + "name": "Haofei", + "normal_followers_count": 14834, + "pinned_tweet_ids_str": [ + "1869530874745950392" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/245329874/1687820980", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1793100196848775168/DNJ5XKwW_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "wanghaofei", + "statuses_count": 432, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-145673755", + "sortIndex": "1897829006456127467", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDU2NzM3NTU=", + "rest_id": "145673755", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/gruposalinas", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1732897819701198848/fl02-W1h_bigger.png" + }, + "description": "Grupo Salinas", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed May 19 15:40:28 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Totalplay es tu conexión con el mejor entretenimiento a la mayor velocidad.🍿\nInternet, TV y telefonía a través de fibra óptica. 📺\nEmpresa de @GrupoSalinas", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 21866, + "followers_count": 124915, + "friends_count": 11926, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 188, + "location": "", + "media_count": 23903, + "name": "Totalplay", + "normal_followers_count": 124915, + "pinned_tweet_ids_str": [ + "1866636060018790831" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/145673755/1740852398", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1575238512449708032/HNwBThdy_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "totalplaymx", + "statuses_count": 322681, + "translator_type": "regular", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1553443455694684163", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2333137632", + "sortIndex": "1897829006456127466", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzMzMTM3NjMy", + "rest_id": "2333137632", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Feb 08 08:47:39 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "Building the product development infrastructure @ https://t.co/9Rq2WToSM8", + "entities": { + "description": { + "urls": [ + { + "display_url": "X.com", + "expanded_url": "http://X.com", + "url": "https://t.co/9Rq2WToSM8", + "indices": [ + 50, + 73 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 927, + "followers_count": 14712, + "friends_count": 257, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 151, + "location": "SF", + "media_count": 34, + "name": "Aqueel", + "normal_followers_count": 14712, + "pinned_tweet_ids_str": [ + "1822364223466623117" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2333137632/1684275431", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1470797558553485319/kOxM0KD3_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AqueelMiq", + "statuses_count": 361, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1389913567671975937", + "sortIndex": "1897829006456127465", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzg5OTEzNTY3NjcxOTc1OTM3", + "rest_id": "1389913567671975937", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/MyDoge", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1656530956801523719/SC7nEKMa_bigger.png" + }, + "description": "MyDoge", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed May 05 12:03:43 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "UX/UI & Graphic Designer at Dogecoin MyDoge DogeOS / 𝕏 Creator", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 97257, + "followers_count": 1327130, + "friends_count": 1075, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4491, + "location": "", + "media_count": 23651, + "name": "DogeDesigner", + "normal_followers_count": 1327130, + "pinned_tweet_ids_str": [ + "1821687464974860662" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1389913567671975937/1711058670", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1498070100393754625/C2V-fbll_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "cb_doge", + "statuses_count": 44736, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1463329767675944960", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": true + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-23561980", + "sortIndex": "1897829006456127464", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzU2MTk4MA==", + "rest_id": "23561980", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Mar 10 05:44:26 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "@pglang", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "my-gnx.com", + "expanded_url": "https://my-gnx.com/", + "url": "https://t.co/wZnlkhnyMU", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22, + "followers_count": 12860499, + "friends_count": 496, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 10880, + "location": "", + "media_count": 207, + "name": "Kendrick Lamar", + "normal_followers_count": 12860499, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/23561980/1732296869", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1103764272654442496/wcNdeqop_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "kendricklamar", + "statuses_count": 4123, + "translator_type": "none", + "url": "https://t.co/wZnlkhnyMU", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-15640533", + "sortIndex": "1897829006456127463", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTY0MDUzMw==", + "rest_id": "15640533", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Jul 29 01:45:23 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "We provide train service throughout the San Francisco Bay Area. For automated service updates: @SFBARTalert", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "bart.gov", + "expanded_url": "http://www.bart.gov", + "url": "https://t.co/vvQNp0dWy4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 7310, + "followers_count": 330424, + "friends_count": 692, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2381, + "location": "Oakland, CA", + "media_count": 7817, + "name": "BART", + "normal_followers_count": 330424, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/15640533/1674772917", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1808275923076333568/UT0uuVuF_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SFBART", + "statuses_count": 51592, + "translator_type": "none", + "url": "https://t.co/vvQNp0dWy4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-590412316", + "sortIndex": "1897829006456127462", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1OTA0MTIzMTY=", + "rest_id": "590412316", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri May 25 23:33:19 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Official X account for National Weather Service Atlanta/Peachtree City. Details: https://t.co/us21MdtYl8", + "entities": { + "description": { + "urls": [ + { + "display_url": "weather.gov/nws_x", + "expanded_url": "http://weather.gov/nws_x", + "url": "https://t.co/us21MdtYl8", + "indices": [ + 81, + 104 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "weather.gov/atlanta", + "expanded_url": "http://weather.gov/atlanta", + "url": "https://t.co/BhoWV05iZe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 4470, + "followers_count": 67028, + "friends_count": 798, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1120, + "location": "Peachtree City, Georgia", + "media_count": 14899, + "name": "NWS Atlanta", + "normal_followers_count": 67028, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/590412316/1740586248", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/876443869071773696/niY9zHK7_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NWSAtlanta", + "statuses_count": 21418, + "translator_type": "none", + "url": "https://t.co/BhoWV05iZe", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-19133833", + "sortIndex": "1897829006456127461", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTEzMzgzMw==", + "rest_id": "19133833", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Jan 18 02:47:48 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "The Internet's Weather Man |", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "linktr.ee/ryanhallyall", + "expanded_url": "https://linktr.ee/ryanhallyall", + "url": "https://t.co/0oovOeJabb", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 19148, + "followers_count": 348271, + "friends_count": 1210, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1533, + "location": "Kentucky, USA", + "media_count": 2870, + "name": "Ryan Hall, Y’all", + "normal_followers_count": 348271, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/19133833/1613674801", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1649791293990502404/g9AjOXbE_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ryanhallyall", + "statuses_count": 11790, + "translator_type": "none", + "url": "https://t.co/0oovOeJabb", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1475228357956718595", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": true, + "bitcoin_handle": "bc1q3gffj58vpdykm7tvjewa0qksk4qewnstvp3gs5", + "venmo_handle": "ryanhallyall" + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-454313925", + "sortIndex": "1897829006456127460", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NTQzMTM5MjU=", + "rest_id": "454313925", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Jan 03 21:24:25 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Official X account for @NOAA's National Weather Service.\nA list of official NWS accounts can be found at https://t.co/nG1wK2JEBW", + "entities": { + "description": { + "urls": [ + { + "display_url": "x.com/i/lists/725042…", + "expanded_url": "https://x.com/i/lists/72504214", + "url": "https://t.co/nG1wK2JEBW", + "indices": [ + 105, + 128 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "weather.gov", + "expanded_url": "http://weather.gov", + "url": "https://t.co/qk3BcVP5M8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 9927, + "followers_count": 3140521, + "friends_count": 327, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 11183, + "location": "United States", + "media_count": 12206, + "name": "National Weather Service", + "normal_followers_count": 3140521, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/454313925/1736368182", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1636943522325577729/ywCeIUoO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NWS", + "statuses_count": 43932, + "translator_type": "none", + "url": "https://t.co/qk3BcVP5M8", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2544227706", + "sortIndex": "1897829006456127459", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTQ0MjI3NzA2", + "rest_id": "2544227706", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Jun 03 20:21:13 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "Official Twitter account for the National Weather Service used to distribute experimental tornado warning impact graphics. Read more at: http://t.co/j1qyDV2Jw5", + "entities": { + "description": { + "urls": [ + { + "display_url": "goo.gl/cCCw1s", + "expanded_url": "http://goo.gl/cCCw1s", + "url": "http://t.co/j1qyDV2Jw5", + "indices": [ + 138, + 160 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "weather.gov/twitter", + "expanded_url": "http://www.weather.gov/twitter", + "url": "http://t.co/iGsuslzVWY", + "indices": [ + 0, + 22 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 349015, + "friends_count": 0, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2920, + "location": "", + "media_count": 59994, + "name": "NWS Tornado", + "normal_followers_count": 349015, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2544227706/1440002364", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/473923246031507457/kVfFpQY2_normal.png", + "profile_interstitial_type": "", + "screen_name": "NWStornado", + "statuses_count": 60006, + "translator_type": "none", + "url": "http://t.co/iGsuslzVWY", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-589419748", + "sortIndex": "1897829006456127458", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1ODk0MTk3NDg=", + "rest_id": "589419748", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu May 24 20:55:18 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Official X account for the National Weather Service in Shreveport, LA. Details: https://t.co/1zUuprWiLZ", + "entities": { + "description": { + "urls": [ + { + "display_url": "weather.gov/nws_x", + "expanded_url": "https://weather.gov/nws_x", + "url": "https://t.co/1zUuprWiLZ", + "indices": [ + 80, + 103 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "weather.gov/shv", + "expanded_url": "https://www.weather.gov/shv", + "url": "https://t.co/qe3RJYS9SD", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 10448, + "followers_count": 23904, + "friends_count": 435, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 679, + "location": "Shreveport, Louisiana", + "media_count": 29808, + "name": "NWS Shreveport", + "normal_followers_count": 23904, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/589419748/1735560498", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1582056126639652869/eL55-aPm_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NWSShreveport", + "statuses_count": 51628, + "translator_type": "none", + "url": "https://t.co/qe3RJYS9SD", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1650583387365855232", + "professional_type": "Business", + "category": [ + { + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1622343577790726144", + "sortIndex": "1897829006456127457", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjIyMzQzNTc3NzkwNzI2MTQ0", + "rest_id": "1622343577790726144", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/xai", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1769430779845611520/lIgjSJGU_bigger.jpg" + }, + "description": "xAI", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 05 21:17:19 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "a real human bean. building intelligence @xAI", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1314, + "followers_count": 10770, + "friends_count": 216, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 128, + "location": "San Francisco", + "media_count": 53, + "name": "Devin Kim", + "normal_followers_count": 10770, + "pinned_tweet_ids_str": [ + "1855343439346602057" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1622343577790726144/1713027892", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1777387198909927428/B0NbgA5__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "devindkim", + "statuses_count": 412, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-10671602", + "sortIndex": "1897829006456127456", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDY3MTYwMg==", + "rest_id": "10671602", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Nov 27 22:37:20 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Official Sony Interactive Entertainment account. Updates on PS5, PlayStation VR2, PlayStation Plus, PS4 and more. Support: @AskPlayStation", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "playstation.com", + "expanded_url": "https://www.playstation.com", + "url": "https://t.co/OrydDMkek8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1451, + "followers_count": 42747849, + "friends_count": 747, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 34408, + "location": "California", + "media_count": 26638, + "name": "PlayStation", + "normal_followers_count": 42747849, + "pinned_tweet_ids_str": [ + "1889808314332057620" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10671602/1741082338", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1833447364138299392/AXIZsQe4_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PlayStation", + "statuses_count": 46771, + "translator_type": "none", + "url": "https://t.co/OrydDMkek8", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1720665183188922368", + "sortIndex": "1897829006456127455", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzIwNjY1MTgzMTg4OTIyMzY4", + "rest_id": "1720665183188922368", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/xai", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1769430779845611520/lIgjSJGU_bigger.jpg" + }, + "description": "xAI", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Nov 04 04:52:34 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "https://t.co/BFoTHXdgYb\nhttps://t.co/pqlzSn9qEN", + "entities": { + "description": { + "urls": [ + { + "display_url": "grok.com", + "expanded_url": "https://grok.com", + "url": "https://t.co/BFoTHXdgYb", + "indices": [ + 0, + 23 + ] + }, + { + "display_url": "grok.x.com", + "expanded_url": "https://grok.x.com", + "url": "https://t.co/pqlzSn9qEN", + "indices": [ + 24, + 47 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "x.com/i/communities/…", + "expanded_url": "https://x.com/i/communities/1733132808745283911", + "url": "https://t.co/NR1CZzonm4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 43, + "followers_count": 964587, + "friends_count": 2, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2360, + "location": "wherever you are", + "media_count": 2, + "name": "Grok", + "normal_followers_count": 964587, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1720665183188922368/1740213586", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1893219113717342208/Vgg2hEPa_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "grok", + "statuses_count": 47, + "translator_type": "none", + "url": "https://t.co/NR1CZzonm4", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-548263294", + "sortIndex": "1897829006456127454", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDgyNjMyOTQ=", + "rest_id": "548263294", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Apr 08 08:36:04 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "Driven by industry progress, inspired by provocative leadership, plus don't mind a good pair of shoes or a great @PennStateFball scoreboard either.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12687, + "followers_count": 670953, + "friends_count": 1517, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2282, + "location": "", + "media_count": 386, + "name": "Linda Yaccarino", + "normal_followers_count": 670953, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/548263294/1690308383", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1886411712846233601/7ii3h-3D_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "lindayaX", + "statuses_count": 6223, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2907774137", + "sortIndex": "1897829006456127453", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTA3Nzc0MTM3", + "rest_id": "2907774137", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Dec 06 14:07:45 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "The ocular engine. \nSources: @archillinks\nhttps://t.co/U7Oh7xumQp", + "entities": { + "description": { + "urls": [ + { + "display_url": "archillect.com", + "expanded_url": "http://archillect.com", + "url": "https://t.co/U7Oh7xumQp", + "indices": [ + 42, + 65 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "instagram.com/archillect", + "expanded_url": "http://instagram.com/archillect", + "url": "https://t.co/l6SZrvMcZV", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 8401, + "followers_count": 2809228, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 10999, + "location": "Meta", + "media_count": 407031, + "name": "Archillect", + "normal_followers_count": 2809228, + "pinned_tweet_ids_str": [ + "1360884467427115010" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2907774137/1418102176", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1045579977067024384/S0luKMwQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "archillect", + "statuses_count": 424422, + "translator_type": "none", + "url": "https://t.co/l6SZrvMcZV", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-96770474", + "sortIndex": "1897829006456127452", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5Njc3MDQ3NA==", + "rest_id": "96770474", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Dec 14 14:29:20 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "The Nothing", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "undream.net", + "expanded_url": "http://undream.net", + "url": "https://t.co/p66w7Qb4Cq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 41457, + "followers_count": 355164, + "friends_count": 1762, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2721, + "location": "Meta", + "media_count": 1734, + "name": "Pak", + "normal_followers_count": 355164, + "pinned_tweet_ids_str": [ + "516363882978619393" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/96770474/1632673062", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1499888704718000128/5yERu3hS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "muratpak", + "statuses_count": 23061, + "translator_type": "regular", + "url": "https://t.co/p66w7Qb4Cq", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-752567226", + "sortIndex": "1897829006456127451", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3NTI1NjcyMjY=", + "rest_id": "752567226", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Aug 12 06:01:46 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "Your #1 News source on everything 𝕏 + xAI | Contributors: @HXMnCK, @LohanSimpson @xUpdatesRadar and @swak_12 I | Hit Follow and sign up for notifications! 🔔", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 58845, + "followers_count": 318980, + "friends_count": 4683, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1750, + "location": "X HQ", + "media_count": 4311, + "name": "X Daily News", + "normal_followers_count": 318980, + "pinned_tweet_ids_str": [ + "1867807552215691695" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/752567226/1704781546", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1515124606583152648/4bZaW28-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "xDaily", + "statuses_count": 14143, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1676343039281774593", + "professional_type": "Business", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": false, + "bitcoin_handle": "3EEsVvM4SzwzU8gLQLBbXpStugYZu4TMBr" + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-16579934", + "sortIndex": "1897829006456127450", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjU3OTkzNA==", + "rest_id": "16579934", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "protected": true, + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Oct 03 16:28:34 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "This bot no longer posts. If you want to continue to use it, follow it elsewhere:\n\nMastodon: https://t.co/A3ZXlxQ4LX\nBsky: https://t.co/54MQCVL9Ac", + "entities": { + "description": { + "urls": [ + { + "display_url": "xyzyx.org/@i80chains", + "expanded_url": "https://xyzyx.org/@i80chains", + "url": "https://t.co/A3ZXlxQ4LX", + "indices": [ + 94, + 117 + ] + }, + { + "display_url": "i80chains.bsky.social", + "expanded_url": "http://i80chains.bsky.social", + "url": "https://t.co/54MQCVL9Ac", + "indices": [ + 124, + 147 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "chainguy.com", + "expanded_url": "https://chainguy.com/", + "url": "https://t.co/Y2pUajS41f", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12, + "followers_count": 32122, + "friends_count": 7, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 740, + "location": "Lake Tahoe, CA", + "media_count": 3, + "name": "Interstate 80 Tahoe", + "normal_followers_count": 32122, + "pinned_tweet_ids_str": [ + "1891998117207089215" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/16579934/1670127817", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1631885290372763648/-VC2iRtT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "i80chains", + "statuses_count": 11156, + "translator_type": "none", + "url": "https://t.co/Y2pUajS41f", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2688342211", + "sortIndex": "1897829006456127449", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNjg4MzQyMjEx", + "rest_id": "2688342211", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 28 20:36:33 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "I write code to count numbers, to draw charts, and to tell stories.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "ming.tech", + "expanded_url": "http://ming.tech", + "url": "https://t.co/ujdNYczkKp", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3819, + "followers_count": 3533, + "friends_count": 1966, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 62, + "location": "Houston, TX", + "media_count": 167, + "name": "Ming", + "normal_followers_count": 3533, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2688342211/1644724198", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1855725107160748032/9lEy9cAg_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MingSong_X", + "statuses_count": 823, + "translator_type": "none", + "url": "https://t.co/ujdNYczkKp", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1541844867109867520", + "professional_type": "Creator", + "category": [ + { + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "cash_app_handle": "$ZhengmingSong", + "venmo_handle": "ZhengmingSong" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-472310616", + "sortIndex": "1897829006456127448", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzIzMTA2MTY=", + "rest_id": "472310616", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jan 23 20:30:53 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1477, + "followers_count": 4224, + "friends_count": 576, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 54, + "location": "San Francisco, CA", + "media_count": 41, + "name": "Peilin Yang", + "normal_followers_count": 4224, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/931613740272730112/fXnz-n_k_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PeilinYang", + "statuses_count": 521, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-94129050", + "sortIndex": "1897829006456127447", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5NDEyOTA1MA==", + "rest_id": "94129050", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Dec 02 17:06:41 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "We move the region that moves the world.\n\nSign up for real-time service updates: https://t.co/bXu0Cgbkpv", + "entities": { + "description": { + "urls": [ + { + "display_url": "mta.info/notify", + "expanded_url": "http://mta.info/notify", + "url": "https://t.co/bXu0Cgbkpv", + "indices": [ + 81, + 104 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "mta.info", + "expanded_url": "http://www.mta.info/", + "url": "https://t.co/xjzXC6ZOwJ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1522, + "followers_count": 1362809, + "friends_count": 194, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3612, + "location": "New York Metro Region", + "media_count": 1832, + "name": "MTA", + "normal_followers_count": 1362809, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/94129050/1736178349", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1852329437624168448/xxD9kK0H_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MTA", + "statuses_count": 13004, + "translator_type": "none", + "url": "https://t.co/xjzXC6ZOwJ", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-44196397", + "sortIndex": "1897829006456127446", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NDE5NjM5Nw==", + "rest_id": "44196397", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Jun 02 20:12:29 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 131628, + "followers_count": 219357257, + "friends_count": 1085, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 161139, + "location": "", + "media_count": 3564, + "name": "Elon Musk", + "normal_followers_count": 219357257, + "pinned_tweet_ids_str": [ + "1896995745280266333" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1739948056", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1893803697185910784/Na5lOWi5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "elonmusk", + "statuses_count": 73588, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1679729435447275522", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": false + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-853388192", + "sortIndex": "1897829006456127445", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTMzODgxOTI=", + "rest_id": "853388192", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Sep 29 18:38:49 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "@xdevelopers", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 10289, + "followers_count": 3441, + "friends_count": 1495, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 50, + "location": "", + "media_count": 157, + "name": "Haim", + "normal_followers_count": 3441, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/853388192/1710934070", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1770411877555752960/ySQihJFG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "bageliedad", + "statuses_count": 334, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-75263523", + "sortIndex": "1897829006456127444", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3NTI2MzUyMw==", + "rest_id": "75263523", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Sep 18 12:06:02 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "We un-silo and unify teams to make customers happier. With our Unified Customer Experience Management platform (#UnifiedCXM).", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "sprinklr.com/contact-us/", + "expanded_url": "https://sprinklr.com/contact-us/", + "url": "https://t.co/ZQEECh4fWK", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22607, + "followers_count": 38869, + "friends_count": 16219, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1778, + "location": "Global", + "media_count": 20680, + "name": "Sprinklr", + "normal_followers_count": 38869, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/75263523/1691600823", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1689349298691948544/gtSPd8ph_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Sprinklr", + "statuses_count": 74966, + "translator_type": "none", + "url": "https://t.co/ZQEECh4fWK", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-19081905", + "sortIndex": "1897829006456127443", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTA4MTkwNQ==", + "rest_id": "19081905", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Jan 16 19:48:32 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Speculator", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "medium.com/@christeso", + "expanded_url": "https://medium.com/@christeso", + "url": "https://t.co/57giHjBqiT", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3639, + "followers_count": 2257, + "friends_count": 612, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 120, + "location": "Washougal, WA", + "media_count": 1518, + "name": "Chris", + "normal_followers_count": 2257, + "pinned_tweet_ids_str": [ + "2545310783" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/19081905/1408944722", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1599554392625401856/ZX7okUz5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ChrisTeso", + "statuses_count": 20888, + "translator_type": "none", + "url": "https://t.co/57giHjBqiT", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1581357517065842688", + "professional_type": "Creator", + "category": [ + { + "id": 958, + "name": "Entrepreneur", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-105224601", + "sortIndex": "1897829006456127442", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUyMjQ2MDE=", + "rest_id": "105224601", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Jan 15 18:57:01 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "The Hotwire Native guy - I help Ruby on Rails developers build server-powered Android and iOS apps with Hotwire Native.\n\nGet my book on Hotwire Native 👇", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "masilotti.com/hotwire-native…", + "expanded_url": "https://masilotti.com/hotwire-native-for-rails-developers/", + "url": "https://t.co/unMvB1UWdS", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 10584, + "followers_count": 8950, + "friends_count": 402, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 257, + "location": "Portland, OR", + "media_count": 1997, + "name": "Joe Masilotti", + "normal_followers_count": 8950, + "pinned_tweet_ids_str": [ + "1877072400166334522" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105224601/1732039827", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1654108046459813888/sFa_bOmY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "joemasilotti", + "statuses_count": 15365, + "translator_type": "none", + "url": "https://t.co/unMvB1UWdS", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1469708922445467649", + "professional_type": "Creator", + "category": [ + { + "id": 958, + "name": "Entrepreneur", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": false, + "venmo_handle": "joemasilotti" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2308474213", + "sortIndex": "1897829006456127441", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzA4NDc0MjEz", + "rest_id": "2308474213", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "protected": true, + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Jan 24 14:42:45 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "This account is no longer active. Follow me on Bluesky instead!\nhttps://t.co/8hNl3ebMa5", + "entities": { + "description": { + "urls": [ + { + "display_url": "bsky.app/profile/joshwc…", + "expanded_url": "https://bsky.app/profile/joshwcomeau.com", + "url": "https://t.co/8hNl3ebMa5", + "indices": [ + 64, + 87 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "joshwcomeau.com", + "expanded_url": "https://joshwcomeau.com/", + "url": "https://t.co/BEUDsMyW2u", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 48899, + "followers_count": 130464, + "friends_count": 2084, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1521, + "location": "Montreal", + "media_count": 3425, + "name": "Josh W. Comeau", + "normal_followers_count": 130464, + "pinned_tweet_ids_str": [ + "1853923738271801665" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2308474213/1672356290", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1719764293434920960/BgBsj9Cu_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JoshWComeau", + "statuses_count": 30126, + "translator_type": "none", + "url": "https://t.co/BEUDsMyW2u", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1473683597638963204", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-37522774", + "sortIndex": "1897829006456127440", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNzUyMjc3NA==", + "rest_id": "37522774", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun May 03 22:45:03 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "UCLA MBA/Data Scientist turning data into SEO strategies. Track record in competitive landscapes (notary, hotels). Fortune 500 companies and law firms trust me.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "fortenotary.com/ralphbrooks", + "expanded_url": "https://fortenotary.com/ralphbrooks", + "url": "https://t.co/9ubreRKTc4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 16474, + "followers_count": 2710, + "friends_count": 1586, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 71, + "location": "Frisco, TX", + "media_count": 417, + "name": "Ralph Brooks 🎯 Precision SEO Targeting 🎯", + "normal_followers_count": 2710, + "pinned_tweet_ids_str": [ + "1897459110687162820" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/37522774/1733880358", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1223010784344711169/2U0F3ciq_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ralphbrooks", + "statuses_count": 4079, + "translator_type": "none", + "url": "https://t.co/9ubreRKTc4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-618029513", + "sortIndex": "1897829006456127439", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2MTgwMjk1MTM=", + "rest_id": "618029513", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Jun 25 11:52:19 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Senior Front-End Developer at @getsimpra | Mathematician | BEŞİKTAŞ ⚫️⚪️ 📨edisdev14@gmail.com | https://t.co/t4TT1wfxDT | https://t.co/rZL6NZJuKx", + "entities": { + "description": { + "urls": [ + { + "display_url": "github.com/edisdev", + "expanded_url": "http://github.com/edisdev", + "url": "https://t.co/t4TT1wfxDT", + "indices": [ + 96, + 119 + ] + }, + { + "display_url": "superpeer.com/edisdev", + "expanded_url": "http://superpeer.com/edisdev", + "url": "https://t.co/rZL6NZJuKx", + "indices": [ + 122, + 145 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "edisdev.github.io", + "expanded_url": "https://edisdev.github.io", + "url": "https://t.co/bkTq5BxFUC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 9961, + "followers_count": 5747, + "friends_count": 1176, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 64, + "location": "Samsun, Türkiye", + "media_count": 906, + "name": "Hatice Edis 📟", + "normal_followers_count": 5747, + "pinned_tweet_ids_str": [ + "1392392183953625088" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/618029513/1602540462", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1790116571253186560/Q4BPSX1e_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "edisdev", + "statuses_count": 7644, + "translator_type": "none", + "url": "https://t.co/bkTq5BxFUC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-38292395", + "sortIndex": "1897829006456127438", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozODI5MjM5NQ==", + "rest_id": "38292395", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed May 06 22:21:23 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Co-founder @crossmint - dev tools to bring your app or agent onchain 🌌 //\n\nPrev: I'm not a 🤖; @google Assistant SDK; @whatsapp", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 7567, + "followers_count": 2937, + "friends_count": 1852, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 81, + "location": "Miami, NYC, Madrid, etc", + "media_count": 239, + "name": "Alfonso", + "normal_followers_count": 2937, + "pinned_tweet_ids_str": [ + "1866876159071490416" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/38292395/1696188493", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1835845760681664512/-Lu_MSP2_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "alfongj", + "statuses_count": 3984, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-69873966", + "sortIndex": "1897829006456127437", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2OTg3Mzk2Ng==", + "rest_id": "69873966", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Aug 29 14:05:53 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Childless Cat Lady", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "ie.linkedin.com/in/gaellepaste…", + "expanded_url": "http://ie.linkedin.com/in/gaellepasteur", + "url": "https://t.co/t5H6hlc3LJ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6966, + "followers_count": 3457, + "friends_count": 490, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "Paris", + "media_count": 1571, + "name": "Gaëlle Pasteur", + "normal_followers_count": 3457, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/69873966/1722021685", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1888990194386317312/qN9qnKEQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GaellePasteur", + "statuses_count": 6732, + "translator_type": "regular", + "url": "https://t.co/t5H6hlc3LJ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1702439972", + "sortIndex": "1897829006456127436", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzAyNDM5OTcy", + "rest_id": "1702439972", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Aug 26 17:04:57 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Jack of all trades, master of some 🤓 | Ocean = happy place 🏝️ | MIA born and raised 🥔 | Mis padres son Cubano 🇨🇺 | Lover of I.C.E & EV 🦕🔋 | CAM at @𝕏", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15473, + "followers_count": 613, + "friends_count": 1307, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 13, + "location": "Miami, FL", + "media_count": 1519, + "name": "Eric Alvarez", + "normal_followers_count": 613, + "pinned_tweet_ids_str": [ + "1380678942961639424" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1702439972/1651854069", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1648876472302460931/H1HGnUtO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ealvareztheswig", + "statuses_count": 4601, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-283179808", + "sortIndex": "1897829006456127435", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyODMxNzk4MDg=", + "rest_id": "283179808", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Apr 16 19:06:15 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Multidisciplinary Designer", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "oscillator.company", + "expanded_url": "http://oscillator.company", + "url": "https://t.co/HbCfyD1QC4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 163572, + "followers_count": 1529, + "friends_count": 3400, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 36, + "location": "🇨🇦🇲🇽🇯🇲", + "media_count": 115, + "name": "Jelani Thompson", + "normal_followers_count": 1529, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/283179808/1633666934", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1555389516692832256/VHthpZ9j_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JelaniThompson_", + "statuses_count": 3051, + "translator_type": "none", + "url": "https://t.co/HbCfyD1QC4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1462214139552710657", + "professional_type": "Creator", + "category": [ + { + "id": 1021, + "name": "Industrial Designer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-858584257", + "sortIndex": "1897829006456127434", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTg1ODQyNTc=", + "rest_id": "858584257", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Oct 02 19:25:48 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Software Engineer by day, Aviation, Music, F1, & Die hard @ManUtd Fan", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "nnajiabraham.com", + "expanded_url": "http://nnajiabraham.com", + "url": "https://t.co/yOyQRhB7d0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 46662, + "followers_count": 587, + "friends_count": 961, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5, + "location": "Campbell River, British Columb", + "media_count": 253, + "name": "Abraham", + "normal_followers_count": 587, + "pinned_tweet_ids_str": [ + "1368313390146457600" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/858584257/1651812636", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1705102510590210048/glD1lLj8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "nnajiabraham", + "statuses_count": 5486, + "translator_type": "none", + "url": "https://t.co/yOyQRhB7d0", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-726286892967288832", + "sortIndex": "1897829006456127433", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3MjYyODY4OTI5NjcyODg4MzI=", + "rest_id": "726286892967288832", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sat Apr 30 05:47:43 +0000 2016", + "default_profile": false, + "default_profile_image": false, + "description": "Solar Engineer", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 4698, + "followers_count": 1428, + "friends_count": 4184, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "Duniyah.", + "media_count": 172, + "name": "Ahmad", + "normal_followers_count": 1428, + "pinned_tweet_ids_str": [ + "1782493314706456912" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/726286892967288832/1635778252", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1894133178937245696/ahhUQolX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "kingmedott", + "statuses_count": 2247, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1643489043655606273", + "professional_type": "Business", + "category": [ + { + "id": 719, + "name": "Solar Energy Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-76", + "sortIndex": "1897829006456127432", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3Ng==", + "rest_id": "76", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Apr 03 16:00:21 +0000 2006", + "default_profile": false, + "default_profile_image": false, + "description": "Yes, I’m here. How are you? LookUp! MANGIA❣", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 184818, + "followers_count": 18489, + "friends_count": 2081, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 175, + "location": " The CITY of St. Louis", + "media_count": 6582, + "name": "Marcia Dorsey🌻⚜️🗽", + "normal_followers_count": 18489, + "pinned_tweet_ids_str": [ + "1335266839375589379" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/76/1673013848", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1564729980650659840/9W-o9Tpq_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "marciadorsey", + "statuses_count": 78775, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-591524484", + "sortIndex": "1897829006456127431", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1OTE1MjQ0ODQ=", + "rest_id": "591524484", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun May 27 02:36:28 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Developing iOS, iPadOS, tvOS, and macOS applications to help you waste time, effectively.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "danielstorm.app", + "expanded_url": "https://danielstorm.app", + "url": "https://t.co/KBqmY4at3Z", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 130813, + "followers_count": 8373, + "friends_count": 1944, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 82, + "location": "Knoxville, TN", + "media_count": 2824, + "name": "Daniel Storm", + "normal_followers_count": 8373, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1387848903962374146/I5X8-YPj_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DanielStormApps", + "statuses_count": 36087, + "translator_type": "none", + "url": "https://t.co/KBqmY4at3Z", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1463561026788540416", + "professional_type": "Creator", + "category": [ + { + "id": 962, + "name": "Mobile Application", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-210368318", + "sortIndex": "1897829006456127430", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTAzNjgzMTg=", + "rest_id": "210368318", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Oct 31 08:19:03 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "iOS dev 👨🏻💻 Building apps, chasing dreams.\n\nBest ASO tool: https://t.co/w7zjbWSl4J", + "entities": { + "description": { + "urls": [ + { + "display_url": "tryastro.app/?aff=vy0RB", + "expanded_url": "https://tryastro.app?aff=vy0RB", + "url": "https://t.co/w7zjbWSl4J", + "indices": [ + 60, + 83 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "apple.co/3ZysaaL", + "expanded_url": "https://apple.co/3ZysaaL", + "url": "https://t.co/mnbMtspLXG", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 10567, + "followers_count": 2366, + "friends_count": 257, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 34, + "location": "My apps 👉", + "media_count": 748, + "name": "Vladimir Khuraskin", + "normal_followers_count": 2366, + "pinned_tweet_ids_str": [ + "1872596527660843169" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/210368318/1701326007", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1756249691522531328/jaJGCT1O_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "vladeku", + "statuses_count": 5003, + "translator_type": "none", + "url": "https://t.co/mnbMtspLXG", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1729495004953894965", + "professional_type": "Creator", + "category": [ + { + "id": 958, + "name": "Entrepreneur", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "user-358156150", + "sortIndex": "1897829006456127429", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNTgxNTYxNTA=", + "rest_id": "358156150", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Aug 19 13:34:10 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Partner von @KernelHost • Technischer Support auf dem TeamSpeak https://t.co/XusBNZsQJS • Admin bei @ApfeloniaDE • Gutes Unitymedia Internet", + "entities": { + "description": { + "urls": [ + { + "display_url": "Apfelonia.de", + "expanded_url": "http://Apfelonia.de", + "url": "https://t.co/XusBNZsQJS", + "indices": [ + 64, + 87 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "Apfelonia.de", + "expanded_url": "https://Apfelonia.de", + "url": "https://t.co/HZ28lAQHg0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 185565, + "followers_count": 6247, + "friends_count": 397, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 7, + "location": "", + "media_count": 6464, + "name": "Gitarre3", + "normal_followers_count": 6247, + "pinned_tweet_ids_str": [ + "1449360477666959369" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/358156150/1538564442", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1153666357701074944/3T2Z1KSm_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Gitarre3", + "statuses_count": 69239, + "translator_type": "none", + "url": "https://t.co/HZ28lAQHg0", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1460907416225206285", + "professional_type": "Creator", + "category": [ + { + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": false + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "FollowingSgs", + "element": "user" + } + } + }, + { + "entryId": "cursor-bottom-1897829006456127428", + "sortIndex": "1897829006456127428", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "1672118520157233654|1897829006456127426", + "cursorType": "Bottom" + } + }, + { + "entryId": "cursor-top-1897829006456127489", + "sortIndex": "1897829006456127489", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "-1|1897829006456127489", + "cursorType": "Top" + } + } + ] + } + ] + } + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_list_timeline.json b/apps/twscrape/tests/mocked-data/raw_list_timeline.json new file mode 100644 index 0000000..8c81e45 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_list_timeline.json @@ -0,0 +1,51760 @@ +{ + "data": { + "list": { + "tweets_timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1897827684459184430", + "sortIndex": "1897829059325329408", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897827684459184430", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjc5OTI1Nw==", + "rest_id": "22799257", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Mar 04 16:58:21 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Foreign Correspondent for @TheEconomist | Covering Ukraine, Russia, Belarus | Opinions strictly my own | DM for Signal", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "olliecarroll.com", + "expanded_url": "http://www.olliecarroll.com", + "url": "https://t.co/2PqUq7MmYC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6580, + "followers_count": 137900, + "friends_count": 3050, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3967, + "location": "Ukraine", + "media_count": 2331, + "name": "Oliver Carroll", + "normal_followers_count": 137900, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/22799257/1434115079", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1541040357177180160/OHKDGhmR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olliecarroll", + "statuses_count": 19431, + "translator_type": "none", + "url": "https://t.co/2PqUq7MmYC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1542570582226702338", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897827684459184430" + ], + "editable_until_msecs": "1741315954000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "578", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897670662325461160", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NDE5NjM5Nw==", + "rest_id": "44196397", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Jun 02 20:12:29 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 131628, + "followers_count": 219357258, + "friends_count": 1085, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 161139, + "location": "", + "media_count": 3564, + "name": "Elon Musk", + "normal_followers_count": 219357258, + "pinned_tweet_ids_str": [ + "1896995745280266333" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1739948056", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1893803697185910784/Na5lOWi5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "elonmusk", + "statuses_count": 73588, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1679729435447275522", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": false + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897670662325461160" + ], + "editable_until_msecs": "1741278517000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "36753328", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quotedRefResult": { + "result": { + "__typename": "Tweet", + "rest_id": "1897631693034385653" + } + }, + "legacy": { + "bookmark_count": 4159, + "bookmarked": false, + "created_at": "Thu Mar 06 15:28:37 +0000 2025", + "conversation_id_str": "1897670662325461160", + "display_text_range": [ + 0, + 72 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 212312, + "favorited": false, + "full_text": "Ukraine needs to hold an election. \n\nZelensky would lose by a landslide.", + "is_quote_status": true, + "lang": "en", + "quote_count": 2975, + "quoted_status_id_str": "1897631693034385653", + "quoted_status_permalink": { + "url": "https://t.co/P8e2NFOqYs", + "expanded": "https://twitter.com/amuse/status/1897631693034385653", + "display": "x.com/amuse/status/1…" + }, + "reply_count": 29830, + "retweet_count": 34495, + "retweeted": false, + "user_id_str": "44196397", + "id_str": "1897670662325461160" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:52:34 +0000 2025", + "conversation_id_str": "1897827684459184430", + "display_text_range": [ + 0, + 172 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 12, + "favorited": false, + "full_text": "My worry is what will happen when these hyenas realise Ukrainians are in their great majority against the idea of elections at wartime. What next? What are they capable of?", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897670662325461160", + "quoted_status_permalink": { + "url": "https://t.co/emzPTnW1lP", + "expanded": "https://twitter.com/elonmusk/status/1897670662325461160", + "display": "x.com/elonmusk/statu…" + }, + "reply_count": 2, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "22799257", + "id_str": "1897827684459184430" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329409", + "sortIndex": "1897829059325329407", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "list-conversation-1897829059325329409-tweet-1897826802032099671", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897826802032099671", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/0eCpU7Wzxi", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 225, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "\"We need to think about more durable solutions\" than solely sending European peacekeepers to Ukraine, Italian Prime Minister Giorgia Meloni said on the sidelines of the EU leaders' meeting in...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "kyivindependent.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 480, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 827, + "width": 1240, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "1462548977367359490", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 67, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 827, + "width": 1240, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 827, + "width": 1240, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "kyivindependent.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 35, + "green": 35, + "red": 35 + }, + "percentage": 31.16 + }, + { + "rgb": { + "blue": 38, + "green": 64, + "red": 94 + }, + "percentage": 26.88 + }, + { + "rgb": { + "blue": 189, + "green": 194, + "red": 199 + }, + "percentage": 18.58 + }, + { + "rgb": { + "blue": 14, + "green": 59, + "red": 106 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 49, + "green": 33, + "red": 134 + }, + "percentage": 4.15 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "NATO could extend Article 5 protection to Ukraine without membership, Italian PM says", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 35, + "green": 35, + "red": 35 + }, + "percentage": 31.16 + }, + { + "rgb": { + "blue": 38, + "green": 64, + "red": 94 + }, + "percentage": 26.88 + }, + { + "rgb": { + "blue": 189, + "green": 194, + "red": 199 + }, + "percentage": 18.58 + }, + { + "rgb": { + "blue": 14, + "green": 59, + "red": 106 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 49, + "green": 33, + "red": 134 + }, + "percentage": 4.15 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 827, + "width": 1240, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 35, + "green": 35, + "red": 35 + }, + "percentage": 31.16 + }, + { + "rgb": { + "blue": 38, + "green": 64, + "red": 94 + }, + "percentage": 26.88 + }, + { + "rgb": { + "blue": 189, + "green": 194, + "red": 199 + }, + "percentage": 18.58 + }, + { + "rgb": { + "blue": 14, + "green": 59, + "red": 106 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 49, + "green": 33, + "red": 134 + }, + "percentage": 4.15 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 827, + "width": 1240, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/0eCpU7Wzxi", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 827, + "width": 1240, + "url": "https://pbs.twimg.com/card_img/1897826641675493376/hHYGBJwN?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/0eCpU7Wzxi", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897826802032099671" + ], + "editable_until_msecs": "1741315744000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "7532", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 10, + "bookmarked": false, + "created_at": "Fri Mar 07 01:49:04 +0000 2025", + "conversation_id_str": "1897826802032099671", + "display_text_range": [ + 0, + 279 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "kyivindependent.com/nato-could-ext…", + "expanded_url": "https://kyivindependent.com/nato-could-extend-article-5-protection-to-ukraine-without-membership-italian-pm-says/", + "url": "https://t.co/0eCpU7Wzxi", + "indices": [ + 256, + 279 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 130, + "favorited": false, + "full_text": "⚡️NATO could extend Article 5 protection to Ukraine without membership, Italian PM says.\n\nItalian Prime Minister Giorgia Meloni suggested on March 6 that NATO could extend Article 5 protections to Ukraine without granting Kyiv membership in the alliance.\n\nhttps://t.co/0eCpU7Wzxi", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 4, + "retweet_count": 28, + "retweeted": false, + "user_id_str": "1462548977367359490", + "id_str": "1897826802032099671" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329409-tweet-1897826930893771116", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897826930893771116", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897826930893771116" + ], + "editable_until_msecs": "1741315774000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5624", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Fri Mar 07 01:49:34 +0000 2025", + "conversation_id_str": "1897826802032099671", + "display_text_range": [ + 0, + 250 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 59, + "favorited": false, + "full_text": "\"We need to think about more durable solutions\" than solely sending European peacekeepers to Ukraine, Meloni said. \"It’s a different thing than entering NATO, but it implies extending the coverage that NATO countries have also to Ukraine,\" she added.", + "in_reply_to_screen_name": "KyivIndependent", + "in_reply_to_status_id_str": "1897826802032099671", + "in_reply_to_user_id_str": "1462548977367359490", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 4, + "retweeted": false, + "user_id_str": "1462548977367359490", + "id_str": "1897826930893771116" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1897826802032099671", + "1897826930893771116" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897826124610060735", + "sortIndex": "1897829059325329406", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897826124610060735", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897826124610060735" + ], + "editable_until_msecs": "1741315582000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1592", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897694712632389781", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNzA4OTg3MzI=", + "rest_id": "270898732", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Mar 23 13:17:30 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Escalation management consultant. Values-based policy advocate. Founder of Friends of Democracy. Former Foreign Minister of Lithuania. https://t.co/1Nq19S7e1I", + "entities": { + "description": { + "urls": [ + { + "display_url": "landsbergis.com", + "expanded_url": "http://landsbergis.com", + "url": "https://t.co/1Nq19S7e1I", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "landsbergis.com", + "expanded_url": "http://landsbergis.com", + "url": "https://t.co/1Nq19S7e1I", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2893, + "followers_count": 177290, + "friends_count": 893, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1142, + "location": "Vilnius", + "media_count": 437, + "name": "Gabrielius Landsbergis🇱🇹", + "normal_followers_count": 177290, + "pinned_tweet_ids_str": [ + "1897694712632389781" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/270898732/1734005652", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1867178761784832000/wGoGvZi8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GLandsbergis", + "statuses_count": 1626, + "translator_type": "none", + "url": "https://t.co/1Nq19S7e1I", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897694712632389781" + ], + "editable_until_msecs": "1741284251000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1626682", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 2912, + "bookmarked": false, + "created_at": "Thu Mar 06 17:04:11 +0000 2025", + "conversation_id_str": "1897694712632389781", + "display_text_range": [ + 0, + 268 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 25270, + "favorited": false, + "full_text": "The Trump-Putin Pact already exists, and we should act accordingly. There are some things we will never change with nice words or smart clothing. If you are worried about those things, you should understand where Trump's tactics come from. From Russia.\nA thread. 🧵1/14", + "is_quote_status": false, + "lang": "en", + "quote_count": 561, + "reply_count": 497, + "retweet_count": 6816, + "retweeted": false, + "user_id_str": "270898732", + "id_str": "1897694712632389781" + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Fri Mar 07 01:46:22 +0000 2025", + "conversation_id_str": "1897826124610060735", + "display_text_range": [ + 0, + 1 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 9, + "favorited": false, + "full_text": "🧵", + "is_quote_status": true, + "lang": "art", + "quote_count": 0, + "quoted_status_id_str": "1897694712632389781", + "quoted_status_permalink": { + "url": "https://t.co/Cisq9jCFCP", + "expanded": "https://twitter.com/glandsbergis/status/1897694712632389781", + "display": "x.com/glandsbergis/s…" + }, + "reply_count": 0, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897826124610060735" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897826025079247271", + "sortIndex": "1897829059325329405", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897826025079247271", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897826025079247271" + ], + "editable_until_msecs": "1741315558938", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:45:58 +0000 2025", + "conversation_id_str": "1897826025079247271", + "display_text_range": [ + 0, + 54 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "941132459621613568", + "name": "Janice Weiner", + "screen_name": "janice4iowa", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @janice4iowa: Thread of realism from one who knows:", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897694712632389781", + "quoted_status_permalink": { + "url": "https://t.co/HWDhkFoxKc", + "expanded": "https://twitter.com/glandsbergis/status/1897694712632389781", + "display": "x.com/glandsbergis/s…" + }, + "reply_count": 0, + "retweet_count": 3, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897826025079247271", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897825736221741458", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5NDExMzI0NTk2MjE2MTM1Njg=", + "rest_id": "941132459621613568", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Dec 14 02:27:18 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Iowa Senate Dem Leader | State Senator, SD 45 | Pro-democracy | Former city councilor. | Former US State Dept FSO | Mother of 2, Grandma to 1. 🇺🇸", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "janicew4iowa.com", + "expanded_url": "http://www.janicew4iowa.com", + "url": "https://t.co/CviC7KSEKC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 242682, + "followers_count": 3521, + "friends_count": 1032, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 25, + "location": "Iowa City, IA", + "media_count": 577, + "name": "Janice Weiner", + "normal_followers_count": 3521, + "pinned_tweet_ids_str": [ + "1807129987738399114" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/941132459621613568/1682048488", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1846910438711128064/B1fVJdkq_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "janice4iowa", + "statuses_count": 29384, + "translator_type": "none", + "url": "https://t.co/CviC7KSEKC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897825736221741458" + ], + "editable_until_msecs": "1741315490000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1261", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897694712632389781", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNzA4OTg3MzI=", + "rest_id": "270898732", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Mar 23 13:17:30 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Escalation management consultant. Values-based policy advocate. Founder of Friends of Democracy. Former Foreign Minister of Lithuania. https://t.co/1Nq19S7e1I", + "entities": { + "description": { + "urls": [ + { + "display_url": "landsbergis.com", + "expanded_url": "http://landsbergis.com", + "url": "https://t.co/1Nq19S7e1I", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "landsbergis.com", + "expanded_url": "http://landsbergis.com", + "url": "https://t.co/1Nq19S7e1I", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2893, + "followers_count": 177290, + "friends_count": 893, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1142, + "location": "Vilnius", + "media_count": 437, + "name": "Gabrielius Landsbergis🇱🇹", + "normal_followers_count": 177290, + "pinned_tweet_ids_str": [ + "1897694712632389781" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/270898732/1734005652", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1867178761784832000/wGoGvZi8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GLandsbergis", + "statuses_count": 1626, + "translator_type": "none", + "url": "https://t.co/1Nq19S7e1I", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897694712632389781" + ], + "editable_until_msecs": "1741284251000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1626682", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 2912, + "bookmarked": false, + "created_at": "Thu Mar 06 17:04:11 +0000 2025", + "conversation_id_str": "1897694712632389781", + "display_text_range": [ + 0, + 268 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 25270, + "favorited": false, + "full_text": "The Trump-Putin Pact already exists, and we should act accordingly. There are some things we will never change with nice words or smart clothing. If you are worried about those things, you should understand where Trump's tactics come from. From Russia.\nA thread. 🧵1/14", + "is_quote_status": false, + "lang": "en", + "quote_count": 561, + "reply_count": 497, + "retweet_count": 6816, + "retweeted": false, + "user_id_str": "270898732", + "id_str": "1897694712632389781" + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Fri Mar 07 01:44:50 +0000 2025", + "conversation_id_str": "1897825736221741458", + "display_text_range": [ + 0, + 37 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 4, + "favorited": false, + "full_text": "Thread of realism from one who knows:", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897694712632389781", + "quoted_status_permalink": { + "url": "https://t.co/HWDhkFoxKc", + "expanded": "https://twitter.com/glandsbergis/status/1897694712632389781", + "display": "x.com/glandsbergis/s…" + }, + "reply_count": 0, + "retweet_count": 3, + "retweeted": false, + "user_id_str": "941132459621613568", + "id_str": "1897825736221741458" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897825927729402315", + "sortIndex": "1897829059325329404", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897825927729402315", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897825927729402315" + ], + "editable_until_msecs": "1741315535728", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:45:35 +0000 2025", + "conversation_id_str": "1897825927729402315", + "display_text_range": [ + 0, + 94 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "255804172", + "name": "Alex Raufoglu", + "screen_name": "ralakbar", + "indices": [ + 3, + 12 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @ralakbar: \"The only imperialistic power I see in Europe right now is Russia” Macron says.", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897825927729402315", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897825121479672216", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTU4MDQxNzI=", + "rest_id": "255804172", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Feb 22 02:35:13 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "✍️ DC Correspondent covering South Caucasus and beyond | #PressFreedom advocate | @AmericanU 🎓 | @ForeignPressUSA Board | Tweets=personal", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 57996, + "followers_count": 22197, + "friends_count": 3347, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 374, + "location": "Washington, DC", + "media_count": 5859, + "name": "Alex Raufoglu", + "normal_followers_count": 22197, + "pinned_tweet_ids_str": [ + "1499806067257188356" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/255804172/1737428705", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1555417732983701504/T0zIn53s_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ralakbar", + "statuses_count": 69264, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897825121479672216" + ], + "editable_until_msecs": "1741315343000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "844", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:42:23 +0000 2025", + "conversation_id_str": "1897786495131365479", + "display_text_range": [ + 0, + 80 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 16, + "favorited": false, + "full_text": "\"The only imperialistic power I see in Europe right now is Russia” Macron says.", + "in_reply_to_screen_name": "ralakbar", + "in_reply_to_status_id_str": "1897786667106541988", + "in_reply_to_user_id_str": "255804172", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "255804172", + "id_str": "1897825121479672216" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897824874564882831", + "sortIndex": "1897829059325329403", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897824874564882831", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/qyidFTplX2", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 225, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Perkins Coie represented Hillary Clinton’s campaign and the Democratic National Committee during the 2016 presidential race.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.washingtonpost.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 480, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "2467791", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 67, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "washingtonpost.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 166, + "red": 187 + }, + "percentage": 27.37 + }, + { + "rgb": { + "blue": 168, + "green": 185, + "red": 180 + }, + "percentage": 20.42 + }, + { + "rgb": { + "blue": 102, + "green": 136, + "red": 182 + }, + "percentage": 18.44 + }, + { + "rgb": { + "blue": 44, + "green": 33, + "red": 23 + }, + "percentage": 12.33 + }, + { + "rgb": { + "blue": 90, + "green": 115, + "red": 117 + }, + "percentage": 9.07 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Trump targets another law firm. This one represented Hillary Clinton.", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 166, + "red": 187 + }, + "percentage": 27.37 + }, + { + "rgb": { + "blue": 168, + "green": 185, + "red": 180 + }, + "percentage": 20.42 + }, + { + "rgb": { + "blue": 102, + "green": 136, + "red": 182 + }, + "percentage": 18.44 + }, + { + "rgb": { + "blue": 44, + "green": 33, + "red": 23 + }, + "percentage": 12.33 + }, + { + "rgb": { + "blue": 90, + "green": 115, + "red": 117 + }, + "percentage": 9.07 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 166, + "red": 187 + }, + "percentage": 27.37 + }, + { + "rgb": { + "blue": 168, + "green": 185, + "red": 180 + }, + "percentage": 20.42 + }, + { + "rgb": { + "blue": 102, + "green": 136, + "red": 182 + }, + "percentage": 18.44 + }, + { + "rgb": { + "blue": 44, + "green": 33, + "red": 23 + }, + "percentage": 12.33 + }, + { + "rgb": { + "blue": 90, + "green": 115, + "red": 117 + }, + "percentage": 9.07 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/qyidFTplX2", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/qyidFTplX2", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDY3Nzkx", + "rest_id": "2467791", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Mar 27 11:19:39 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Democracy Dies in Darkness", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "washingtonpost.com", + "expanded_url": "http://washingtonpost.com", + "url": "https://t.co/1KN78z0bbe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3796, + "followers_count": 19877777, + "friends_count": 1639, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 104709, + "location": "Washington, DC", + "media_count": 21200, + "name": "The Washington Post", + "normal_followers_count": 19877777, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2467791/1469484132", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1060271522319925257/fJKwJ0r2_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "washingtonpost", + "statuses_count": 510202, + "translator_type": "regular", + "url": "https://t.co/1KN78z0bbe", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897824874564882831" + ], + "editable_until_msecs": "1741315284634", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:41:24 +0000 2025", + "conversation_id_str": "1897824874564882831", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2467791", + "name": "The Washington Post", + "screen_name": "washingtonpost", + "indices": [ + 3, + 18 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @washingtonpost: The Trump administration is seeking to punish another elite law firm that has represented clients the president conside…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 12, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897824874564882831", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897824743060799833", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDY3Nzkx", + "rest_id": "2467791", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Mar 27 11:19:39 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Democracy Dies in Darkness", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "washingtonpost.com", + "expanded_url": "http://washingtonpost.com", + "url": "https://t.co/1KN78z0bbe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3796, + "followers_count": 19877777, + "friends_count": 1639, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 104709, + "location": "Washington, DC", + "media_count": 21200, + "name": "The Washington Post", + "normal_followers_count": 19877777, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2467791/1469484132", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1060271522319925257/fJKwJ0r2_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "washingtonpost", + "statuses_count": 510202, + "translator_type": "regular", + "url": "https://t.co/1KN78z0bbe", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/qyidFTplX2", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 225, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Perkins Coie represented Hillary Clinton’s campaign and the Democratic National Committee during the 2016 presidential race.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.washingtonpost.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 480, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "2467791", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 67, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "washingtonpost.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 166, + "red": 187 + }, + "percentage": 27.37 + }, + { + "rgb": { + "blue": 168, + "green": 185, + "red": 180 + }, + "percentage": 20.42 + }, + { + "rgb": { + "blue": 102, + "green": 136, + "red": 182 + }, + "percentage": 18.44 + }, + { + "rgb": { + "blue": 44, + "green": 33, + "red": 23 + }, + "percentage": 12.33 + }, + { + "rgb": { + "blue": 90, + "green": 115, + "red": 117 + }, + "percentage": 9.07 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Trump targets another law firm. This one represented Hillary Clinton.", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 166, + "red": 187 + }, + "percentage": 27.37 + }, + { + "rgb": { + "blue": 168, + "green": 185, + "red": 180 + }, + "percentage": 20.42 + }, + { + "rgb": { + "blue": 102, + "green": 136, + "red": 182 + }, + "percentage": 18.44 + }, + { + "rgb": { + "blue": 44, + "green": 33, + "red": 23 + }, + "percentage": 12.33 + }, + { + "rgb": { + "blue": 90, + "green": 115, + "red": 117 + }, + "percentage": 9.07 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 166, + "red": 187 + }, + "percentage": 27.37 + }, + { + "rgb": { + "blue": 168, + "green": 185, + "red": 180 + }, + "percentage": 20.42 + }, + { + "rgb": { + "blue": 102, + "green": 136, + "red": 182 + }, + "percentage": 18.44 + }, + { + "rgb": { + "blue": 44, + "green": 33, + "red": 23 + }, + "percentage": 12.33 + }, + { + "rgb": { + "blue": 90, + "green": 115, + "red": 117 + }, + "percentage": 9.07 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/qyidFTplX2", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 960, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897766064747913219/9atpt6nS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/qyidFTplX2", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDY3Nzkx", + "rest_id": "2467791", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Mar 27 11:19:39 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Democracy Dies in Darkness", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "washingtonpost.com", + "expanded_url": "http://washingtonpost.com", + "url": "https://t.co/1KN78z0bbe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3796, + "followers_count": 19877777, + "friends_count": 1639, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 104709, + "location": "Washington, DC", + "media_count": 21200, + "name": "The Washington Post", + "normal_followers_count": 19877777, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2467791/1469484132", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1060271522319925257/fJKwJ0r2_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "washingtonpost", + "statuses_count": 510202, + "translator_type": "regular", + "url": "https://t.co/1KN78z0bbe", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897824743060799833" + ], + "editable_until_msecs": "1741315253000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "19323", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://www.socialflow.com\" rel=\"nofollow\">SocialFlow</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Fri Mar 07 01:40:53 +0000 2025", + "conversation_id_str": "1897824743060799833", + "display_text_range": [ + 0, + 249 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "wapo.st/4kmglwi", + "expanded_url": "https://wapo.st/4kmglwi", + "url": "https://t.co/qyidFTplX2", + "indices": [ + 226, + 249 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 27, + "favorited": false, + "full_text": "The Trump administration is seeking to punish another elite law firm that has represented clients the president considers his political enemies, according to an executive order signed in the White House on Thursday afternoon. https://t.co/qyidFTplX2", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 31, + "retweet_count": 12, + "retweeted": false, + "user_id_str": "2467791", + "id_str": "1897824743060799833" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897824727135142182", + "sortIndex": "1897829059325329402", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897824727135142182", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897824727135142182" + ], + "editable_until_msecs": "1741315249484", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:40:49 +0000 2025", + "conversation_id_str": "1897824727135142182", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "16170253", + "name": "Ryan Grim", + "screen_name": "ryangrim", + "indices": [ + 3, + 12 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @ryangrim: I regret to inform you we will have to close a dozen more Social Security offices. Another starship blew up. \n\nShared sacrifi…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897824727135142182", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897824645530677640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjE3MDI1Mw==", + "rest_id": "16170253", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Sep 07 15:34:51 +0000 2008", + "default_profile": true, + "default_profile_image": false, + "description": "Reporter at @DropSiteNews - Author of \"We've Got People.\" Co-host of Counter Points. DM for Signal. Views are my own, not yours.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "dropsitenews.com", + "expanded_url": "https://dropsitenews.com", + "url": "https://t.co/lRKDFxfOUU", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 26614, + "followers_count": 397788, + "friends_count": 10999, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3548, + "location": "washington", + "media_count": 3742, + "name": "Ryan Grim", + "normal_followers_count": 397788, + "pinned_tweet_ids_str": [ + "1871025068261675362" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/16170253/1524247261", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1890530753949081600/z0PbbtMi_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ryangrim", + "statuses_count": 86748, + "translator_type": "none", + "url": "https://t.co/lRKDFxfOUU", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": false, + "cash_app_handle": "ryangrimdc", + "venmo_handle": "ryan-grim-5" + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897824645530677640" + ], + "editable_until_msecs": "1741315230000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "9288", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 9, + "bookmarked": false, + "created_at": "Fri Mar 07 01:40:30 +0000 2025", + "conversation_id_str": "1897824645530677640", + "display_text_range": [ + 0, + 136 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 442, + "favorited": false, + "full_text": "I regret to inform you we will have to close a dozen more Social Security offices. Another starship blew up. \n\nShared sacrifice, people.", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 16, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "16170253", + "id_str": "1897824645530677640" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897824353292612057", + "sortIndex": "1897829059325329401", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897824353292612057", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/oys3LaTgkL", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "alt": "", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "alt": "", + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Video showed the upper stage of the most powerful rocket ever built spinning out of control in space, a repeat of an unsuccessful test flight in January that led to debris falling over the Caribbean.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.nytimes.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "alt": "", + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "alt": "", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "alt": "", + "height": 1686, + "width": 3000, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "807095", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "alt": "", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "alt": "", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "alt": "", + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "alt": "", + "height": 1151, + "width": 2048, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "alt": "", + "height": 1686, + "width": 3000, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "nytimes.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "alt": "", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "app_name", + "value": { + "string_value": "The New York Times: Live News", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 122, + "green": 116, + "red": 106 + }, + "percentage": 74.35 + }, + { + "rgb": { + "blue": 125, + "green": 116, + "red": 103 + }, + "percentage": 12.58 + }, + { + "rgb": { + "blue": 94, + "green": 125, + "red": 172 + }, + "percentage": 10.92 + }, + { + "rgb": { + "blue": 154, + "green": 170, + "red": 188 + }, + "percentage": 1.4 + }, + { + "rgb": { + "blue": 50, + "green": 54, + "red": 68 + }, + "percentage": 0.21 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "SpaceX’s Starship Rocket Disrupts Florida Airports With Unsuccessful Test Flight", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 122, + "green": 116, + "red": 106 + }, + "percentage": 74.35 + }, + { + "rgb": { + "blue": 125, + "green": 116, + "red": 103 + }, + "percentage": 12.58 + }, + { + "rgb": { + "blue": 94, + "green": 125, + "red": 172 + }, + "percentage": 10.92 + }, + { + "rgb": { + "blue": 154, + "green": 170, + "red": 188 + }, + "percentage": 1.4 + }, + { + "rgb": { + "blue": 50, + "green": 54, + "red": 68 + }, + "percentage": 0.21 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "alt": "", + "height": 1151, + "width": 2048, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "alt": "", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 122, + "green": 116, + "red": 106 + }, + "percentage": 74.35 + }, + { + "rgb": { + "blue": 125, + "green": 116, + "red": 103 + }, + "percentage": 12.58 + }, + { + "rgb": { + "blue": 94, + "green": 125, + "red": 172 + }, + "percentage": 10.92 + }, + { + "rgb": { + "blue": 154, + "green": 170, + "red": 188 + }, + "percentage": 1.4 + }, + { + "rgb": { + "blue": 50, + "green": 54, + "red": 68 + }, + "percentage": 0.21 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "alt": "", + "height": 1151, + "width": 2048, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/oys3LaTgkL", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "alt": "", + "height": 1686, + "width": 3000, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/oys3LaTgkL", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjo4MDcwOTU=", + "rest_id": "807095", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 02 20:41:42 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "News tips? Share them here: https://t.co/ghL9OoYKMM", + "entities": { + "description": { + "urls": [ + { + "display_url": "nyti.ms/2FVHq9v", + "expanded_url": "http://nyti.ms/2FVHq9v", + "url": "https://t.co/ghL9OoYKMM", + "indices": [ + 28, + 51 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "nytimes.com", + "expanded_url": "http://www.nytimes.com/", + "url": "http://t.co/ahvuWqicF9", + "indices": [ + 0, + 22 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 18505, + "followers_count": 55262332, + "friends_count": 854, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 208254, + "location": "New York City", + "media_count": 72414, + "name": "The New York Times", + "normal_followers_count": 55262332, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/807095/1584666392", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1098244578472280064/gjkVMelR_normal.png", + "profile_interstitial_type": "", + "screen_name": "nytimes", + "statuses_count": 558000, + "translator_type": "none", + "url": "http://t.co/ahvuWqicF9", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897824353292612057" + ], + "editable_until_msecs": "1741315160353", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:39:20 +0000 2025", + "conversation_id_str": "1897824353292612057", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "123327472", + "name": "Peter Baker", + "screen_name": "peterbakernyt", + "indices": [ + 3, + 17 + ] + }, + { + "id_str": "2463358249", + "name": "Kenneth Chang", + "screen_name": "kchangnyt", + "indices": [ + 128, + 138 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @peterbakernyt: Another of Elon Musk's SpaceX spacecraft explodes, disrupting air traffic in southern Florida due to debris. @kchangnyt…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 13, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897824353292612057", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897824079492583816", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjMzMjc0NzI=", + "rest_id": "123327472", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Mar 15 18:55:27 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Chief White House Correspondent for The New York Times and MSNBC analyst. Proud husband of @sbg1 and proud father of @tab_delete. Co-Author of \"THE DIVIDER.\"", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Divider-Trump-…", + "expanded_url": "https://www.amazon.com/Divider-Trump-White-House-2017-2021/dp/038554653X/ref=tmm_hrd_swatch_0?_encod", + "url": "https://t.co/Z7HFSpecPF", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6970, + "followers_count": 554858, + "friends_count": 3739, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6689, + "location": "", + "media_count": 397, + "name": "Peter Baker", + "normal_followers_count": 554858, + "pinned_tweet_ids_str": [ + "1882532027406463088" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/123327472/1649438188", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/821603222544596994/VlQaklD5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "peterbakernyt", + "statuses_count": 37880, + "translator_type": "none", + "url": "https://t.co/Z7HFSpecPF", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/oys3LaTgkL", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "alt": "", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "alt": "", + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Video showed the upper stage of the most powerful rocket ever built spinning out of control in space, a repeat of an unsuccessful test flight in January that led to debris falling over the Caribbean.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.nytimes.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "alt": "", + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "alt": "", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "alt": "", + "height": 1686, + "width": 3000, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "807095", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "alt": "", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "alt": "", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "alt": "", + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "alt": "", + "height": 1151, + "width": 2048, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "alt": "", + "height": 1686, + "width": 3000, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "nytimes.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "alt": "", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "app_name", + "value": { + "string_value": "The New York Times: Live News", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 122, + "green": 116, + "red": 106 + }, + "percentage": 74.35 + }, + { + "rgb": { + "blue": 125, + "green": 116, + "red": 103 + }, + "percentage": 12.58 + }, + { + "rgb": { + "blue": 94, + "green": 125, + "red": 172 + }, + "percentage": 10.92 + }, + { + "rgb": { + "blue": 154, + "green": 170, + "red": 188 + }, + "percentage": 1.4 + }, + { + "rgb": { + "blue": 50, + "green": 54, + "red": 68 + }, + "percentage": 0.21 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "SpaceX’s Starship Rocket Disrupts Florida Airports With Unsuccessful Test Flight", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 122, + "green": 116, + "red": 106 + }, + "percentage": 74.35 + }, + { + "rgb": { + "blue": 125, + "green": 116, + "red": 103 + }, + "percentage": 12.58 + }, + { + "rgb": { + "blue": 94, + "green": 125, + "red": 172 + }, + "percentage": 10.92 + }, + { + "rgb": { + "blue": 154, + "green": 170, + "red": 188 + }, + "percentage": 1.4 + }, + { + "rgb": { + "blue": 50, + "green": 54, + "red": 68 + }, + "percentage": 0.21 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "alt": "", + "height": 1151, + "width": 2048, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "alt": "", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 122, + "green": 116, + "red": 106 + }, + "percentage": 74.35 + }, + { + "rgb": { + "blue": 125, + "green": 116, + "red": 103 + }, + "percentage": 12.58 + }, + { + "rgb": { + "blue": 94, + "green": 125, + "red": 172 + }, + "percentage": 10.92 + }, + { + "rgb": { + "blue": 154, + "green": 170, + "red": 188 + }, + "percentage": 1.4 + }, + { + "rgb": { + "blue": 50, + "green": 54, + "red": 68 + }, + "percentage": 0.21 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "alt": "", + "height": 1151, + "width": 2048, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/oys3LaTgkL", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "alt": "", + "height": 1686, + "width": 3000, + "url": "https://pbs.twimg.com/card_img/1897820378430410753/_TStQ0D9?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/oys3LaTgkL", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjo4MDcwOTU=", + "rest_id": "807095", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Mar 02 20:41:42 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "News tips? Share them here: https://t.co/ghL9OoYKMM", + "entities": { + "description": { + "urls": [ + { + "display_url": "nyti.ms/2FVHq9v", + "expanded_url": "http://nyti.ms/2FVHq9v", + "url": "https://t.co/ghL9OoYKMM", + "indices": [ + 28, + 51 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "nytimes.com", + "expanded_url": "http://www.nytimes.com/", + "url": "http://t.co/ahvuWqicF9", + "indices": [ + 0, + 22 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 18505, + "followers_count": 55262332, + "friends_count": 854, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 208254, + "location": "New York City", + "media_count": 72414, + "name": "The New York Times", + "normal_followers_count": 55262332, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/807095/1584666392", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1098244578472280064/gjkVMelR_normal.png", + "profile_interstitial_type": "", + "screen_name": "nytimes", + "statuses_count": 558000, + "translator_type": "none", + "url": "http://t.co/ahvuWqicF9", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897824079492583816" + ], + "editable_until_msecs": "1741315095000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5222", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Fri Mar 07 01:38:15 +0000 2025", + "conversation_id_str": "1897824079492583816", + "display_text_range": [ + 0, + 143 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "nytimes.com/2025/03/06/sci…", + "expanded_url": "https://www.nytimes.com/2025/03/06/science/spacex-starship-launch.html?smid=nytcore-ios-share&referringSource=articleShare&sgrp=c&pvid=E99F64CC-3360-410B-A2F7-8B078A912775", + "url": "https://t.co/oys3LaTgkL", + "indices": [ + 120, + 143 + ] + } + ], + "user_mentions": [ + { + "id_str": "2463358249", + "name": "Kenneth Chang", + "screen_name": "kchangnyt", + "indices": [ + 109, + 119 + ] + } + ] + }, + "favorite_count": 31, + "favorited": false, + "full_text": "Another of Elon Musk's SpaceX spacecraft explodes, disrupting air traffic in southern Florida due to debris. @kchangnyt https://t.co/oys3LaTgkL", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 8, + "retweet_count": 13, + "retweeted": false, + "user_id_str": "123327472", + "id_str": "1897824079492583816" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897824268676661477", + "sortIndex": "1897829059325329400", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897824268676661477", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDA1ODQ2NTAwNTgzMzIxNjAx", + "rest_id": "1005846500583321601", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jun 10 16:17:48 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Dad. Husband. Vet. NYT Best-selling Author. Ex NSC/WH Staff. Senior Advisor @votevets. Dr. & Senior Fellow FPI, SAIS, JHU. @avindman.bsky.social", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "avindman.com", + "expanded_url": "https://avindman.com", + "url": "https://t.co/Zb1dWqElpQ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22353, + "followers_count": 912797, + "friends_count": 1841, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5465, + "location": "Florida, USA", + "media_count": 514, + "name": "Alexander S. Vindman 🇺🇸", + "normal_followers_count": 912797, + "pinned_tweet_ids_str": [ + "1897410895736942676" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1005846500583321601/1732284931", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1438653431837872135/6170zRMd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AVindman", + "statuses_count": 8700, + "translator_type": "none", + "url": "https://t.co/Zb1dWqElpQ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1469829466885132297", + "professional_type": "Business", + "category": [ + { + "id": 956, + "name": "Writer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897824268676661477" + ], + "editable_until_msecs": "1741315140179", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:39:00 +0000 2025", + "conversation_id_str": "1897824268676661477", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "20624855", + "name": "PublicAffairs", + "screen_name": "public_affairs", + "indices": [ + 3, + 18 + ] + }, + { + "id_str": "1005846500583321601", + "name": "Alexander S. Vindman 🇺🇸", + "screen_name": "AVindman", + "indices": [ + 47, + 56 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @public_affairs: Congratulations to Colonel @AVindman! 🎉 THE FOLLY OF REALISM is an instant New York Times bestseller! A powerful, urgen…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "1005846500583321601", + "id_str": "1897824268676661477", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897406211550797981", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMDYyNDg1NQ==", + "rest_id": "20624855", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Feb 11 20:35:47 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "PublicAffairs is a non-fiction book publisher in New York City, part of @hachetteus Good books about things that matter.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "publicaffairsbooks.com", + "expanded_url": "http://www.publicaffairsbooks.com", + "url": "https://t.co/5S8vHmd5mT", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6110, + "followers_count": 10440, + "friends_count": 2863, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 413, + "location": "New York", + "media_count": 2097, + "name": "PublicAffairs", + "normal_followers_count": 10440, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/20624855/1737038471", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1100448718460018689/X-P9ApG5_normal.png", + "profile_interstitial_type": "", + "screen_name": "public_affairs", + "statuses_count": 12796, + "translator_type": "none", + "url": "https://t.co/5S8vHmd5mT", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897406211550797981" + ], + "editable_until_msecs": "1741215467000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5579", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://www.socialbakers.com/\" rel=\"nofollow\">Emplifi</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Mar 05 21:57:47 +0000 2025", + "conversation_id_str": "1897406211550797981", + "display_text_range": [ + 0, + 207 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 193, + 207 + ], + "text": "NYTbestseller" + } + ], + "media": [ + { + "display_url": "pic.x.com/fDZeWEf3mw", + "expanded_url": "https://x.com/public_affairs/status/1897406211550797981/photo/1", + "id_str": "1897406205032562688", + "indices": [ + 208, + 231 + ], + "media_key": "3_1897406205032562688", + "media_url_https": "https://pbs.twimg.com/media/GlTw4_2WgAAHxlv.jpg", + "type": "photo", + "url": "https://t.co/fDZeWEf3mw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 243, + "y": 104, + "h": 1078, + "w": 1078 + } + ] + }, + "medium": { + "faces": [ + { + "x": 180, + "y": 77, + "h": 798, + "w": 798 + } + ] + }, + "small": { + "faces": [ + { + "x": 102, + "y": 43, + "h": 452, + "w": 452 + } + ] + }, + "orig": { + "faces": [ + { + "x": 243, + "y": 104, + "h": 1078, + "w": 1078 + } + ] + } + }, + "sizes": { + "large": { + "h": 1620, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1620, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 640, + "w": 1620, + "h": 907 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1620 + }, + { + "x": 199, + "y": 0, + "w": 1421, + "h": 1620 + }, + { + "x": 526, + "y": 0, + "w": 810, + "h": 1620 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1620 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897406205032562688" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1005846500583321601", + "name": "Alexander S. Vindman 🇺🇸", + "screen_name": "AVindman", + "indices": [ + 27, + 36 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/fDZeWEf3mw", + "expanded_url": "https://x.com/public_affairs/status/1897406211550797981/photo/1", + "id_str": "1897406205032562688", + "indices": [ + 208, + 231 + ], + "media_key": "3_1897406205032562688", + "media_url_https": "https://pbs.twimg.com/media/GlTw4_2WgAAHxlv.jpg", + "type": "photo", + "url": "https://t.co/fDZeWEf3mw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 243, + "y": 104, + "h": 1078, + "w": 1078 + } + ] + }, + "medium": { + "faces": [ + { + "x": 180, + "y": 77, + "h": 798, + "w": 798 + } + ] + }, + "small": { + "faces": [ + { + "x": 102, + "y": 43, + "h": 452, + "w": 452 + } + ] + }, + "orig": { + "faces": [ + { + "x": 243, + "y": 104, + "h": 1078, + "w": 1078 + } + ] + } + }, + "sizes": { + "large": { + "h": 1620, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1620, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 640, + "w": 1620, + "h": 907 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1620 + }, + { + "x": 199, + "y": 0, + "w": 1421, + "h": 1620 + }, + { + "x": 526, + "y": 0, + "w": 810, + "h": 1620 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1620 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897406205032562688" + } + } + } + ] + }, + "favorite_count": 23, + "favorited": false, + "full_text": "Congratulations to Colonel @AVindman! 🎉 THE FOLLY OF REALISM is an instant New York Times bestseller! A powerful, urgent read on how the West deceived itself about Russia and betrayed Ukraine. #NYTbestseller https://t.co/fDZeWEf3mw", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 1, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "20624855", + "id_str": "1897406211550797981" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897823618240843798", + "sortIndex": "1897829059325329399", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897823618240843798", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897823618240843798" + ], + "editable_until_msecs": "1741314985103", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:36:25 +0000 2025", + "conversation_id_str": "1897823618240843798", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "71298686", + "name": "Institute for the Study of War", + "screen_name": "TheStudyofWar", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @TheStudyofWar: NEW: Putin and other Kremlin officials explicitly rejected making any concessions in future peace negotiations or accept…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 89, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897823618240843798", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897823191177085019", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3MTI5ODY4Ng==", + "rest_id": "71298686", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Sep 03 16:45:28 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "ISW is a policy research organization focused on U.S. national security. Email: press@understandingwar.org.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "linktr.ee/understandingw…", + "expanded_url": "https://linktr.ee/understandingwar", + "url": "https://t.co/FO1PVyOnYB", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 11715, + "followers_count": 733753, + "friends_count": 3160, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 15028, + "location": "Washington D.C.", + "media_count": 18987, + "name": "Institute for the Study of War", + "normal_followers_count": 733753, + "pinned_tweet_ids_str": [ + "1897823191177085019" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/71298686/1349204897", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/631572279722442753/6O1oMGEX_normal.png", + "profile_interstitial_type": "", + "screen_name": "TheStudyofWar", + "statuses_count": 48089, + "translator_type": "none", + "url": "https://t.co/FO1PVyOnYB", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1577022193313120282", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897823191177085019" + ], + "editable_until_msecs": "1741314883000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "20773", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc4MjMxOTEwNTU0NTAxMTI=", + "text": "NEW: Putin and other Kremlin officials explicitly rejected making any concessions in future peace negotiations or accepting any US, European, or Ukrainian peace proposals, and the Russian Ministry of Foreign Affairs (MFA) rejected the possibility of a negotiated ceasefire on March 6.\n\nUS Special Presidential Envoy for Russia and Ukraine Keith Kellogg emphasized on March 6 that the early 2022 Istanbul protocols are not an \"equitable framework\" for negotiations between Russia and Ukraine and stated that the US should \"develop something entirely new.\"\n\nUS and Ukrainian delegations will conduct bilateral meetings in Saudi Arabia next week. Ukrainian Presidential Administration Chief of Staff Andriy Yermak stated on March 6 that he had a phone conversation with US National Security Advisor Mike Waltz to discuss the \"next steps toward a just and lasting peace\" and has scheduled a bilateral US-Ukrainian meeting in the near future.", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [ + { + "from_index": 0, + "to_index": 4, + "richtext_types": [ + "Bold" + ] + } + ] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 25, + "bookmarked": false, + "created_at": "Fri Mar 07 01:34:43 +0000 2025", + "conversation_id_str": "1897823191177085019", + "display_text_range": [ + 0, + 275 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/PnVNrNRE5D", + "expanded_url": "https://x.com/TheStudyofWar/status/1897823191177085019/photo/1", + "id_str": "1897822625964986368", + "indices": [ + 276, + 299 + ], + "media_key": "3_1897822625964986368", + "media_url_https": "https://pbs.twimg.com/media/GlZrn4tXkAALVbV.jpg", + "type": "photo", + "url": "https://t.co/PnVNrNRE5D", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1639, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3543, + "width": 2835, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2835, + "h": 1588 + }, + { + "x": 0, + "y": 0, + "w": 2835, + "h": 2835 + }, + { + "x": 0, + "y": 0, + "w": 2835, + "h": 3232 + }, + { + "x": 1063, + "y": 0, + "w": 1772, + "h": 3543 + }, + { + "x": 0, + "y": 0, + "w": 2835, + "h": 3543 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897822625964986368" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/PnVNrNRE5D", + "expanded_url": "https://x.com/TheStudyofWar/status/1897823191177085019/photo/1", + "id_str": "1897822625964986368", + "indices": [ + 276, + 299 + ], + "media_key": "3_1897822625964986368", + "media_url_https": "https://pbs.twimg.com/media/GlZrn4tXkAALVbV.jpg", + "type": "photo", + "url": "https://t.co/PnVNrNRE5D", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1639, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3543, + "width": 2835, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2835, + "h": 1588 + }, + { + "x": 0, + "y": 0, + "w": 2835, + "h": 2835 + }, + { + "x": 0, + "y": 0, + "w": 2835, + "h": 3232 + }, + { + "x": 1063, + "y": 0, + "w": 1772, + "h": 3543 + }, + { + "x": 0, + "y": 0, + "w": 2835, + "h": 3543 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897822625964986368" + } + } + } + ] + }, + "favorite_count": 157, + "favorited": false, + "full_text": "NEW: Putin and other Kremlin officials explicitly rejected making any concessions in future peace negotiations or accepting any US, European, or Ukrainian peace proposals, and the Russian Ministry of Foreign Affairs (MFA) rejected the possibility of a negotiated ceasefire on https://t.co/PnVNrNRE5D", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 11, + "reply_count": 9, + "retweet_count": 89, + "retweeted": false, + "user_id_str": "71298686", + "id_str": "1897823191177085019" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897823405614706884", + "sortIndex": "1897829059325329398", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897823405614706884", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDA1ODQ2NTAwNTgzMzIxNjAx", + "rest_id": "1005846500583321601", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jun 10 16:17:48 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Dad. Husband. Vet. NYT Best-selling Author. Ex NSC/WH Staff. Senior Advisor @votevets. Dr. & Senior Fellow FPI, SAIS, JHU. @avindman.bsky.social", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "avindman.com", + "expanded_url": "https://avindman.com", + "url": "https://t.co/Zb1dWqElpQ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22353, + "followers_count": 912797, + "friends_count": 1841, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5465, + "location": "Florida, USA", + "media_count": 514, + "name": "Alexander S. Vindman 🇺🇸", + "normal_followers_count": 912797, + "pinned_tweet_ids_str": [ + "1897410895736942676" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1005846500583321601/1732284931", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1438653431837872135/6170zRMd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AVindman", + "statuses_count": 8700, + "translator_type": "none", + "url": "https://t.co/Zb1dWqElpQ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1469829466885132297", + "professional_type": "Business", + "category": [ + { + "id": 956, + "name": "Writer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/iDdu2UnIi7", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 200, + "width": 400, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=400x400" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Alexander Vindman argues that U.S. missteps and naïveté created the conditions for Russian imperialism’s return.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.thebulwark.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 300, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=600x600" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 72, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "thebulwark.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 25, + "green": 8, + "red": 4 + }, + "percentage": 63.87 + }, + { + "rgb": { + "blue": 80, + "green": 92, + "red": 123 + }, + "percentage": 14.07 + }, + { + "rgb": { + "blue": 49, + "green": 14, + "red": 6 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 113, + "green": 29, + "red": 11 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 72, + "green": 14, + "red": 9 + }, + "percentage": 1.1 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "How Years of American Policy Bumbling Boosted Putin", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 25, + "green": 8, + "red": 4 + }, + "percentage": 63.87 + }, + { + "rgb": { + "blue": 80, + "green": 92, + "red": 123 + }, + "percentage": 14.07 + }, + { + "rgb": { + "blue": 49, + "green": 14, + "red": 6 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 113, + "green": 29, + "red": 11 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 72, + "green": 14, + "red": 9 + }, + "percentage": 1.1 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 25, + "green": 8, + "red": 4 + }, + "percentage": 63.87 + }, + { + "rgb": { + "blue": 80, + "green": 92, + "red": 123 + }, + "percentage": 14.07 + }, + { + "rgb": { + "blue": 49, + "green": 14, + "red": 6 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 113, + "green": 29, + "red": 11 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 72, + "green": 14, + "red": 9 + }, + "percentage": 1.1 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/iDdu2UnIi7", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/iDdu2UnIi7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897823405614706884" + ], + "editable_until_msecs": "1741314934409", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:35:34 +0000 2025", + "conversation_id_str": "1897823405614706884", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1049475664804532225", + "name": "The Bulwark", + "screen_name": "BulwarkOnline", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @BulwarkOnline: For American policymakers at the time, the possibility of nuclear weapons falling into the wrong hands seemed significan…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 16, + "retweeted": false, + "user_id_str": "1005846500583321601", + "id_str": "1897823405614706884", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897663609657815388", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDQ5NDc1NjY0ODA0NTMyMjI1", + "rest_id": "1049475664804532225", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Oct 09 01:44:31 +0000 2018", + "default_profile": false, + "default_profile_image": false, + "description": "Political analysis and reporting free of tribal prejudices. Subscribe here: https://t.co/KDejWa49D9 and send us tips https://t.co/k4QsKoQ23a", + "entities": { + "description": { + "urls": [ + { + "display_url": "thebulwark.com/subscribe", + "expanded_url": "https://www.thebulwark.com/subscribe", + "url": "https://t.co/KDejWa49D9", + "indices": [ + 76, + 99 + ] + }, + { + "display_url": "thebulwark.com/tips", + "expanded_url": "http://thebulwark.com/tips", + "url": "https://t.co/k4QsKoQ23a", + "indices": [ + 117, + 140 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "thebulwark.com", + "expanded_url": "https://thebulwark.com/", + "url": "https://t.co/3DqYR3mhkb", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3562, + "followers_count": 134194, + "friends_count": 176, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1432, + "location": "Washington, DC", + "media_count": 2950, + "name": "The Bulwark", + "normal_followers_count": 134194, + "pinned_tweet_ids_str": [ + "1895147186456854690" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1049475664804532225/1634062005", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1049476077998002176/GuHqidtc_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "BulwarkOnline", + "statuses_count": 47630, + "translator_type": "none", + "url": "https://t.co/3DqYR3mhkb", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1488973694248665089", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/iDdu2UnIi7", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 200, + "width": 400, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=400x400" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Alexander Vindman argues that U.S. missteps and naïveté created the conditions for Russian imperialism’s return.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.thebulwark.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 300, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=600x600" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 72, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "thebulwark.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 25, + "green": 8, + "red": 4 + }, + "percentage": 63.87 + }, + { + "rgb": { + "blue": 80, + "green": 92, + "red": 123 + }, + "percentage": 14.07 + }, + { + "rgb": { + "blue": 49, + "green": 14, + "red": 6 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 113, + "green": 29, + "red": 11 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 72, + "green": 14, + "red": 9 + }, + "percentage": 1.1 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "How Years of American Policy Bumbling Boosted Putin", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 25, + "green": 8, + "red": 4 + }, + "percentage": 63.87 + }, + { + "rgb": { + "blue": 80, + "green": 92, + "red": 123 + }, + "percentage": 14.07 + }, + { + "rgb": { + "blue": 49, + "green": 14, + "red": 6 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 113, + "green": 29, + "red": 11 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 72, + "green": 14, + "red": 9 + }, + "percentage": 1.1 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 25, + "green": 8, + "red": 4 + }, + "percentage": 63.87 + }, + { + "rgb": { + "blue": 80, + "green": 92, + "red": 123 + }, + "percentage": 14.07 + }, + { + "rgb": { + "blue": 49, + "green": 14, + "red": 6 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 113, + "green": 29, + "red": 11 + }, + "percentage": 6.69 + }, + { + "rgb": { + "blue": 72, + "green": 14, + "red": 9 + }, + "percentage": 1.1 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/iDdu2UnIi7", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 800, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897564775325773824/9AAvgT50?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/iDdu2UnIi7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897663609657815388" + ], + "editable_until_msecs": "1741276836000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8278", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://publer.com\" rel=\"nofollow\">Publer.com</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Thu Mar 06 15:00:36 +0000 2025", + "conversation_id_str": "1897663609657815388", + "display_text_range": [ + 0, + 267 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "thebulwark.com/p/how-years-of…", + "expanded_url": "https://www.thebulwark.com/p/how-years-of-american-policy-bumbling-boosted-putin-alexander-vindman-review", + "url": "https://t.co/iDdu2UnIi7", + "indices": [ + 244, + 267 + ] + } + ], + "user_mentions": [ + { + "id_str": "69986363", + "name": "Casey Michel", + "screen_name": "cjcmichel", + "indices": [ + 214, + 224 + ] + }, + { + "id_str": "1005846500583321601", + "name": "Alexander S. Vindman 🇺🇸", + "screen_name": "AVindman", + "indices": [ + 233, + 242 + ] + } + ] + }, + "favorite_count": 29, + "favorited": false, + "full_text": "For American policymakers at the time, the possibility of nuclear weapons falling into the wrong hands seemed significant and alarming—and “the wrong hands” quickly became synonymous with “anyone’s but Moscow’s.”\n\n@cjcmichel reviews @AVindman:\nhttps://t.co/iDdu2UnIi7", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 2, + "retweet_count": 16, + "retweeted": false, + "user_id_str": "1049475664804532225", + "id_str": "1897663609657815388" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897822892169015382", + "sortIndex": "1897829059325329397", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897822892169015382", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897822892169015382" + ], + "editable_until_msecs": "1741314811994", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:33:31 +0000 2025", + "conversation_id_str": "1897822892169015382", + "display_text_range": [ + 0, + 99 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "18025377", + "name": "Michael Weiss", + "screen_name": "michaeldweiss", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @michaeldweiss: In fact, it came from active MI6 officers who were horrified by her appointment.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897809632422511049", + "quoted_status_permalink": { + "url": "https://t.co/JCAeIPtOZi", + "expanded": "https://twitter.com/acyn/status/1897809632422511049", + "display": "x.com/acyn/status/18…" + }, + "reply_count": 0, + "retweet_count": 188, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897822892169015382", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897817161583739372", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODAyNTM3Nw==", + "rest_id": "18025377", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Dec 10 18:01:28 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Editor @insidereng, @foreignoffpod. ISIS: Inside the Army of Terror: https://t.co/zOgJMJGUl5. Next book: GRU @vikingbooks. macspaunday@protonmail.com", + "entities": { + "description": { + "urls": [ + { + "display_url": "goo.gl/Jb6uEA", + "expanded_url": "http://goo.gl/Jb6uEA", + "url": "https://t.co/zOgJMJGUl5", + "indices": [ + 69, + 92 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "michaelweissjournalist.com", + "expanded_url": "https://michaelweissjournalist.com/", + "url": "https://t.co/inncvarcQZ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2503, + "followers_count": 248280, + "friends_count": 4594, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6610, + "location": "New York, NY", + "media_count": 3495, + "name": "Michael Weiss", + "normal_followers_count": 248280, + "pinned_tweet_ids_str": [ + "1715340789989949499" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18025377/1612718037", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1797822023483195392/PUM5gllX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "michaeldweiss", + "statuses_count": 36907, + "translator_type": "none", + "url": "https://t.co/inncvarcQZ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897817161583739372" + ], + "editable_until_msecs": "1741313445000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "43677", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897809632422511049", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjYzNTI3Nw==", + "rest_id": "16635277", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Oct 07 19:37:09 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Senior Digital Editor for https://t.co/ok280opPL9 Clips made with @SnapStream Internet Hooligan…", + "entities": { + "description": { + "urls": [ + { + "display_url": "MeidasTouch.com", + "expanded_url": "http://MeidasTouch.com", + "url": "https://t.co/ok280opPL9", + "indices": [ + 26, + 49 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "bit.ly/acyn-snapstrea…", + "expanded_url": "https://bit.ly/acyn-snapstream-twitter-2023a", + "url": "https://t.co/6SPj6LVBVO", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 557748, + "followers_count": 585456, + "friends_count": 5521, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4391, + "location": "Los Angeles, California", + "media_count": 46498, + "name": "Acyn", + "normal_followers_count": 585456, + "pinned_tweet_ids_str": [ + "1644545528628379652" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/16635277/1678250349", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1332231334761119745/wMzlpuHi_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Acyn", + "statuses_count": 156152, + "translator_type": "none", + "url": "https://t.co/6SPj6LVBVO", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "acyntwitter" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897809632422511049" + ], + "editable_until_msecs": "1741311650000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "113466", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://www.snapstream.com\" rel=\"nofollow\">SnapStream TV Search</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc4MDk2MzIzNDI4MTg4MTY=", + "text": "Gabbard on report that allies are considering withholding intel from the US: I'm laughing because we have heard this story before. And generally, it's coming from those who either former leaders within our own intelligence community who are trying to politicize their titles and their positions to try to undermine president trump's peace mission and agenda..", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 33, + "bookmarked": false, + "created_at": "Fri Mar 07 00:40:50 +0000 2025", + "conversation_id_str": "1897809632422511049", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/5m11XyohD8", + "expanded_url": "https://x.com/Acyn/status/1897809632422511049/video/1", + "id_str": "1897809574125879296", + "indices": [ + 279, + 302 + ], + "media_key": "13_1897809574125879296", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897809574125879296/img/mx__YMOwNXV4dcIN.jpg", + "type": "video", + "url": "https://t.co/5m11XyohD8", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 99799, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/pl/X1nd-MLvrXBypcQP.m3u8?tag=14&v=1bd" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/480x270/47ItY4t6Gst_6Z7v.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/640x360/8xtdS6iYV9H5NUu9.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/1280x720/phZ0PYF3hur_JcLJ.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897809574125879296" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/5m11XyohD8", + "expanded_url": "https://x.com/Acyn/status/1897809632422511049/video/1", + "id_str": "1897809574125879296", + "indices": [ + 279, + 302 + ], + "media_key": "13_1897809574125879296", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897809574125879296/img/mx__YMOwNXV4dcIN.jpg", + "type": "video", + "url": "https://t.co/5m11XyohD8", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 99799, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/pl/X1nd-MLvrXBypcQP.m3u8?tag=14&v=1bd" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/480x270/47ItY4t6Gst_6Z7v.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/640x360/8xtdS6iYV9H5NUu9.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/1280x720/phZ0PYF3hur_JcLJ.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897809574125879296" + } + } + } + ] + }, + "favorite_count": 161, + "favorited": false, + "full_text": "Gabbard on report that allies are considering withholding intel from the US: I'm laughing because we have heard this story before. And generally, it's coming from those who either former leaders within our own intelligence community who are trying to politicize their titles and https://t.co/5m11XyohD8", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 10, + "reply_count": 125, + "retweet_count": 36, + "retweeted": false, + "user_id_str": "16635277", + "id_str": "1897809632422511049" + } + } + }, + "legacy": { + "bookmark_count": 27, + "bookmarked": false, + "created_at": "Fri Mar 07 01:10:45 +0000 2025", + "conversation_id_str": "1897817161583739372", + "display_text_range": [ + 0, + 80 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 559, + "favorited": false, + "full_text": "In fact, it came from active MI6 officers who were horrified by her appointment.", + "is_quote_status": true, + "lang": "en", + "quote_count": 4, + "quoted_status_id_str": "1897809632422511049", + "quoted_status_permalink": { + "url": "https://t.co/JCAeIPtOZi", + "expanded": "https://twitter.com/acyn/status/1897809632422511049", + "display": "x.com/acyn/status/18…" + }, + "reply_count": 21, + "retweet_count": 188, + "retweeted": false, + "user_id_str": "18025377", + "id_str": "1897817161583739372" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897822769619890185", + "sortIndex": "1897829059325329396", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897822769619890185", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjc5OTI1Nw==", + "rest_id": "22799257", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Mar 04 16:58:21 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Foreign Correspondent for @TheEconomist | Covering Ukraine, Russia, Belarus | Opinions strictly my own | DM for Signal", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "olliecarroll.com", + "expanded_url": "http://www.olliecarroll.com", + "url": "https://t.co/2PqUq7MmYC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6580, + "followers_count": 137900, + "friends_count": 3050, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3967, + "location": "Ukraine", + "media_count": 2331, + "name": "Oliver Carroll", + "normal_followers_count": 137900, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/22799257/1434115079", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1541040357177180160/OHKDGhmR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olliecarroll", + "statuses_count": 19431, + "translator_type": "none", + "url": "https://t.co/2PqUq7MmYC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1542570582226702338", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897822769619890185" + ], + "editable_until_msecs": "1741314782776", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:33:02 +0000 2025", + "conversation_id_str": "1897822769619890185", + "display_text_range": [ + 0, + 96 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1439661253", + "name": "Mark Urban", + "screen_name": "MarkUrban01", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @MarkUrban01: “It can be done!” Inspiring message from a thoroughly deserving award winner 👏🏻", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897702535437205644", + "quoted_status_permalink": { + "url": "https://t.co/Rr18B2lNp4", + "expanded": "https://twitter.com/rts_media/status/1897702535437205644", + "display": "x.com/rts_media/stat…" + }, + "reply_count": 0, + "retweet_count": 50, + "retweeted": false, + "user_id_str": "22799257", + "id_str": "1897822769619890185", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897735933794857306", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDM5NjYxMjUz", + "rest_id": "1439661253", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat May 18 22:55:32 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Writes for Sunday Times, BBC 1990-2024, author; Big Boys Rules, Generals, Rifles, TF Black, The Tank War, The Edge, Skripal Files, Red Devils, trustee @I_W_M", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "bbc.co.uk/markurban", + "expanded_url": "http://www.bbc.co.uk/markurban", + "url": "https://t.co/9cnqpKg0nB", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 10745, + "followers_count": 74718, + "friends_count": 1325, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1271, + "location": "London (usually)", + "media_count": 814, + "name": "Mark Urban", + "normal_followers_count": 74718, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1439661253/1497394283", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1591135590778535936/NivPtqfY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MarkUrban01", + "statuses_count": 20773, + "translator_type": "none", + "url": "https://t.co/9cnqpKg0nB", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897735933794857306" + ], + "editable_until_msecs": "1741294079000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "17212", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897702535437205644", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2NDY4Mzg0Ng==", + "rest_id": "64683846", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 11 10:56:55 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "The Royal Television Society is for everyone with an interest in TV. Follow us for TV news, events and awards.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "rts.org.uk", + "expanded_url": "http://www.rts.org.uk", + "url": "https://t.co/lqczKBsr0e", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3000, + "followers_count": 32112, + "friends_count": 704, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 269, + "location": "London", + "media_count": 22845, + "name": "Royal Television Society", + "normal_followers_count": 32112, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/64683846/1582806566", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1884288551879127040/ZfzVoa2o_normal.png", + "profile_interstitial_type": "", + "screen_name": "RTS_media", + "statuses_count": 29647, + "translator_type": "none", + "url": "https://t.co/lqczKBsr0e", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897702535437205644" + ], + "editable_until_msecs": "1741286116000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "72514", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://twitter.com\" rel=\"nofollow\">TweetDeck Web App</a>", + "legacy": { + "bookmark_count": 42, + "bookmarked": false, + "created_at": "Thu Mar 06 17:35:16 +0000 2025", + "conversation_id_str": "1897702535437205644", + "display_text_range": [ + 0, + 164 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 154, + 164 + ], + "text": "RTSAwards" + } + ], + "media": [ + { + "display_url": "pic.x.com/8DstK5iqpJ", + "expanded_url": "https://x.com/RTS_media/status/1897702535437205644/video/1", + "id_str": "1897702416788623361", + "indices": [ + 165, + 188 + ], + "media_key": "7_1897702416788623361", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897702416788623361/pu/img/3sKARTsdUvdBtQDa.jpg", + "type": "video", + "url": "https://t.co/8DstK5iqpJ", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 67567, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/pl/Pq88_s6HRN7YdaWv.m3u8?tag=12&v=183" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/480x270/977TwXaHss-Sgs--.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/640x360/GwNrLNTDlgGaM1OX.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/1280x720/CwH5mRB3cErP_uVe.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897702416788623361" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "56565843", + "name": "Gary O'Donoghue", + "screen_name": "BBCBlindGazza", + "indices": [ + 1, + 15 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/8DstK5iqpJ", + "expanded_url": "https://x.com/RTS_media/status/1897702535437205644/video/1", + "id_str": "1897702416788623361", + "indices": [ + 165, + 188 + ], + "media_key": "7_1897702416788623361", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897702416788623361/pu/img/3sKARTsdUvdBtQDa.jpg", + "type": "video", + "url": "https://t.co/8DstK5iqpJ", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 67567, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/pl/Pq88_s6HRN7YdaWv.m3u8?tag=12&v=183" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/480x270/977TwXaHss-Sgs--.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/640x360/GwNrLNTDlgGaM1OX.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/1280x720/CwH5mRB3cErP_uVe.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897702416788623361" + } + } + } + ] + }, + "favorite_count": 614, + "favorited": false, + "full_text": ".@BBCBlindGazza ends his acceptance speech at last night’s RTS Television Journalism Awards by reflecting on the barriers he faced as a blind broadcaster #RTSAwards https://t.co/8DstK5iqpJ", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 33, + "reply_count": 32, + "retweet_count": 132, + "retweeted": false, + "user_id_str": "64683846", + "id_str": "1897702535437205644" + } + } + }, + "legacy": { + "bookmark_count": 10, + "bookmarked": false, + "created_at": "Thu Mar 06 19:47:59 +0000 2025", + "conversation_id_str": "1897735933794857306", + "display_text_range": [ + 0, + 79 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 285, + "favorited": false, + "full_text": "“It can be done!” Inspiring message from a thoroughly deserving award winner 👏🏻", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1897702535437205644", + "quoted_status_permalink": { + "url": "https://t.co/Rr18B2lNp4", + "expanded": "https://twitter.com/rts_media/status/1897702535437205644", + "display": "x.com/rts_media/stat…" + }, + "reply_count": 6, + "retweet_count": 50, + "retweeted": false, + "user_id_str": "1439661253", + "id_str": "1897735933794857306" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897822342165709209", + "sortIndex": "1897829059325329395", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897822342165709209", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjc5OTI1Nw==", + "rest_id": "22799257", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Mar 04 16:58:21 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Foreign Correspondent for @TheEconomist | Covering Ukraine, Russia, Belarus | Opinions strictly my own | DM for Signal", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "olliecarroll.com", + "expanded_url": "http://www.olliecarroll.com", + "url": "https://t.co/2PqUq7MmYC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6580, + "followers_count": 137900, + "friends_count": 3050, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3967, + "location": "Ukraine", + "media_count": 2331, + "name": "Oliver Carroll", + "normal_followers_count": 137900, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/22799257/1434115079", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1541040357177180160/OHKDGhmR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olliecarroll", + "statuses_count": 19431, + "translator_type": "none", + "url": "https://t.co/2PqUq7MmYC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1542570582226702338", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897822342165709209" + ], + "editable_until_msecs": "1741314680863", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:31:20 +0000 2025", + "conversation_id_str": "1897822342165709209", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "438111039", + "name": "Steve Rosenberg", + "screen_name": "BBCSteveR", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @BBCSteveR: In Moscow no sign of concessions or compromise on Ukraine. But much satisfaction with what the Trump administration has been…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 588, + "retweeted": false, + "user_id_str": "22799257", + "id_str": "1897822342165709209", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897741726669840402", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MzgxMTEwMzk=", + "rest_id": "438111039", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Dec 16 05:57:09 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Russia Editor for BBC News", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "news.bbc.co.uk", + "expanded_url": "http://news.bbc.co.uk", + "url": "https://t.co/m4noclc80a", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 18962, + "followers_count": 283025, + "friends_count": 4508, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4408, + "location": "Moscow", + "media_count": 4203, + "name": "Steve Rosenberg", + "normal_followers_count": 283025, + "pinned_tweet_ids_str": [ + "1897741726669840402" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/438111039/1355528044", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/2286630588/xrtdw68jkgzoexzkf55i_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "BBCSteveR", + "statuses_count": 20998, + "translator_type": "none", + "url": "https://t.co/m4noclc80a", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897741726669840402" + ], + "editable_until_msecs": "1741295460000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "104574", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://studio.twitter.com\" rel=\"nofollow\">Twitter Media Studio</a>", + "legacy": { + "bookmark_count": 167, + "bookmarked": false, + "created_at": "Thu Mar 06 20:11:00 +0000 2025", + "conversation_id_str": "1897741726669840402", + "display_text_range": [ + 0, + 191 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/HBlZkNQTgi", + "expanded_url": "https://x.com/BBCSteveR/status/1897741726669840402/video/1", + "id_str": "1897737343919853568", + "indices": [ + 192, + 215 + ], + "media_key": "13_1897737343919853568", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897737343919853568/img/2uol1tE7wYNZc-9k.jpg", + "type": "video", + "url": "https://t.co/HBlZkNQTgi", + "additional_media_info": { + "title": "", + "description": "", + "embeddable": true, + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 148200, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/pl/bdBmVvmDGTC2mZaR.m3u8?tag=14&v=cbe" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/vid/avc1/480x270/brjIfhCZfG9uLF_a.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/vid/avc1/640x360/_8AZfqfca24qy1hl.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/vid/avc1/1280x720/7usyiNtj3Do50DsD.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897737343919853568" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "612473", + "name": "BBC News (UK)", + "screen_name": "BBCNews", + "indices": [ + 183, + 191 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/HBlZkNQTgi", + "expanded_url": "https://x.com/BBCSteveR/status/1897741726669840402/video/1", + "id_str": "1897737343919853568", + "indices": [ + 192, + 215 + ], + "media_key": "13_1897737343919853568", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897737343919853568/img/2uol1tE7wYNZc-9k.jpg", + "type": "video", + "url": "https://t.co/HBlZkNQTgi", + "additional_media_info": { + "title": "", + "description": "", + "embeddable": true, + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 148200, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/pl/bdBmVvmDGTC2mZaR.m3u8?tag=14&v=cbe" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/vid/avc1/480x270/brjIfhCZfG9uLF_a.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/vid/avc1/640x360/_8AZfqfca24qy1hl.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897737343919853568/vid/avc1/1280x720/7usyiNtj3Do50DsD.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897737343919853568" + } + } + } + ] + }, + "favorite_count": 1500, + "favorited": false, + "full_text": "In Moscow no sign of concessions or compromise on Ukraine. But much satisfaction with what the Trump administration has been doing. Our latest report from Moscow. Thanks to the team. @BBCNews https://t.co/HBlZkNQTgi", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 36, + "reply_count": 61, + "retweet_count": 588, + "retweeted": false, + "user_id_str": "438111039", + "id_str": "1897741726669840402" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897822106068381944", + "sortIndex": "1897829059325329394", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897822106068381944", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjc5OTI1Nw==", + "rest_id": "22799257", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Mar 04 16:58:21 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Foreign Correspondent for @TheEconomist | Covering Ukraine, Russia, Belarus | Opinions strictly my own | DM for Signal", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "olliecarroll.com", + "expanded_url": "http://www.olliecarroll.com", + "url": "https://t.co/2PqUq7MmYC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6580, + "followers_count": 137900, + "friends_count": 3050, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3967, + "location": "Ukraine", + "media_count": 2331, + "name": "Oliver Carroll", + "normal_followers_count": 137900, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/22799257/1434115079", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1541040357177180160/OHKDGhmR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olliecarroll", + "statuses_count": 19431, + "translator_type": "none", + "url": "https://t.co/2PqUq7MmYC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1542570582226702338", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897822106068381944" + ], + "editable_until_msecs": "1741314624000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2335", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897665203275186608", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDkwNjAxMzE=", + "rest_id": "249060131", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Feb 08 08:21:34 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Global affairs correspondent for @guardian in Washington DC. Ex-Moscow via London. Здесь нам не тут. Write me: Andrew.Roth@theguardian.com Signal: andrewroth.38", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "theguardian.com/profile/roth-a…", + "expanded_url": "https://www.theguardian.com/profile/roth-andrew", + "url": "https://t.co/jiI8qYVOSq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 41900, + "followers_count": 92362, + "friends_count": 4423, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3221, + "location": "Washington DC", + "media_count": 112, + "name": "Andrew Roth", + "normal_followers_count": 92362, + "pinned_tweet_ids_str": [ + "1887254022190661671" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/249060131/1511198434", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1817755621090828289/4B1Sl8p-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Andrew__Roth", + "statuses_count": 1552, + "translator_type": "none", + "url": "https://t.co/jiI8qYVOSq", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897665203275186608" + ], + "editable_until_msecs": "1741277216000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "56326", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 29, + "bookmarked": false, + "created_at": "Thu Mar 06 15:06:56 +0000 2025", + "conversation_id_str": "1897659970126028867", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "50011708", + "name": "Margaret Brennan", + "screen_name": "margbrennan", + "indices": [ + 171, + 183 + ] + } + ] + }, + "favorite_count": 274, + "favorited": false, + "full_text": "Interesting that Kellogg has twice listed the advisors surrounding Trump as Rubio, Waltz, Bessent, Lutnick but omits Putin envoy Steve Witkoff. Finally when brought up by @margbrennan, he notes that at State: \"Our offices are on the 7th floor, [Witkoff's] are on the 5th floor.\"", + "in_reply_to_screen_name": "Andrew__Roth", + "in_reply_to_status_id_str": "1897663206291615821", + "in_reply_to_user_id_str": "249060131", + "is_quote_status": false, + "lang": "en", + "quote_count": 6, + "reply_count": 4, + "retweet_count": 58, + "retweeted": false, + "user_id_str": "249060131", + "id_str": "1897665203275186608" + } + } + }, + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 01:30:24 +0000 2025", + "conversation_id_str": "1897822106068381944", + "display_text_range": [ + 0, + 164 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 15, + "favorited": false, + "full_text": "My understanding is that it is Mr Witkoff who is leading the process. And Mr Kellogg who has been largely sidelined. If I would be anywhere, it would be on floor 5.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897665203275186608", + "quoted_status_permalink": { + "url": "https://t.co/hRmRKhTBZI", + "expanded": "https://twitter.com/andrew__roth/status/1897665203275186608", + "display": "x.com/andrew__roth/s…" + }, + "reply_count": 2, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "22799257", + "id_str": "1897822106068381944" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897821127495340060", + "sortIndex": "1897829059325329393", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897821127495340060", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897821127495340060" + ], + "editable_until_msecs": "1741314391263", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:26:31 +0000 2025", + "conversation_id_str": "1897821127495340060", + "display_text_range": [ + 0, + 119 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "18025377", + "name": "Michael Weiss", + "screen_name": "michaeldweiss", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @michaeldweiss: Musk rocket parts crashing onto Trump’s golf club in Palm Beach would really tie this week together.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897810982971252896", + "quoted_status_permalink": { + "url": "https://t.co/hBdZes9NWA", + "expanded": "https://twitter.com/jimsciutto/status/1897810982971252896", + "display": "x.com/jimsciutto/sta…" + }, + "reply_count": 0, + "retweet_count": 219, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897821127495340060", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897814147615588735", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODAyNTM3Nw==", + "rest_id": "18025377", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Dec 10 18:01:28 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Editor @insidereng, @foreignoffpod. ISIS: Inside the Army of Terror: https://t.co/zOgJMJGUl5. Next book: GRU @vikingbooks. macspaunday@protonmail.com", + "entities": { + "description": { + "urls": [ + { + "display_url": "goo.gl/Jb6uEA", + "expanded_url": "http://goo.gl/Jb6uEA", + "url": "https://t.co/zOgJMJGUl5", + "indices": [ + 69, + 92 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "michaelweissjournalist.com", + "expanded_url": "https://michaelweissjournalist.com/", + "url": "https://t.co/inncvarcQZ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2503, + "followers_count": 248280, + "friends_count": 4594, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6610, + "location": "New York, NY", + "media_count": 3495, + "name": "Michael Weiss", + "normal_followers_count": 248280, + "pinned_tweet_ids_str": [ + "1715340789989949499" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18025377/1612718037", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1797822023483195392/PUM5gllX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "michaeldweiss", + "statuses_count": 36907, + "translator_type": "none", + "url": "https://t.co/inncvarcQZ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897814147615588735" + ], + "editable_until_msecs": "1741312727000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "54458", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897810982971252896", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjEyOTI4MA==", + "rest_id": "22129280", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Feb 27 11:07:05 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "CNN Anchor & Chief Nat Sec Analyst, Author of the NYT bestseller “The Return of Great Powers”, Available here: https://t.co/vdACoo6582", + "entities": { + "description": { + "urls": [ + { + "display_url": "tinyurl.com/3wkf46v7", + "expanded_url": "https://tinyurl.com/3wkf46v7", + "url": "https://t.co/vdACoo6582", + "indices": [ + 111, + 134 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "jimsciutto.com", + "expanded_url": "http://www.jimsciutto.com", + "url": "https://t.co/raO3Ovg9jg", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5690, + "followers_count": 509468, + "friends_count": 1568, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6100, + "location": "Washington, DC & New York, NY", + "media_count": 3390, + "name": "Jim Sciutto", + "normal_followers_count": 509468, + "pinned_tweet_ids_str": [ + "1841157510029345263" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/22129280/1718236895", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1717603500970938368/kxvI2XYn_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "jimsciutto", + "statuses_count": 44328, + "translator_type": "none", + "url": "https://t.co/raO3Ovg9jg", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897810982971252896" + ], + "editable_until_msecs": "1741311972000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "254146", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc4MTA5ODI4OTE2MzQ2ODg=", + "text": "Breaking: The Federal Aviation Administration is halting flights into Miami, Fort Lauderdale, Palm Beach, and Orlando airports for \"falling space debris.\" The move follows the failed launch of SpaceX's Starship, which lifted off from SpaceX’s Starbase facility in South Texas around 5:30 p.m. CST, or 6:30 p.m. EST.", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 237, + "bookmarked": false, + "created_at": "Fri Mar 07 00:46:12 +0000 2025", + "conversation_id_str": "1897810982971252896", + "display_text_range": [ + 0, + 276 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 3436, + "favorited": false, + "full_text": "Breaking: The Federal Aviation Administration is halting flights into Miami, Fort Lauderdale, Palm Beach, and Orlando airports for \"falling space debris.\" The move follows the failed launch of SpaceX's Starship, which lifted off from SpaceX’s Starbase facility in South Texas", + "is_quote_status": false, + "lang": "en", + "quote_count": 249, + "reply_count": 265, + "retweet_count": 1325, + "retweeted": false, + "user_id_str": "22129280", + "id_str": "1897810982971252896" + } + } + }, + "legacy": { + "bookmark_count": 22, + "bookmarked": false, + "created_at": "Fri Mar 07 00:58:47 +0000 2025", + "conversation_id_str": "1897814147615588735", + "display_text_range": [ + 0, + 100 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 1099, + "favorited": false, + "full_text": "Musk rocket parts crashing onto Trump’s golf club in Palm Beach would really tie this week together.", + "is_quote_status": true, + "lang": "en", + "quote_count": 14, + "quoted_status_id_str": "1897810982971252896", + "quoted_status_permalink": { + "url": "https://t.co/hBdZes9NWA", + "expanded": "https://twitter.com/jimsciutto/status/1897810982971252896", + "display": "x.com/jimsciutto/sta…" + }, + "reply_count": 42, + "retweet_count": 220, + "retweeted": false, + "user_id_str": "18025377", + "id_str": "1897814147615588735" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897821078891696228", + "sortIndex": "1897829059325329392", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897821078891696228", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897821078891696228" + ], + "editable_until_msecs": "1741314379675", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:26:19 +0000 2025", + "conversation_id_str": "1897821078891696228", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "254186356", + "name": "Bill Burton", + "screen_name": "billburton", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @billburton: This is so insane. Imagine if Barack Obama hired someone to be the #2 at the FBI and they had to delay their start because…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897729021955260812", + "quoted_status_permalink": { + "url": "https://t.co/Lp5cenJRtt", + "expanded": "https://twitter.com/sangerkatz/status/1897729021955260812", + "display": "x.com/sangerkatz/sta…" + }, + "reply_count": 0, + "retweet_count": 658, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897821078891696228", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897734764989497769", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTQxODYzNTY=", + "rest_id": "254186356", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Feb 18 19:52:39 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "President of Bryson Gillette. Communications and political strategist for candidates, companies and causes. Former deputy press secretary for President Obama.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "brysongillette.com", + "expanded_url": "http://brysongillette.com", + "url": "https://t.co/aBL52xE8nt", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 9859, + "followers_count": 37434, + "friends_count": 4600, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 794, + "location": "California, USA", + "media_count": 467, + "name": "Bill Burton", + "normal_followers_count": 37434, + "pinned_tweet_ids_str": [ + "1880315266590208080" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/254186356/1623437353", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1824920205635784704/hH6ZVIU3_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "billburton", + "statuses_count": 9137, + "translator_type": "none", + "url": "https://t.co/aBL52xE8nt", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1573507979202113536", + "professional_type": "Business", + "category": [ + { + "id": 527, + "name": "Consulting Agency", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897734764989497769" + ], + "editable_until_msecs": "1741293800000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "136365", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897729021955260812", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNzAxMTM5NjQ=", + "rest_id": "370113964", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Sep 08 13:52:19 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Covering health care metaphors at @nytimes @upshotnyt. Popcorn enthusiast. #wthealth", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "sangerkatz.com", + "expanded_url": "http://sangerkatz.com", + "url": "https://t.co/zZ09kQ10yz", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 11810, + "followers_count": 46382, + "friends_count": 1559, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1463, + "location": "", + "media_count": 1002, + "name": "Margot Sanger-Katz", + "normal_followers_count": 46382, + "pinned_tweet_ids_str": [ + "900798722359123968" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/370113964/1470775771", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/2552271568/hgoca6cgehi2fxogoiyo_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "sangerkatz", + "statuses_count": 10890, + "translator_type": "none", + "url": "https://t.co/zZ09kQ10yz", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897729021955260812" + ], + "editable_until_msecs": "1741292431000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "312910", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 84, + "bookmarked": false, + "created_at": "Thu Mar 06 19:20:31 +0000 2025", + "conversation_id_str": "1897729021955260812", + "display_text_range": [ + 0, + 156 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/ERtgBB9IIZ", + "expanded_url": "https://x.com/sangerkatz/status/1897729021955260812/photo/1", + "id_str": "1897728930762670080", + "indices": [ + 157, + 180 + ], + "media_key": "3_1897728930762670080", + "media_url_https": "https://pbs.twimg.com/media/GlYWaG4XQAA06to.png", + "type": "photo", + "url": "https://t.co/ERtgBB9IIZ", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 680, + "w": 1320, + "resize": "fit" + }, + "medium": { + "h": 618, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 350, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 680, + "width": 1320, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1214, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 680, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 596, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 340, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 1320, + "h": 680 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897728930762670080" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "20769514", + "name": "Dan Friedman", + "screen_name": "dfriedman33", + "indices": [ + 115, + 127 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/ERtgBB9IIZ", + "expanded_url": "https://x.com/sangerkatz/status/1897729021955260812/photo/1", + "id_str": "1897728930762670080", + "indices": [ + 157, + 180 + ], + "media_key": "3_1897728930762670080", + "media_url_https": "https://pbs.twimg.com/media/GlYWaG4XQAA06to.png", + "type": "photo", + "url": "https://t.co/ERtgBB9IIZ", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 680, + "w": 1320, + "resize": "fit" + }, + "medium": { + "h": 618, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 350, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 680, + "width": 1320, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1214, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 680, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 596, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 340, + "h": 680 + }, + { + "x": 0, + "y": 0, + "w": 1320, + "h": 680 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897728930762670080" + } + } + } + ] + }, + "favorite_count": 598, + "favorited": false, + "full_text": "Dan Bongino is postponing his arrival at the FBI so he can fulfill contracts with advertisers on his podcast. Read @dfriedman33 on the content of those ads. https://t.co/ERtgBB9IIZ", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 67, + "reply_count": 52, + "retweet_count": 294, + "retweeted": false, + "user_id_str": "370113964", + "id_str": "1897729021955260812" + } + } + }, + "legacy": { + "bookmark_count": 101, + "bookmarked": false, + "created_at": "Thu Mar 06 19:43:20 +0000 2025", + "conversation_id_str": "1897734764989497769", + "display_text_range": [ + 0, + 264 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 1604, + "favorited": false, + "full_text": "This is so insane. Imagine if Barack Obama hired someone to be the #2 at the FBI and they had to delay their start because the had contract obligations to services that help avoid government surveillance tools. Sean Hannity would talk about nothing else for weeks.", + "is_quote_status": true, + "lang": "en", + "quote_count": 11, + "quoted_status_id_str": "1897729021955260812", + "quoted_status_permalink": { + "url": "https://t.co/Lp5cenJRtt", + "expanded": "https://twitter.com/sangerkatz/status/1897729021955260812", + "display": "x.com/sangerkatz/sta…" + }, + "reply_count": 38, + "retweet_count": 658, + "retweeted": false, + "user_id_str": "254186356", + "id_str": "1897734764989497769" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897820719523733664", + "sortIndex": "1897829059325329391", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897820719523733664", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897820719523733664" + ], + "editable_until_msecs": "1741314293995", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:24:53 +0000 2025", + "conversation_id_str": "1897820719523733664", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2612045668", + "name": "Kareem Rifai 🌐", + "screen_name": "KareemRifai", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @KareemRifai: TRUMP: \"We have an interesting deal with Japan, that we have to protect them, but they don't have to protect us.... who ma…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 636, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897820719523733664", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897792955781374142", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNjEyMDQ1NjY4", + "rest_id": "2612045668", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Jun 15 18:25:32 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "anti-authoritarian advocate | syrian-circassian | currently @aei + m.a. @georgetowncss | contributor @centerclipaudio | alum @umich | all opinions my own", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "pico.link/kareemrifai", + "expanded_url": "https://pico.link/kareemrifai", + "url": "https://t.co/frIKsUDRgJ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 73268, + "followers_count": 59628, + "friends_count": 1532, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 529, + "location": "dc • detroit • aleppo", + "media_count": 3407, + "name": "Kareem Rifai 🌐", + "normal_followers_count": 59628, + "pinned_tweet_ids_str": [ + "1714277459234005359" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2612045668/1666187350", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1289006153377218560/4tDiaKrZ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KareemRifai", + "statuses_count": 18124, + "translator_type": "none", + "url": "https://t.co/frIKsUDRgJ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": false, + "venmo_handle": "kareemrifai" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897792955781374142" + ], + "editable_until_msecs": "1741307674000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "136607", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 253, + "bookmarked": false, + "created_at": "Thu Mar 06 23:34:34 +0000 2025", + "conversation_id_str": "1897792955781374142", + "display_text_range": [ + 0, + 265 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/Qh9m1H6gev", + "expanded_url": "https://x.com/KareemRifai/status/1897792955781374142/video/1", + "id_str": "1897792891201736704", + "indices": [ + 266, + 289 + ], + "media_key": "13_1897792891201736704", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897792891201736704/img/2bcC9O_o_EljmBML.jpg", + "type": "video", + "url": "https://t.co/Qh9m1H6gev", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 374, + "w": 674, + "resize": "fit" + }, + "medium": { + "h": 374, + "w": 674, + "resize": "fit" + }, + "small": { + "h": 374, + "w": 674, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 374, + "width": 674, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 337, + 187 + ], + "duration_millis": 24001, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897792891201736704/pl/aXnHHaeVcbAP85w-.m3u8?tag=16&v=686" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897792891201736704/vid/avc1/486x270/WyJTp3ZCTum-bSB6.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897792891201736704/vid/avc1/674x374/oIoFPTbv8QmgJ-ej.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897792891201736704" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/Qh9m1H6gev", + "expanded_url": "https://x.com/KareemRifai/status/1897792955781374142/video/1", + "id_str": "1897792891201736704", + "indices": [ + 266, + 289 + ], + "media_key": "13_1897792891201736704", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897792891201736704/img/2bcC9O_o_EljmBML.jpg", + "type": "video", + "url": "https://t.co/Qh9m1H6gev", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 374, + "w": 674, + "resize": "fit" + }, + "medium": { + "h": 374, + "w": 674, + "resize": "fit" + }, + "small": { + "h": 374, + "w": 674, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 374, + "width": 674, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 337, + 187 + ], + "duration_millis": 24001, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897792891201736704/pl/aXnHHaeVcbAP85w-.m3u8?tag=16&v=686" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897792891201736704/vid/avc1/486x270/WyJTp3ZCTum-bSB6.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897792891201736704/vid/avc1/674x374/oIoFPTbv8QmgJ-ej.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897792891201736704" + } + } + } + ] + }, + "favorite_count": 3353, + "favorited": false, + "full_text": "TRUMP: \"We have an interesting deal with Japan, that we have to protect them, but they don't have to protect us.... who makes these deals?\"\n\nThe United States! After we literally wrote in a pacifist clause into the Japanese Constitution and neutered their military! https://t.co/Qh9m1H6gev", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 158, + "reply_count": 205, + "retweet_count": 636, + "retweeted": false, + "user_id_str": "2612045668", + "id_str": "1897792955781374142" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897819741181374872", + "sortIndex": "1897829059325329390", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897819741181374872", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897819741181374872" + ], + "editable_until_msecs": "1741314060000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5916", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897817740578111694", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDgyNjA0NTA3NDU0OTM5MTM3", + "rest_id": "1082604507454939137", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Jan 08 11:46:43 +0000 2019", + "default_profile": false, + "default_profile_image": false, + "description": "Providing in-depth news coverage about the armed conflicts and crises all around the globe.\n\n📨 archer83able@gmail.com\nYT: https://t.co/culmDeWTRP", + "entities": { + "description": { + "urls": [ + { + "display_url": "youtube.com/@archer83able", + "expanded_url": "http://www.youtube.com/@archer83able", + "url": "https://t.co/culmDeWTRP", + "indices": [ + 122, + 145 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "ko-fi.com/status6", + "expanded_url": "https://ko-fi.com/status6", + "url": "https://t.co/zRfCNxRSdu", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 47908, + "followers_count": 147113, + "friends_count": 1213, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3559, + "location": "@archer83able.bsky.social", + "media_count": 12508, + "name": "Status-6 (Military & Conflict News) (BlueSky too)", + "normal_followers_count": 147113, + "pinned_tweet_ids_str": [ + "1844743093276332107" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1082604507454939137/1616541695", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1743652849920155648/AB_llvSV_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Archer83Able", + "statuses_count": 48069, + "translator_type": "none", + "url": "https://t.co/zRfCNxRSdu", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1478455713567592452", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "patreon_handle": "Status6" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897817740578111694" + ], + "editable_until_msecs": "1741313583000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "32408", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Fri Mar 07 01:13:03 +0000 2025", + "conversation_id_str": "1897817740578111694", + "display_text_range": [ + 0, + 240 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/JLsYLD7yFX", + "expanded_url": "https://x.com/Archer83Able/status/1897817740578111694/photo/1", + "id_str": "1897817737402966016", + "indices": [ + 241, + 264 + ], + "media_key": "3_1897817737402966016", + "media_url_https": "https://pbs.twimg.com/media/GlZnLVZW4AAyzkz.jpg", + "type": "photo", + "url": "https://t.co/JLsYLD7yFX", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 729, + "w": 1300, + "resize": "fit" + }, + "medium": { + "h": 673, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 381, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 729, + "width": 1300, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1300, + "h": 728 + }, + { + "x": 571, + "y": 0, + "w": 729, + "h": 729 + }, + { + "x": 661, + "y": 0, + "w": 639, + "h": 729 + }, + { + "x": 825, + "y": 0, + "w": 365, + "h": 729 + }, + { + "x": 0, + "y": 0, + "w": 1300, + "h": 729 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897817737402966016" + } + } + }, + { + "display_url": "pic.x.com/JLsYLD7yFX", + "expanded_url": "https://x.com/Archer83Able/status/1897817740578111694/photo/1", + "id_str": "1897817738329964544", + "indices": [ + 241, + 264 + ], + "media_key": "3_1897817738329964544", + "media_url_https": "https://pbs.twimg.com/media/GlZnLY2XwAAm7nx.jpg", + "type": "photo", + "url": "https://t.co/JLsYLD7yFX", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 729, + "w": 1282, + "resize": "fit" + }, + "medium": { + "h": 682, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 387, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 729, + "width": 1282, + "focus_rects": [ + { + "x": 0, + "y": 11, + "w": 1282, + "h": 718 + }, + { + "x": 180, + "y": 0, + "w": 729, + "h": 729 + }, + { + "x": 225, + "y": 0, + "w": 639, + "h": 729 + }, + { + "x": 362, + "y": 0, + "w": 365, + "h": 729 + }, + { + "x": 0, + "y": 0, + "w": 1282, + "h": 729 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897817738329964544" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/JLsYLD7yFX", + "expanded_url": "https://x.com/Archer83Able/status/1897817740578111694/photo/1", + "id_str": "1897817737402966016", + "indices": [ + 241, + 264 + ], + "media_key": "3_1897817737402966016", + "media_url_https": "https://pbs.twimg.com/media/GlZnLVZW4AAyzkz.jpg", + "type": "photo", + "url": "https://t.co/JLsYLD7yFX", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 729, + "w": 1300, + "resize": "fit" + }, + "medium": { + "h": 673, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 381, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 729, + "width": 1300, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1300, + "h": 728 + }, + { + "x": 571, + "y": 0, + "w": 729, + "h": 729 + }, + { + "x": 661, + "y": 0, + "w": 639, + "h": 729 + }, + { + "x": 825, + "y": 0, + "w": 365, + "h": 729 + }, + { + "x": 0, + "y": 0, + "w": 1300, + "h": 729 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897817737402966016" + } + } + }, + { + "display_url": "pic.x.com/JLsYLD7yFX", + "expanded_url": "https://x.com/Archer83Able/status/1897817740578111694/photo/1", + "id_str": "1897817738329964544", + "indices": [ + 241, + 264 + ], + "media_key": "3_1897817738329964544", + "media_url_https": "https://pbs.twimg.com/media/GlZnLY2XwAAm7nx.jpg", + "type": "photo", + "url": "https://t.co/JLsYLD7yFX", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 729, + "w": 1282, + "resize": "fit" + }, + "medium": { + "h": 682, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 387, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 729, + "width": 1282, + "focus_rects": [ + { + "x": 0, + "y": 11, + "w": 1282, + "h": 718 + }, + { + "x": 180, + "y": 0, + "w": 729, + "h": 729 + }, + { + "x": 225, + "y": 0, + "w": 639, + "h": 729 + }, + { + "x": 362, + "y": 0, + "w": 365, + "h": 729 + }, + { + "x": 0, + "y": 0, + "w": 1282, + "h": 729 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897817738329964544" + } + } + } + ] + }, + "favorite_count": 107, + "favorited": false, + "full_text": "Ukrainian channels report about up to 10 Russian Tupolev Tu-95MS strategic bombers in the air and danger of Kalibr cruise missile launches from the Black Sea area.\n\nLarge-scale Russian missile attack on Ukraine expected in the coming hours. https://t.co/JLsYLD7yFX", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 17, + "reply_count": 19, + "retweet_count": 72, + "retweeted": false, + "user_id_str": "1082604507454939137", + "id_str": "1897817740578111694" + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Fri Mar 07 01:21:00 +0000 2025", + "conversation_id_str": "1897819741181374872", + "display_text_range": [ + 0, + 62 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/Archer83Able/s…", + "expanded_url": "https://x.com/Archer83Able/status/1897817740578111694", + "url": "https://t.co/JSLGm8xej3", + "indices": [ + 39, + 62 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 115, + "favorited": false, + "full_text": "Russia really wants peace, Trump says.\nhttps://t.co/JSLGm8xej3", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "quoted_status_id_str": "1897817740578111694", + "quoted_status_permalink": { + "url": "https://t.co/JSLGm8xej3", + "expanded": "https://x.com/Archer83Able/status/1897817740578111694", + "display": "x.com/Archer83Able/s…" + }, + "reply_count": 10, + "retweet_count": 59, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897819741181374872" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897819347642392758", + "sortIndex": "1897829059325329389", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897819347642392758", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897819347642392758" + ], + "editable_until_msecs": "1741313966913", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:19:26 +0000 2025", + "conversation_id_str": "1897819347642392758", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "100250921", + "name": "Scott Lincicome", + "screen_name": "scottlincicome", + "indices": [ + 3, + 18 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @scottlincicome: Today, Trump temporarily eliminated his own tariffs to \"protect American car manufacturers and American farmers.\" \n\nI c…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 470, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897819347642392758", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897748202037576072", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDAyNTA5MjE=", + "rest_id": "100250921", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Dec 29 15:34:32 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "@CatoInstitute Vice President (Econ/Trade), @DukeLaw adjunct, @TheDispatch newsletter-er. CH❤️RTS. You didn't read the article, did you? Go @Rangers.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cato.org/people/scott-l…", + "expanded_url": "https://www.cato.org/people/scott-lincicome", + "url": "https://t.co/zPdlOKU8Uc", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 484765, + "followers_count": 83050, + "friends_count": 1000, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1375, + "location": "Raleigh, NC & Washington, DC", + "media_count": 30965, + "name": "Scott Lincicome", + "normal_followers_count": 83050, + "pinned_tweet_ids_str": [ + "1856344027836104896" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/100250921/1718210853", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1186591326147616768/Q-yJBoFh_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "scottlincicome", + "statuses_count": 262018, + "translator_type": "none", + "url": "https://t.co/zPdlOKU8Uc", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "SCOTTLINCICOME" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897748202037576072" + ], + "editable_until_msecs": "1741297004000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "249029", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": false, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3NDgyMDE5NzA1NDA1NDQ=", + "text": "Today, Trump temporarily eliminated his own tariffs to \"protect American car manufacturers and American farmers.\" \n\nI could watch this a million times.", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [ + { + "from_index": 36, + "to_index": 51, + "richtext_types": [ + "Bold", + "Italic" + ] + } + ] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 564, + "bookmarked": false, + "created_at": "Thu Mar 06 20:36:44 +0000 2025", + "conversation_id_str": "1897748202037576072", + "display_text_range": [ + 0, + 151 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/3FCyuSHxx0", + "expanded_url": "https://x.com/scottlincicome/status/1897748202037576072/video/1", + "id_str": "1897747647252860928", + "indices": [ + 152, + 175 + ], + "media_key": "7_1897747647252860928", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897747647252860928/pu/img/p_tBC_Qn4PQmL95S.jpg", + "type": "video", + "url": "https://t.co/3FCyuSHxx0", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 144033, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/pl/_PdEtIfk-u6T6W-X.m3u8?tag=12&v=711" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/vid/avc1/480x270/gTIhiaoQktyoH-Ts.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/vid/avc1/640x360/ikzI3BMnQm0lhxcr.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/vid/avc1/1280x720/nneCBmft2_1-3VYi.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897747647252860928" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/3FCyuSHxx0", + "expanded_url": "https://x.com/scottlincicome/status/1897748202037576072/video/1", + "id_str": "1897747647252860928", + "indices": [ + 152, + 175 + ], + "media_key": "7_1897747647252860928", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897747647252860928/pu/img/p_tBC_Qn4PQmL95S.jpg", + "type": "video", + "url": "https://t.co/3FCyuSHxx0", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 144033, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/pl/_PdEtIfk-u6T6W-X.m3u8?tag=12&v=711" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/vid/avc1/480x270/gTIhiaoQktyoH-Ts.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/vid/avc1/640x360/ikzI3BMnQm0lhxcr.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897747647252860928/pu/vid/avc1/1280x720/nneCBmft2_1-3VYi.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897747647252860928" + } + } + } + ] + }, + "favorite_count": 2661, + "favorited": false, + "full_text": "Today, Trump temporarily eliminated his own tariffs to \"protect American car manufacturers and American farmers.\" \n\nI could watch this a million times. https://t.co/3FCyuSHxx0", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 136, + "reply_count": 388, + "retweet_count": 470, + "retweeted": false, + "user_id_str": "100250921", + "id_str": "1897748202037576072" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897814754179088542", + "sortIndex": "1897829059325329388", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897814754179088542", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897814754179088542" + ], + "editable_until_msecs": "1741312871746", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:01:11 +0000 2025", + "conversation_id_str": "1897814754179088542", + "display_text_range": [ + 0, + 74 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "17811342", + "name": "Rex Bossert", + "screen_name": "rbossert", + "indices": [ + 3, + 12 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @rbossert: Move fast, break things, let someone else clean up the mess.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897803992736186707", + "quoted_status_permalink": { + "url": "https://t.co/ChZLudvg0Z", + "expanded": "https://twitter.com/lrozen/status/1897803992736186707", + "display": "x.com/lrozen/status/…" + }, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897814754179088542", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897814652110983604", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzgxMTM0Mg==", + "rest_id": "17811342", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Dec 02 16:40:35 +0000 2008", + "default_profile": true, + "default_profile_image": false, + "description": "Writer/media consultant, semi-retired, ex-journalist and National Law Journal Editor in Chief, with a JD, English PhD, and stints in law firms and law schools.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 7473, + "followers_count": 857, + "friends_count": 2893, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 16, + "location": "Orange County, CA", + "media_count": 61, + "name": "Rex Bossert", + "normal_followers_count": 857, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17811342/1727969576", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1873920858072420352/dzWnr0jB_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "rbossert", + "statuses_count": 18728, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897814652110983604" + ], + "editable_until_msecs": "1741312847000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2266", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803992736186707", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897803992736186707" + ], + "editable_until_msecs": "1741310306000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "15149", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quotedRefResult": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803529282302331" + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Fri Mar 07 00:18:26 +0000 2025", + "conversation_id_str": "1897803992736186707", + "display_text_range": [ + 0, + 14 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 214, + "favorited": false, + "full_text": "More Musk mess", + "is_quote_status": true, + "lang": "en", + "quote_count": 5, + "quoted_status_id_str": "1897803529282302331", + "quoted_status_permalink": { + "url": "https://t.co/FTM5KaAQ18", + "expanded": "https://twitter.com/petemuntean/status/1897803529282302331", + "display": "x.com/petemuntean/st…" + }, + "reply_count": 13, + "retweet_count": 106, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897803992736186707" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:00:47 +0000 2025", + "conversation_id_str": "1897814652110983604", + "display_text_range": [ + 0, + 60 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 10, + "favorited": false, + "full_text": "Move fast, break things, let someone else clean up the mess.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897803992736186707", + "quoted_status_permalink": { + "url": "https://t.co/ChZLudvg0Z", + "expanded": "https://twitter.com/lrozen/status/1897803992736186707", + "display": "x.com/lrozen/status/…" + }, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "17811342", + "id_str": "1897814652110983604" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897814660482494632", + "sortIndex": "1897829059325329387", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897814660482494632", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897814660482494632" + ], + "editable_until_msecs": "1741312849407", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:00:49 +0000 2025", + "conversation_id_str": "1897814660482494632", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "110451755", + "name": "Valdivia", + "screen_name": "TheCorollary", + "indices": [ + 3, + 16 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @TheCorollary: How is this not at the top of every newscast? Why are news media not obsessively running stories about this like they did…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897750801742725586", + "quoted_status_permalink": { + "url": "https://t.co/5T4I04vslx", + "expanded": "https://twitter.com/farhip/status/1897750801742725586", + "display": "x.com/farhip/status/…" + }, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897814660482494632", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897811735857578302", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTA0NTE3NTU=", + "rest_id": "110451755", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Feb 01 16:03:32 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "✪Learn how democracies die, our future depends on it ✪Latin American history/democracy paired with omnivorous consumption of US & world political news.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 558563, + "followers_count": 1479, + "friends_count": 2258, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 64, + "location": "@valdivia on bsky.social 🌻", + "media_count": 2419, + "name": "Valdivia", + "normal_followers_count": 1479, + "pinned_tweet_ids_str": [ + "1762982647880372500" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/110451755/1732131805", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1859321665630445568/Vzhlz7B7_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TheCorollary", + "statuses_count": 550063, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897811735857578302" + ], + "editable_until_msecs": "1741312152000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2216", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897750801742725586", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODE3NTQ0Mg==", + "rest_id": "18175442", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Dec 16 22:55:03 +0000 2008", + "default_profile": true, + "default_profile_image": false, + "description": "I write about the news media and other topics. Formerly: WashPost. Latter-day stories in Atlantic, Athletic, Vanity Fair, Daily Beast, CJR. Paulmfarhi@gmail.com", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 11787, + "followers_count": 33167, + "friends_count": 1391, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1024, + "location": "Washington, DC", + "media_count": 2604, + "name": "Paul Farhi", + "normal_followers_count": 33167, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18175442/1695652274", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1888111632825430016/G9ihixDK_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "farhip", + "statuses_count": 45512, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897750801742725586" + ], + "editable_until_msecs": "1741297624000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "104341", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 39, + "bookmarked": false, + "created_at": "Thu Mar 06 20:47:04 +0000 2025", + "conversation_id_str": "1897750801742725586", + "display_text_range": [ + 0, + 279 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 420, + "favorited": false, + "full_text": "This has been noted elsewhere in the past few days. Still true:\n\nRecording on Social Security line: “If you are calling about a disability application, due to staffing reductions our average processing time… is 200 to 230 days.”\n\nEstimated hold time is “greater than 120 minutes”", + "is_quote_status": false, + "lang": "en", + "quote_count": 21, + "reply_count": 13, + "retweet_count": 202, + "retweeted": false, + "user_id_str": "18175442", + "id_str": "1897750801742725586" + } + } + }, + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 00:49:12 +0000 2025", + "conversation_id_str": "1897811735857578302", + "display_text_range": [ + 0, + 142 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 8, + "favorited": false, + "full_text": "How is this not at the top of every newscast? Why are news media not obsessively running stories about this like they did about Biden’s shoes?", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897750801742725586", + "quoted_status_permalink": { + "url": "https://t.co/5T4I04vslx", + "expanded": "https://twitter.com/farhip/status/1897750801742725586", + "display": "x.com/farhip/status/…" + }, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "110451755", + "id_str": "1897811735857578302" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897813536639771072", + "sortIndex": "1897829059325329386", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897813536639771072", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDk1NDgwNTkwNTcyOTYxNzky", + "rest_id": "1495480590572961792", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Polymarket", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1789484330638561280/t4Js9UFO_bigger.jpg" + }, + "description": "Polymarket", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 20 19:29:22 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Breaking news & geopolitical insights on Ukraine, the U.S, the Middle East & Europe. The key updates that matter—powered by @Polymarket.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "poly.market/intel", + "expanded_url": "https://poly.market/intel", + "url": "https://t.co/9zd0yb1Jz0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2105, + "followers_count": 809707, + "friends_count": 171, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10811, + "location": "", + "media_count": 6423, + "name": "Polymarket Intel", + "normal_followers_count": 809707, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1495480590572961792/1737660509", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1885081620073324544/wc4EnUmY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PolymarketIntel", + "statuses_count": 8006, + "translator_type": "none", + "url": "https://t.co/9zd0yb1Jz0", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1501574896693960704", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897813536639771072" + ], + "editable_until_msecs": "1741312581000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "21273", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc4MTM1MzY1NjQyNDAzODQ=", + "text": "REPORTER: “When Zelensky inevitably comes back to the White House, what do you expect from him? \n\nTRUMP: “Well, I think what's going to happen is Ukraine wants to make a deal because I don't think they have a choice.\n\nI also think that Russia wants to make a deal because in a certain different way, a different way that I'll only I know. Only I know.\n\nThey have no choice either.”", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 22, + "bookmarked": false, + "created_at": "Fri Mar 07 00:56:21 +0000 2025", + "conversation_id_str": "1897813536639771072", + "display_text_range": [ + 0, + 276 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/vRmYzNi5xV", + "expanded_url": "https://x.com/PolymarketIntel/status/1897813536639771072/video/1", + "id_str": "1897813448039256064", + "indices": [ + 277, + 300 + ], + "media_key": "13_1897813448039256064", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897813448039256064/img/RJwk3JLvyJBB9qN0.jpg", + "type": "video", + "url": "https://t.co/vRmYzNi5xV", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 26393, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/pl/3W-EeZkkRK5QBpMi.m3u8?tag=16" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/vid/avc1/480x270/9nRdMX6I0zVNChhX.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/vid/avc1/640x360/XGOMN9gZXrNqsc-i.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/vid/avc1/1280x720/CxcIYkiszjMJNfE0.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897813448039256064" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/vRmYzNi5xV", + "expanded_url": "https://x.com/PolymarketIntel/status/1897813536639771072/video/1", + "id_str": "1897813448039256064", + "indices": [ + 277, + 300 + ], + "media_key": "13_1897813448039256064", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897813448039256064/img/RJwk3JLvyJBB9qN0.jpg", + "type": "video", + "url": "https://t.co/vRmYzNi5xV", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 26393, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/pl/3W-EeZkkRK5QBpMi.m3u8?tag=16" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/vid/avc1/480x270/9nRdMX6I0zVNChhX.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/vid/avc1/640x360/XGOMN9gZXrNqsc-i.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897813448039256064/vid/avc1/1280x720/CxcIYkiszjMJNfE0.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897813448039256064" + } + } + } + ] + }, + "favorite_count": 67, + "favorited": false, + "full_text": "REPORTER: “When Zelensky inevitably comes back to the White House, what do you expect from him? \n\nTRUMP: “Well, I think what's going to happen is Ukraine wants to make a deal because I don't think they have a choice.\n\nI also think that Russia wants to make a deal because in a https://t.co/vRmYzNi5xV", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 41, + "retweet_count": 15, + "retweeted": false, + "user_id_str": "1495480590572961792", + "id_str": "1897813536639771072" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329431", + "sortIndex": "1897829059325329385", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "list-conversation-1897829059325329431-tweet-1897717625536627066", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897717625536627066", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzE3NTIxMw==", + "rest_id": "17175213", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Nov 05 00:59:16 +0000 2008", + "default_profile": true, + "default_profile_image": false, + "description": "Defence editor @TheEconomist, Visiting fellow at @warstudies KCL. Signal: shashank.96. These are my personal views.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "shashankjoshi.wordpress.com", + "expanded_url": "http://shashankjoshi.wordpress.com", + "url": "https://t.co/euRjbnk3WT", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 36318, + "followers_count": 205760, + "friends_count": 1748, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5830, + "location": "London", + "media_count": 477, + "name": "Shashank Joshi", + "normal_followers_count": 205760, + "pinned_tweet_ids_str": [ + "1890037689321431136" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17175213/1720509634", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1853944944815226883/nhhlgUHu_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "shashj", + "statuses_count": 4920, + "translator_type": "none", + "url": "https://t.co/euRjbnk3WT", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897717625536627066" + ], + "editable_until_msecs": "1741289714000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "17937", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897665203275186608", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDkwNjAxMzE=", + "rest_id": "249060131", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Feb 08 08:21:34 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Global affairs correspondent for @guardian in Washington DC. Ex-Moscow via London. Здесь нам не тут. Write me: Andrew.Roth@theguardian.com Signal: andrewroth.38", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "theguardian.com/profile/roth-a…", + "expanded_url": "https://www.theguardian.com/profile/roth-andrew", + "url": "https://t.co/jiI8qYVOSq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 41900, + "followers_count": 92362, + "friends_count": 4423, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3221, + "location": "Washington DC", + "media_count": 112, + "name": "Andrew Roth", + "normal_followers_count": 92362, + "pinned_tweet_ids_str": [ + "1887254022190661671" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/249060131/1511198434", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1817755621090828289/4B1Sl8p-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Andrew__Roth", + "statuses_count": 1552, + "translator_type": "none", + "url": "https://t.co/jiI8qYVOSq", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897665203275186608" + ], + "editable_until_msecs": "1741277216000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "56326", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 29, + "bookmarked": false, + "created_at": "Thu Mar 06 15:06:56 +0000 2025", + "conversation_id_str": "1897659970126028867", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "50011708", + "name": "Margaret Brennan", + "screen_name": "margbrennan", + "indices": [ + 171, + 183 + ] + } + ] + }, + "favorite_count": 274, + "favorited": false, + "full_text": "Interesting that Kellogg has twice listed the advisors surrounding Trump as Rubio, Waltz, Bessent, Lutnick but omits Putin envoy Steve Witkoff. Finally when brought up by @margbrennan, he notes that at State: \"Our offices are on the 7th floor, [Witkoff's] are on the 5th floor.\"", + "in_reply_to_screen_name": "Andrew__Roth", + "in_reply_to_status_id_str": "1897663206291615821", + "in_reply_to_user_id_str": "249060131", + "is_quote_status": false, + "lang": "en", + "quote_count": 6, + "reply_count": 4, + "retweet_count": 58, + "retweeted": false, + "user_id_str": "249060131", + "id_str": "1897665203275186608" + } + } + }, + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Thu Mar 06 18:35:14 +0000 2025", + "conversation_id_str": "1897717625536627066", + "display_text_range": [ + 0, + 127 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 119, + "favorited": false, + "full_text": "Protesting a bit much. Every European official I’ve spoken to believes that Witkoff is very influential. Kellogg … not so much.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897665203275186608", + "quoted_status_permalink": { + "url": "https://t.co/LwhC1DNChD", + "expanded": "https://twitter.com/andrew__roth/status/1897665203275186608", + "display": "x.com/andrew__roth/s…" + }, + "reply_count": 5, + "retweet_count": 12, + "retweeted": false, + "user_id_str": "17175213", + "id_str": "1897717625536627066" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329431-tweet-1897813354728603794", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897813354728603794", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDM0NTMxNw==", + "rest_id": "54345317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 06 21:51:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Fellow for Europe @CFR_org | Historian & Political Scientist | #Germany #Europe #Russia #EasternEurope #Security | Views my own, RT ≠ endorsement", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org/expert/liana-f…", + "expanded_url": "https://www.cfr.org/expert/liana-fix", + "url": "https://t.co/kNfe79pLBh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25474, + "followers_count": 12927, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 349, + "location": "Washington, DC", + "media_count": 443, + "name": "Dr. Liana Fix", + "normal_followers_count": 12927, + "pinned_tweet_ids_str": [ + "1882796941785846098" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54345317/1654117548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1573991186603425792/g-ltQdRG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LianaFix", + "statuses_count": 20500, + "translator_type": "none", + "url": "https://t.co/kNfe79pLBh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897813354728603794" + ], + "editable_until_msecs": "1741312538000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "94", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:55:38 +0000 2025", + "conversation_id_str": "1897717625536627066", + "display_text_range": [ + 8, + 101 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "17175213", + "name": "Shashank Joshi", + "screen_name": "shashj", + "indices": [ + 0, + 7 + ] + } + ] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@shashj He also disagreed with Witkoff‘s mentioning of the Istanbul talks „not a framework“ for today", + "in_reply_to_screen_name": "shashj", + "in_reply_to_status_id_str": "1897717625536627066", + "in_reply_to_user_id_str": "17175213", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "54345317", + "id_str": "1897813354728603794" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1897717625536627066", + "1897813354728603794" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897811753049923886", + "sortIndex": "1897829059325329384", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897811753049923886", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897811753049923886" + ], + "editable_until_msecs": "1741312156000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4104", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897797534099050755", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5MjgxMTA2NDk=", + "rest_id": "928110649", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Nov 05 17:55:44 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "Ukrainian journalist. Executive director at Hromadske Radio", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "hromadske.radio", + "expanded_url": "https://hromadske.radio", + "url": "https://t.co/RseY9mUHfy", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12124, + "followers_count": 6028, + "friends_count": 1724, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 206, + "location": "Україна", + "media_count": 3971, + "name": "Kyrylo Loukerenko", + "normal_followers_count": 6028, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/928110649/1657724129", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1761848272388276224/NPHuPFtT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "K_Loukerenko", + "statuses_count": 24054, + "translator_type": "none", + "url": "https://t.co/RseY9mUHfy", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1463191012164001793", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897797534099050755" + ], + "editable_until_msecs": "1741308766000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8317", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:52:46 +0000 2025", + "conversation_id_str": "1897797534099050755", + "display_text_range": [ + 0, + 82 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 83, + 106 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 83, + 106 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ] + }, + "favorite_count": 8, + "favorited": false, + "full_text": "Russian drones are attacking Kyiv city. Other Ukrainian regions are also affected. https://t.co/z6mXhzJid5", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 0, + "retweet_count": 18, + "retweeted": false, + "user_id_str": "928110649", + "id_str": "1897797534099050755" + } + } + }, + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 00:49:16 +0000 2025", + "conversation_id_str": "1897811753049923886", + "display_text_range": [ + 0, + 8 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 18, + "favorited": false, + "full_text": "terrible", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897797534099050755", + "quoted_status_permalink": { + "url": "https://t.co/QpdmRWqHxc", + "expanded": "https://twitter.com/k_loukerenko/status/1897797534099050755", + "display": "x.com/k_loukerenko/s…" + }, + "reply_count": 2, + "retweet_count": 11, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897811753049923886" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897811501609546223", + "sortIndex": "1897829059325329383", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897811501609546223", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897811501609546223" + ], + "editable_until_msecs": "1741312096273", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:48:16 +0000 2025", + "conversation_id_str": "1897811501609546223", + "display_text_range": [ + 0, + 124 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 101, + 124 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "source_status_id_str": "1897797534099050755", + "source_user_id_str": "928110649", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "928110649", + "name": "Kyrylo Loukerenko", + "screen_name": "K_Loukerenko", + "indices": [ + 3, + 16 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 101, + 124 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "source_status_id_str": "1897797534099050755", + "source_user_id_str": "928110649", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @K_Loukerenko: Russian drones are attacking Kyiv city. Other Ukrainian regions are also affected. https://t.co/z6mXhzJid5", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 18, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897811501609546223", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897797534099050755", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5MjgxMTA2NDk=", + "rest_id": "928110649", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Nov 05 17:55:44 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "Ukrainian journalist. Executive director at Hromadske Radio", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "hromadske.radio", + "expanded_url": "https://hromadske.radio", + "url": "https://t.co/RseY9mUHfy", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12124, + "followers_count": 6028, + "friends_count": 1724, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 206, + "location": "Україна", + "media_count": 3971, + "name": "Kyrylo Loukerenko", + "normal_followers_count": 6028, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/928110649/1657724129", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1761848272388276224/NPHuPFtT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "K_Loukerenko", + "statuses_count": 24054, + "translator_type": "none", + "url": "https://t.co/RseY9mUHfy", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1463191012164001793", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897797534099050755" + ], + "editable_until_msecs": "1741308766000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8317", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:52:46 +0000 2025", + "conversation_id_str": "1897797534099050755", + "display_text_range": [ + 0, + 82 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 83, + 106 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 83, + 106 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ] + }, + "favorite_count": 8, + "favorited": false, + "full_text": "Russian drones are attacking Kyiv city. Other Ukrainian regions are also affected. https://t.co/z6mXhzJid5", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 0, + "retweet_count": 18, + "retweeted": false, + "user_id_str": "928110649", + "id_str": "1897797534099050755" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897811197304406089", + "sortIndex": "1897829059325329382", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897811197304406089", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897811197304406089" + ], + "editable_until_msecs": "1741312023721", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:47:03 +0000 2025", + "conversation_id_str": "1897811197304406089", + "display_text_range": [ + 0, + 133 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "820431635145510912", + "name": "Dan Shapiro", + "screen_name": "DanielBShapiro", + "indices": [ + 3, + 18 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @DanielBShapiro: To even do these interviews is simply not the DNI's role. That's before you even get to the crazy stuff she says.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897810122279153884", + "quoted_status_permalink": { + "url": "https://t.co/cndQKahbiL", + "expanded": "https://twitter.com/lrozen/status/1897810122279153884", + "display": "x.com/lrozen/status/…" + }, + "reply_count": 0, + "retweet_count": 30, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897811197304406089", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897811159408939424", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4MjA0MzE2MzUxNDU1MTA5MTI=", + "rest_id": "820431635145510912", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Jan 15 00:45:19 +0000 2017", + "default_profile": false, + "default_profile_image": false, + "description": "Former US Ambassador to Israel, Defense Dept., State Dept., NSC. Working toward a secure, integrated, peaceful Middle East. Devoted Cubs fan.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12451, + "followers_count": 41123, + "friends_count": 1433, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 553, + "location": "", + "media_count": 403, + "name": "Dan Shapiro", + "normal_followers_count": 41123, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/820431635145510912/1737346092", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1881188633585049600/KvfG7FFC_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DanielBShapiro", + "statuses_count": 52251, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897811159408939424" + ], + "editable_until_msecs": "1741312014000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8642", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897810122279153884", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897810122279153884" + ], + "editable_until_msecs": "1741311767000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "35450", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quotedRefResult": { + "result": { + "__typename": "Tweet", + "rest_id": "1897809632422511049" + } + }, + "legacy": { + "bookmark_count": 11, + "bookmarked": false, + "created_at": "Fri Mar 07 00:42:47 +0000 2025", + "conversation_id_str": "1897810122279153884", + "display_text_range": [ + 0, + 88 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 270, + "favorited": false, + "full_text": "Gabbard seems to see the role of DNI as going on Fox and spotting kremliny whataboutism.", + "is_quote_status": true, + "lang": "en", + "quote_count": 6, + "quoted_status_id_str": "1897809632422511049", + "quoted_status_permalink": { + "url": "https://t.co/uEGRxKsJ1W", + "expanded": "https://twitter.com/acyn/status/1897809632422511049", + "display": "x.com/acyn/status/18…" + }, + "reply_count": 21, + "retweet_count": 79, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897810122279153884" + } + } + }, + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Fri Mar 07 00:46:54 +0000 2025", + "conversation_id_str": "1897811159408939424", + "display_text_range": [ + 0, + 113 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 50, + "favorited": false, + "full_text": "To even do these interviews is simply not the DNI's role. That's before you even get to the crazy stuff she says.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897810122279153884", + "quoted_status_permalink": { + "url": "https://t.co/cndQKahbiL", + "expanded": "https://twitter.com/lrozen/status/1897810122279153884", + "display": "x.com/lrozen/status/…" + }, + "reply_count": 1, + "retweet_count": 30, + "retweeted": false, + "user_id_str": "820431635145510912", + "id_str": "1897811159408939424" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897810506720645206", + "sortIndex": "1897829059325329381", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897810506720645206", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897810506720645206" + ], + "editable_until_msecs": "1741311859073", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:44:19 +0000 2025", + "conversation_id_str": "1897810506720645206", + "display_text_range": [ + 0, + 88 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1EfS4uu1aj", + "expanded_url": "https://x.com/SeanCasten/status/1897810240772395213/photo/1", + "id_str": "1897810234946523136", + "indices": [ + 65, + 88 + ], + "media_key": "3_1897810234946523136", + "media_url_https": "https://pbs.twimg.com/media/GlZgWokWkAADlNB.jpg", + "source_status_id_str": "1897810240772395213", + "source_user_id_str": "66804351", + "type": "photo", + "url": "https://t.co/1EfS4uu1aj", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + }, + "medium": { + "faces": [ + { + "x": 747, + "y": 1028, + "h": 58, + "w": 58 + }, + { + "x": 832, + "y": 587, + "h": 59, + "w": 59 + }, + { + "x": 740, + "y": 1059, + "h": 99, + "w": 99 + } + ] + }, + "small": { + "faces": [ + { + "x": 423, + "y": 583, + "h": 33, + "w": 33 + }, + { + "x": 471, + "y": 332, + "h": 33, + "w": 33 + }, + { + "x": 419, + "y": 600, + "h": 56, + "w": 56 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 1157, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 512, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897810234946523136" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "66804351", + "name": "Sean Casten", + "screen_name": "SeanCasten", + "indices": [ + 3, + 14 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1EfS4uu1aj", + "expanded_url": "https://x.com/SeanCasten/status/1897810240772395213/photo/1", + "id_str": "1897810234946523136", + "indices": [ + 65, + 88 + ], + "media_key": "3_1897810234946523136", + "media_url_https": "https://pbs.twimg.com/media/GlZgWokWkAADlNB.jpg", + "source_status_id_str": "1897810240772395213", + "source_user_id_str": "66804351", + "type": "photo", + "url": "https://t.co/1EfS4uu1aj", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + }, + "medium": { + "faces": [ + { + "x": 747, + "y": 1028, + "h": 58, + "w": 58 + }, + { + "x": 832, + "y": 587, + "h": 59, + "w": 59 + }, + { + "x": 740, + "y": 1059, + "h": 99, + "w": 99 + } + ] + }, + "small": { + "faces": [ + { + "x": 423, + "y": 583, + "h": 33, + "w": 33 + }, + { + "x": 471, + "y": 332, + "h": 33, + "w": 33 + }, + { + "x": 419, + "y": 600, + "h": 56, + "w": 56 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 1157, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 512, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897810234946523136" + } + } + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @SeanCasten: From a friend in a Banff liquor store right now. https://t.co/1EfS4uu1aj", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 31, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897810506720645206", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897810240772395213", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2NjgwNDM1MQ==", + "rest_id": "66804351", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 18 21:17:08 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "US Rep, IL-06. Engineer. Former CEO. Dad. Husband. Born at 326 ppm. Official tweets @RepCasten. Also: SeanCasten at Mastodon & Bluesky.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2482, + "followers_count": 61870, + "friends_count": 567, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 747, + "location": "Downers Grove, IL", + "media_count": 1296, + "name": "Sean Casten", + "normal_followers_count": 61870, + "pinned_tweet_ids_str": [ + "1854568380059021707" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/66804351/1575307014", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/894295592523907072/jxX7kiDp_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "SeanCasten", + "statuses_count": 24609, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897810240772395213" + ], + "editable_until_msecs": "1741311795000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4039", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 4, + "bookmarked": false, + "created_at": "Fri Mar 07 00:43:15 +0000 2025", + "conversation_id_str": "1897810240772395213", + "display_text_range": [ + 0, + 48 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1EfS4uu1aj", + "expanded_url": "https://x.com/SeanCasten/status/1897810240772395213/photo/1", + "id_str": "1897810234946523136", + "indices": [ + 49, + 72 + ], + "media_key": "3_1897810234946523136", + "media_url_https": "https://pbs.twimg.com/media/GlZgWokWkAADlNB.jpg", + "type": "photo", + "url": "https://t.co/1EfS4uu1aj", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + }, + "medium": { + "faces": [ + { + "x": 747, + "y": 1028, + "h": 58, + "w": 58 + }, + { + "x": 832, + "y": 587, + "h": 59, + "w": 59 + }, + { + "x": 740, + "y": 1059, + "h": 99, + "w": 99 + } + ] + }, + "small": { + "faces": [ + { + "x": 423, + "y": 583, + "h": 33, + "w": 33 + }, + { + "x": 471, + "y": 332, + "h": 33, + "w": 33 + }, + { + "x": 419, + "y": 600, + "h": 56, + "w": 56 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 1157, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 512, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897810234946523136" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1EfS4uu1aj", + "expanded_url": "https://x.com/SeanCasten/status/1897810240772395213/photo/1", + "id_str": "1897810234946523136", + "indices": [ + 49, + 72 + ], + "media_key": "3_1897810234946523136", + "media_url_https": "https://pbs.twimg.com/media/GlZgWokWkAADlNB.jpg", + "type": "photo", + "url": "https://t.co/1EfS4uu1aj", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + }, + "medium": { + "faces": [ + { + "x": 747, + "y": 1028, + "h": 58, + "w": 58 + }, + { + "x": 832, + "y": 587, + "h": 59, + "w": 59 + }, + { + "x": 740, + "y": 1059, + "h": 99, + "w": 99 + } + ] + }, + "small": { + "faces": [ + { + "x": 423, + "y": 583, + "h": 33, + "w": 33 + }, + { + "x": 471, + "y": 332, + "h": 33, + "w": 33 + }, + { + "x": 419, + "y": 600, + "h": 56, + "w": 56 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1276, + "y": 1756, + "h": 100, + "w": 100 + }, + { + "x": 1420, + "y": 1002, + "h": 102, + "w": 102 + }, + { + "x": 1264, + "y": 1808, + "h": 170, + "w": 170 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 1157, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 512, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897810234946523136" + } + } + } + ] + }, + "favorite_count": 132, + "favorited": false, + "full_text": "From a friend in a Banff liquor store right now. https://t.co/1EfS4uu1aj", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 5, + "retweet_count": 31, + "retweeted": false, + "user_id_str": "66804351", + "id_str": "1897810240772395213" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897810122279153884", + "sortIndex": "1897829059325329380", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897810122279153884", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897810122279153884" + ], + "editable_until_msecs": "1741311767000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "35450", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897809632422511049", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjYzNTI3Nw==", + "rest_id": "16635277", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Oct 07 19:37:09 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Senior Digital Editor for https://t.co/ok280opPL9 Clips made with @SnapStream Internet Hooligan…", + "entities": { + "description": { + "urls": [ + { + "display_url": "MeidasTouch.com", + "expanded_url": "http://MeidasTouch.com", + "url": "https://t.co/ok280opPL9", + "indices": [ + 26, + 49 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "bit.ly/acyn-snapstrea…", + "expanded_url": "https://bit.ly/acyn-snapstream-twitter-2023a", + "url": "https://t.co/6SPj6LVBVO", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 557748, + "followers_count": 585456, + "friends_count": 5521, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4391, + "location": "Los Angeles, California", + "media_count": 46498, + "name": "Acyn", + "normal_followers_count": 585456, + "pinned_tweet_ids_str": [ + "1644545528628379652" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/16635277/1678250349", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1332231334761119745/wMzlpuHi_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Acyn", + "statuses_count": 156152, + "translator_type": "none", + "url": "https://t.co/6SPj6LVBVO", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "acyntwitter" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897809632422511049" + ], + "editable_until_msecs": "1741311650000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "113466", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://www.snapstream.com\" rel=\"nofollow\">SnapStream TV Search</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc4MDk2MzIzNDI4MTg4MTY=", + "text": "Gabbard on report that allies are considering withholding intel from the US: I'm laughing because we have heard this story before. And generally, it's coming from those who either former leaders within our own intelligence community who are trying to politicize their titles and their positions to try to undermine president trump's peace mission and agenda..", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 33, + "bookmarked": false, + "created_at": "Fri Mar 07 00:40:50 +0000 2025", + "conversation_id_str": "1897809632422511049", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/5m11XyohD8", + "expanded_url": "https://x.com/Acyn/status/1897809632422511049/video/1", + "id_str": "1897809574125879296", + "indices": [ + 279, + 302 + ], + "media_key": "13_1897809574125879296", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897809574125879296/img/mx__YMOwNXV4dcIN.jpg", + "type": "video", + "url": "https://t.co/5m11XyohD8", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 99799, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/pl/X1nd-MLvrXBypcQP.m3u8?tag=14&v=1bd" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/480x270/47ItY4t6Gst_6Z7v.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/640x360/8xtdS6iYV9H5NUu9.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/1280x720/phZ0PYF3hur_JcLJ.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897809574125879296" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/5m11XyohD8", + "expanded_url": "https://x.com/Acyn/status/1897809632422511049/video/1", + "id_str": "1897809574125879296", + "indices": [ + 279, + 302 + ], + "media_key": "13_1897809574125879296", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897809574125879296/img/mx__YMOwNXV4dcIN.jpg", + "type": "video", + "url": "https://t.co/5m11XyohD8", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 99799, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/pl/X1nd-MLvrXBypcQP.m3u8?tag=14&v=1bd" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/480x270/47ItY4t6Gst_6Z7v.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/640x360/8xtdS6iYV9H5NUu9.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897809574125879296/vid/avc1/1280x720/phZ0PYF3hur_JcLJ.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897809574125879296" + } + } + } + ] + }, + "favorite_count": 161, + "favorited": false, + "full_text": "Gabbard on report that allies are considering withholding intel from the US: I'm laughing because we have heard this story before. And generally, it's coming from those who either former leaders within our own intelligence community who are trying to politicize their titles and https://t.co/5m11XyohD8", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 10, + "reply_count": 125, + "retweet_count": 36, + "retweeted": false, + "user_id_str": "16635277", + "id_str": "1897809632422511049" + } + } + }, + "legacy": { + "bookmark_count": 11, + "bookmarked": false, + "created_at": "Fri Mar 07 00:42:47 +0000 2025", + "conversation_id_str": "1897810122279153884", + "display_text_range": [ + 0, + 88 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 270, + "favorited": false, + "full_text": "Gabbard seems to see the role of DNI as going on Fox and spotting kremliny whataboutism.", + "is_quote_status": true, + "lang": "en", + "quote_count": 6, + "quoted_status_id_str": "1897809632422511049", + "quoted_status_permalink": { + "url": "https://t.co/uEGRxKsJ1W", + "expanded": "https://twitter.com/acyn/status/1897809632422511049", + "display": "x.com/acyn/status/18…" + }, + "reply_count": 21, + "retweet_count": 79, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897810122279153884" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897809783333220488", + "sortIndex": "1897829059325329379", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897809783333220488", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897809783333220488" + ], + "editable_until_msecs": "1741311686604", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:41:26 +0000 2025", + "conversation_id_str": "1897809783333220488", + "display_text_range": [ + 0, + 38 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "866442796823195649", + "name": "Erik Halvorsen", + "screen_name": "erikhalvorsen18", + "indices": [ + 3, + 19 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @erikhalvorsen18: Accurate portrait", + "is_quote_status": true, + "lang": "fr", + "quote_count": 0, + "quoted_status_id_str": "1897685390921723974", + "quoted_status_permalink": { + "url": "https://t.co/gLTqRrbqtf", + "expanded": "https://twitter.com/mluckovichajc/status/1897685390921723974", + "display": "x.com/mluckovichajc/…" + }, + "reply_count": 0, + "retweet_count": 15, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897809783333220488", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897809649421754870", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NjY0NDI3OTY4MjMxOTU2NDk=", + "rest_id": "866442796823195649", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun May 21 23:57:15 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Love my family, country, sports and cheese. #GoPackers https://t.co/bZ8AJKjh1p Next up! https://t.co/au4eiilatW - find me in the Other Place", + "entities": { + "description": { + "urls": [ + { + "display_url": "postcardstovoters.org", + "expanded_url": "http://postcardstovoters.org", + "url": "https://t.co/bZ8AJKjh1p", + "indices": [ + 55, + 78 + ] + }, + { + "display_url": "crawfordforwi.com", + "expanded_url": "https://www.crawfordforwi.com", + "url": "https://t.co/au4eiilatW", + "indices": [ + 88, + 111 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "secure.actblue.com/donate/socialw…", + "expanded_url": "https://secure.actblue.com/donate/socialwisdems?refcode=SocialMediaEH", + "url": "https://t.co/IStYUvs4Wb", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 468835, + "followers_count": 6770, + "friends_count": 3410, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 47, + "location": "Wisconsin, USA", + "media_count": 16348, + "name": "Erik Halvorsen", + "normal_followers_count": 6770, + "pinned_tweet_ids_str": [ + "1860036702829707760" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/866442796823195649/1697056903", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1769380044940419074/TGnZBFRb_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "erikhalvorsen18", + "statuses_count": 223383, + "translator_type": "none", + "url": "https://t.co/IStYUvs4Wb", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897809649421754870" + ], + "editable_until_msecs": "1741311654000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2745", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897685390921723974", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDI3NDgwNw==", + "rest_id": "54274807", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Jul 06 17:40:47 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Pulitzer Prize-winning cartoonist for The Atlanta Journal-Constitution. Find me on Facebook: Mike Luckovich AJC.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "ajc.com/opinion/", + "expanded_url": "http://www.ajc.com/opinion/", + "url": "https://t.co/K2DUgVUI3a", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 404, + "followers_count": 74769, + "friends_count": 393, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1031, + "location": "Atlanta, GA", + "media_count": 2261, + "name": "mike luckovich", + "normal_followers_count": 74769, + "pinned_tweet_ids_str": [ + "1891209896806191324" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54274807/1709742757", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1765415192257511427/Jgal6ss0_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "mluckovichajc", + "statuses_count": 7772, + "translator_type": "none", + "url": "https://t.co/K2DUgVUI3a", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897685390921723974" + ], + "editable_until_msecs": "1741282029000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "112861", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 217, + "bookmarked": false, + "created_at": "Thu Mar 06 16:27:09 +0000 2025", + "conversation_id_str": "1897685390921723974", + "display_text_range": [ + 0, + 0 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/wAajKfZtZ6", + "expanded_url": "https://x.com/mluckovichajc/status/1897685390921723974/photo/1", + "id_str": "1897685364694740993", + "indices": [ + 0, + 23 + ], + "media_key": "3_1897685364694740993", + "media_url_https": "https://pbs.twimg.com/media/GlXuyOoWcAE6C5n.jpg", + "type": "photo", + "url": "https://t.co/wAajKfZtZ6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1142, + "y": 882, + "h": 308, + "w": 308 + }, + { + "x": 1278, + "y": 256, + "h": 376, + "w": 376 + } + ] + }, + "medium": { + "faces": [ + { + "x": 669, + "y": 516, + "h": 180, + "w": 180 + }, + { + "x": 748, + "y": 150, + "h": 220, + "w": 220 + } + ] + }, + "small": { + "faces": [ + { + "x": 379, + "y": 292, + "h": 102, + "w": 102 + }, + { + "x": 424, + "y": 85, + "h": 124, + "w": 124 + } + ] + }, + "orig": { + "faces": [ + { + "x": 2284, + "y": 1764, + "h": 616, + "w": 616 + }, + { + "x": 2556, + "y": 512, + "h": 752, + "w": 752 + } + ] + } + }, + "sizes": { + "large": { + "h": 1656, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 970, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 550, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3312, + "width": 4096, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 4096, + "h": 2294 + }, + { + "x": 492, + "y": 0, + "w": 3312, + "h": 3312 + }, + { + "x": 696, + "y": 0, + "w": 2905, + "h": 3312 + }, + { + "x": 1320, + "y": 0, + "w": 1656, + "h": 3312 + }, + { + "x": 0, + "y": 0, + "w": 4096, + "h": 3312 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897685364694740993" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/wAajKfZtZ6", + "expanded_url": "https://x.com/mluckovichajc/status/1897685390921723974/photo/1", + "id_str": "1897685364694740993", + "indices": [ + 0, + 23 + ], + "media_key": "3_1897685364694740993", + "media_url_https": "https://pbs.twimg.com/media/GlXuyOoWcAE6C5n.jpg", + "type": "photo", + "url": "https://t.co/wAajKfZtZ6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1142, + "y": 882, + "h": 308, + "w": 308 + }, + { + "x": 1278, + "y": 256, + "h": 376, + "w": 376 + } + ] + }, + "medium": { + "faces": [ + { + "x": 669, + "y": 516, + "h": 180, + "w": 180 + }, + { + "x": 748, + "y": 150, + "h": 220, + "w": 220 + } + ] + }, + "small": { + "faces": [ + { + "x": 379, + "y": 292, + "h": 102, + "w": 102 + }, + { + "x": 424, + "y": 85, + "h": 124, + "w": 124 + } + ] + }, + "orig": { + "faces": [ + { + "x": 2284, + "y": 1764, + "h": 616, + "w": 616 + }, + { + "x": 2556, + "y": 512, + "h": 752, + "w": 752 + } + ] + } + }, + "sizes": { + "large": { + "h": 1656, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 970, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 550, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3312, + "width": 4096, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 4096, + "h": 2294 + }, + { + "x": 492, + "y": 0, + "w": 3312, + "h": 3312 + }, + { + "x": 696, + "y": 0, + "w": 2905, + "h": 3312 + }, + { + "x": 1320, + "y": 0, + "w": 1656, + "h": 3312 + }, + { + "x": 0, + "y": 0, + "w": 4096, + "h": 3312 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897685364694740993" + } + } + } + ] + }, + "favorite_count": 7019, + "favorited": false, + "full_text": "https://t.co/wAajKfZtZ6", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 55, + "reply_count": 81, + "retweet_count": 2456, + "retweeted": false, + "user_id_str": "54274807", + "id_str": "1897685390921723974" + } + } + }, + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 00:40:54 +0000 2025", + "conversation_id_str": "1897809649421754870", + "display_text_range": [ + 0, + 17 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 27, + "favorited": false, + "full_text": "Accurate portrait", + "is_quote_status": true, + "lang": "fr", + "quote_count": 0, + "quoted_status_id_str": "1897685390921723974", + "quoted_status_permalink": { + "url": "https://t.co/gLTqRrbqtf", + "expanded": "https://twitter.com/mluckovichajc/status/1897685390921723974", + "display": "x.com/mluckovichajc/…" + }, + "reply_count": 0, + "retweet_count": 15, + "retweeted": false, + "user_id_str": "866442796823195649", + "id_str": "1897809649421754870" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329438", + "sortIndex": "1897829059325329378", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "list-conversation-1897829059325329438-tweet-1897800211981848577", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897800211981848577", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897800211981848577" + ], + "editable_until_msecs": "1741309404000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8114", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 11, + "bookmarked": false, + "created_at": "Fri Mar 07 00:03:24 +0000 2025", + "conversation_id_str": "1897800211981848577", + "display_text_range": [ + 0, + 240 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 116, + "favorited": false, + "full_text": "🧵Couple takeaways from excellent CFR meeting on Ukraine today.\nTrump envoy Keith Kellogg made clear that Trump wants to be a kind of, as he sees it, an objective mediator, and doesn’t want to favor the Ukraine side. This is a radical shift.", + "is_quote_status": false, + "lang": "en", + "quote_count": 3, + "reply_count": 8, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897800211981848577" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329438-tweet-1897803134585450658", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803134585450658", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897803134585450658" + ], + "editable_until_msecs": "1741310101000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2612", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 00:15:01 +0000 2025", + "conversation_id_str": "1897800211981848577", + "display_text_range": [ + 0, + 61 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 30, + "favorited": false, + "full_text": "(It sounded like Russia was doing much of the agenda setting)", + "in_reply_to_screen_name": "lrozen", + "in_reply_to_status_id_str": "1897802282000924701", + "in_reply_to_user_id_str": "47455112", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 3, + "retweet_count": 3, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897803134585450658" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329438-tweet-1897809628978728980", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897809628978728980", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897809628978728980" + ], + "editable_until_msecs": "1741311649000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1494", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 00:40:49 +0000 2025", + "conversation_id_str": "1897800211981848577", + "display_text_range": [ + 0, + 27 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 12, + "favorited": false, + "full_text": "(above all in my own words)", + "in_reply_to_screen_name": "lrozen", + "in_reply_to_status_id_str": "1897803134585450658", + "in_reply_to_user_id_str": "47455112", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897809628978728980" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1897800211981848577", + "1897800773293203585", + "1897801680109908100", + "1897802282000924701", + "1897803134585450658", + "1897809628978728980" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897808841716179422", + "sortIndex": "1897829059325329377", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897808841716179422", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMDAxMTEwMA==", + "rest_id": "30011100", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Apr 09 16:06:23 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Chief Foreign-Affairs Correspondent of The Wall Street Journal. Author of 📚No Country for Love 📚 and 📕Our Enemies Will Vanish📕 Insta & BlueSky @yarotrof", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "yarotrof.com", + "expanded_url": "http://www.yarotrof.com", + "url": "https://t.co/ExAi4dkh18", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 4019, + "followers_count": 145360, + "friends_count": 4239, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4058, + "location": "", + "media_count": 1486, + "name": "Yaroslav Trofimov", + "normal_followers_count": 145360, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/30011100/1724160771", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1107348447772975104/mK-YgG6Z_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "yarotrof", + "statuses_count": 27934, + "translator_type": "none", + "url": "https://t.co/ExAi4dkh18", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1467865587615473671", + "professional_type": "Creator", + "category": [ + { + "id": 957, + "name": "Author", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897808841716179422" + ], + "editable_until_msecs": "1741311462000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "6788", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897709680991825929", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0OTI3OTg3Ng==", + "rest_id": "49279876", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Jun 21 09:41:56 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "International man of history, Flying Scotsman. Author, @HooverInst senior fellow, @TheFP and @thetimes columnist. Opinions my own.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "niallferguson.com", + "expanded_url": "http://niallferguson.com", + "url": "https://t.co/NgOpBo0h5Y", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 653, + "followers_count": 362127, + "friends_count": 1079, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4831, + "location": "Stanford, CA", + "media_count": 786, + "name": "Niall Ferguson", + "normal_followers_count": 362127, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/49279876/1740146282", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1892929251889795072/Xkh4QyUY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "nfergus", + "statuses_count": 7906, + "translator_type": "none", + "url": "https://t.co/NgOpBo0h5Y", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897709680991825929" + ], + "editable_until_msecs": "1741287820000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "206465", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3MDk2ODA5MDc5MjM0NTg=", + "text": "\"The really big problem for President Trump is that Nixonian grand strategy is harder than it looks. To my mind, the probability of a Sino-Russian split must be very low as long as Xi and Putin are calling the shots in Beijing and Moscow. After all, it’s not as if Nixon brilliantly created the Sino-Soviet split. The USSR and the PRC were already close to border hostilities before he even entered the White House. And it’s hardly an appealing analogy if Ukraine is going to end up being Trump’s South Vietnam.\"", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 178, + "bookmarked": false, + "created_at": "Thu Mar 06 18:03:40 +0000 2025", + "conversation_id_str": "1897709680991825929", + "display_text_range": [ + 0, + 270 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 1413, + "favorited": false, + "full_text": "\"The really big problem for President Trump is that Nixonian grand strategy is harder than it looks. To my mind, the probability of a Sino-Russian split must be very low as long as Xi and Putin are calling the shots in Beijing and Moscow. After all, it’s not as if Nixon", + "is_quote_status": false, + "lang": "en", + "quote_count": 39, + "reply_count": 144, + "retweet_count": 242, + "retweeted": false, + "user_id_str": "49279876", + "id_str": "1897709680991825929" + } + } + }, + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Fri Mar 07 00:37:42 +0000 2025", + "conversation_id_str": "1897808841716179422", + "display_text_range": [ + 0, + 133 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833075888128", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833075888128", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCMWQAAPehX.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 544, + "w": 772, + "resize": "fit" + }, + "medium": { + "h": 544, + "w": 772, + "resize": "fit" + }, + "small": { + "h": 479, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 544, + "width": 772, + "focus_rects": [ + { + "x": 0, + "y": 112, + "w": 772, + "h": 432 + }, + { + "x": 171, + "y": 0, + "w": 544, + "h": 544 + }, + { + "x": 205, + "y": 0, + "w": 477, + "h": 544 + }, + { + "x": 307, + "y": 0, + "w": 272, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 772, + "h": 544 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833075888128" + } + } + }, + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833105317889", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833105317889", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCTXUAEGrMC.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 850, + "y": 94, + "h": 37, + "w": 37 + } + ] + }, + "medium": { + "faces": [ + { + "x": 850, + "y": 94, + "h": 37, + "w": 37 + } + ] + }, + "small": { + "faces": [ + { + "x": 597, + "y": 66, + "h": 25, + "w": 25 + } + ] + }, + "orig": { + "faces": [ + { + "x": 850, + "y": 94, + "h": 37, + "w": 37 + } + ] + } + }, + "sizes": { + "large": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "medium": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 544, + "width": 968, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 968, + "h": 542 + }, + { + "x": 424, + "y": 0, + "w": 544, + "h": 544 + }, + { + "x": 491, + "y": 0, + "w": 477, + "h": 544 + }, + { + "x": 696, + "y": 0, + "w": 272, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 968, + "h": 544 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833105317889" + } + } + }, + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833105268736", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833105268736", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCTWkAAlENP.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 500, + "w": 890, + "resize": "fit" + }, + "medium": { + "h": 500, + "w": 890, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 500, + "width": 890, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 890, + "h": 498 + }, + { + "x": 305, + "y": 0, + "w": 500, + "h": 500 + }, + { + "x": 336, + "y": 0, + "w": 439, + "h": 500 + }, + { + "x": 430, + "y": 0, + "w": 250, + "h": 500 + }, + { + "x": 0, + "y": 0, + "w": 890, + "h": 500 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833105268736" + } + } + }, + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833105309696", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833105309696", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCTXMAARmIY.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "medium": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 544, + "width": 968, + "focus_rects": [ + { + "x": 0, + "y": 2, + "w": 968, + "h": 542 + }, + { + "x": 0, + "y": 0, + "w": 544, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 477, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 272, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 968, + "h": 544 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833105309696" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833075888128", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833075888128", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCMWQAAPehX.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 544, + "w": 772, + "resize": "fit" + }, + "medium": { + "h": 544, + "w": 772, + "resize": "fit" + }, + "small": { + "h": 479, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 544, + "width": 772, + "focus_rects": [ + { + "x": 0, + "y": 112, + "w": 772, + "h": 432 + }, + { + "x": 171, + "y": 0, + "w": 544, + "h": 544 + }, + { + "x": 205, + "y": 0, + "w": 477, + "h": 544 + }, + { + "x": 307, + "y": 0, + "w": 272, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 772, + "h": 544 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833075888128" + } + } + }, + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833105317889", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833105317889", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCTXUAEGrMC.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 850, + "y": 94, + "h": 37, + "w": 37 + } + ] + }, + "medium": { + "faces": [ + { + "x": 850, + "y": 94, + "h": 37, + "w": 37 + } + ] + }, + "small": { + "faces": [ + { + "x": 597, + "y": 66, + "h": 25, + "w": 25 + } + ] + }, + "orig": { + "faces": [ + { + "x": 850, + "y": 94, + "h": 37, + "w": 37 + } + ] + } + }, + "sizes": { + "large": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "medium": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 544, + "width": 968, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 968, + "h": 542 + }, + { + "x": 424, + "y": 0, + "w": 544, + "h": 544 + }, + { + "x": 491, + "y": 0, + "w": 477, + "h": 544 + }, + { + "x": 696, + "y": 0, + "w": 272, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 968, + "h": 544 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833105317889" + } + } + }, + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833105268736", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833105268736", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCTWkAAlENP.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 500, + "w": 890, + "resize": "fit" + }, + "medium": { + "h": 500, + "w": 890, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 500, + "width": 890, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 890, + "h": 498 + }, + { + "x": 305, + "y": 0, + "w": 500, + "h": 500 + }, + { + "x": 336, + "y": 0, + "w": 439, + "h": 500 + }, + { + "x": 430, + "y": 0, + "w": 250, + "h": 500 + }, + { + "x": 0, + "y": 0, + "w": 890, + "h": 500 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833105268736" + } + } + }, + { + "display_url": "pic.x.com/o8JZiKULbw", + "expanded_url": "https://x.com/yarotrof/status/1897808841716179422/photo/1", + "id_str": "1897808833105309696", + "indices": [ + 134, + 157 + ], + "media_key": "3_1897808833105309696", + "media_url_https": "https://pbs.twimg.com/media/GlZfFCTXMAARmIY.jpg", + "type": "photo", + "url": "https://t.co/o8JZiKULbw", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "medium": { + "h": 544, + "w": 968, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 544, + "width": 968, + "focus_rects": [ + { + "x": 0, + "y": 2, + "w": 968, + "h": 542 + }, + { + "x": 0, + "y": 0, + "w": 544, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 477, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 272, + "h": 544 + }, + { + "x": 0, + "y": 0, + "w": 968, + "h": 544 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897808833105309696" + } + } + } + ] + }, + "favorite_count": 57, + "favorited": false, + "full_text": "The Soviet Union and China fought a hot war in 1969. Russia and China today have the closest relationship they have ever had, people! https://t.co/o8JZiKULbw", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1897709680991825929", + "quoted_status_permalink": { + "url": "https://t.co/cja08ci1dS", + "expanded": "https://twitter.com/nfergus/status/1897709680991825929", + "display": "x.com/nfergus/status…" + }, + "reply_count": 7, + "retweet_count": 19, + "retweeted": false, + "user_id_str": "30011100", + "id_str": "1897808841716179422" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897805957775733081", + "sortIndex": "1897829059325329376", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897805957775733081", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897805957775733081" + ], + "editable_until_msecs": "1741310774520", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:26:14 +0000 2025", + "conversation_id_str": "1897805957775733081", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "268636316", + "name": "Idrees Ali", + "screen_name": "idreesali114", + "indices": [ + 3, + 16 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @idreesali114: Enroute to Miami from DC when the pilot announced that there had been some sort of rocket explosion, all airspace near Mi…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 63, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897805957775733081", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897805726266909046", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNjg2MzYzMTY=", + "rest_id": "268636316", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sat Mar 19 04:57:55 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "@Reuters National Security Correspondent covering the Pentagon. idrees.ali@tr.com", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "reuters.com/journalists/id…", + "expanded_url": "http://www.reuters.com/journalists/idrees-ali", + "url": "https://t.co/G5jKe51ifb", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25042, + "followers_count": 55484, + "friends_count": 3415, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1746, + "location": "Washington D.C. via Karachi", + "media_count": 1911, + "name": "Idrees Ali", + "normal_followers_count": 55484, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/268636316/1497143088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1886467566643646464/aetPRThY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "idreesali114", + "statuses_count": 18241, + "translator_type": "none", + "url": "https://t.co/G5jKe51ifb", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897805726266909046" + ], + "editable_until_msecs": "1741310719000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "28128", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 9, + "bookmarked": false, + "created_at": "Fri Mar 07 00:25:19 +0000 2025", + "conversation_id_str": "1897805726266909046", + "display_text_range": [ + 0, + 214 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 202, + "favorited": false, + "full_text": "Enroute to Miami from DC when the pilot announced that there had been some sort of rocket explosion, all airspace near Miami was closed down, and we would be in a holding pattern for the for the foreseeable future…", + "is_quote_status": false, + "lang": "en", + "quote_count": 10, + "reply_count": 10, + "retweet_count": 63, + "retweeted": false, + "user_id_str": "268636316", + "id_str": "1897805726266909046" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897805622160028007", + "sortIndex": "1897829059325329375", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897805622160028007", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897805622160028007" + ], + "editable_until_msecs": "1741310694503", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:24:54 +0000 2025", + "conversation_id_str": "1897805622160028007", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "126401831", + "name": "Erik Wasson", + "screen_name": "elwasson", + "indices": [ + 3, + 12 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @elwasson: This creates more red tape for new parents. Up until now it’s a box on the form at the hospital when you pick the child’s name", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897803744240103496", + "quoted_status_permalink": { + "url": "https://t.co/pGhCZtffF4", + "expanded": "https://twitter.com/arthurdelaneyhp/status/1897803744240103496", + "display": "x.com/arthurdelaneyh…" + }, + "reply_count": 0, + "retweet_count": 21, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897805622160028007", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897805376256463138", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjY0MDE4MzE=", + "rest_id": "126401831", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Mar 25 19:17:44 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "I report on Congress for Bloomberg News @business Opinions are my own, RTs not endorsement. Send tips to ewasson at https://t.co/ctMfNnM5q0 Signal: WassonNews.96", + "entities": { + "description": { + "urls": [ + { + "display_url": "bloomberg.net", + "expanded_url": "http://bloomberg.net", + "url": "https://t.co/ctMfNnM5q0", + "indices": [ + 116, + 139 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "bloomberg.com/politics/congr…", + "expanded_url": "http://www.bloomberg.com/politics/congress", + "url": "https://t.co/ntCHgAWMfD", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5405, + "followers_count": 32179, + "friends_count": 4254, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1225, + "location": "Washington", + "media_count": 451, + "name": "Erik Wasson", + "normal_followers_count": 32179, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/126401831/1679426047", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1314649667347644420/9gKRUTot_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "elwasson", + "statuses_count": 66782, + "translator_type": "none", + "url": "https://t.co/ntCHgAWMfD", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897805376256463138" + ], + "editable_until_msecs": "1741310635000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "9227", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803744240103496", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDE5NjY4NA==", + "rest_id": "24196684", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Mar 13 16:11:51 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "@HuffPostPol reporter, @huffpostunion member - book me on shows & podcasts arthur@huffpost.com - @delaneyrules.bsky.social", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "huffingtonpost.com/arthur-delaney/", + "expanded_url": "http://www.huffingtonpost.com/arthur-delaney/", + "url": "https://t.co/NVPpvNj7Wv", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 15910, + "followers_count": 20537, + "friends_count": 2098, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 668, + "location": "Washington, D.C. 🇺🇸", + "media_count": 954, + "name": "Arthur Delaney 🇺🇸", + "normal_followers_count": 20537, + "pinned_tweet_ids_str": [ + "1824813585790316873" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/24196684/1495223759", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1620782648221130754/GUneF8fi_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ArthurDelaneyHP", + "statuses_count": 23180, + "translator_type": "none", + "url": "https://t.co/NVPpvNj7Wv", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/ZLqtdUzZq6", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 225, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "The change — immediately criticized by pediatric health advocates — eliminates a program that allowed parents to fill out a form at the hospital to secure a Social Security number for their children.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.pressherald.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 480, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 1000, + "width": 1500, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "8859092", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 67, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "8859092", + "path": [] + } + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 1000, + "width": 1500, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 1000, + "width": 1500, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "pressherald.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 91, + "green": 44, + "red": 16 + }, + "percentage": 32.16 + }, + { + "rgb": { + "blue": 44, + "green": 72, + "red": 119 + }, + "percentage": 27.77 + }, + { + "rgb": { + "blue": 154, + "green": 171, + "red": 178 + }, + "percentage": 11.59 + }, + { + "rgb": { + "blue": 30, + "green": 27, + "red": 34 + }, + "percentage": 5.83 + }, + { + "rgb": { + "blue": 152, + "green": 86, + "red": 42 + }, + "percentage": 4.37 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Social Security now requires Maine parents to visit an agency office to register newborns", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 91, + "green": 44, + "red": 16 + }, + "percentage": 32.16 + }, + { + "rgb": { + "blue": 44, + "green": 72, + "red": 119 + }, + "percentage": 27.77 + }, + { + "rgb": { + "blue": 154, + "green": 171, + "red": 178 + }, + "percentage": 11.59 + }, + { + "rgb": { + "blue": 30, + "green": 27, + "red": 34 + }, + "percentage": 5.83 + }, + { + "rgb": { + "blue": 152, + "green": 86, + "red": 42 + }, + "percentage": 4.37 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 1000, + "width": 1500, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 91, + "green": 44, + "red": 16 + }, + "percentage": 32.16 + }, + { + "rgb": { + "blue": 44, + "green": 72, + "red": 119 + }, + "percentage": 27.77 + }, + { + "rgb": { + "blue": 154, + "green": 171, + "red": 178 + }, + "percentage": 11.59 + }, + { + "rgb": { + "blue": 30, + "green": 27, + "red": 34 + }, + "percentage": 5.83 + }, + { + "rgb": { + "blue": 152, + "green": 86, + "red": 42 + }, + "percentage": 4.37 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 1000, + "width": 1500, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/ZLqtdUzZq6", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 1000, + "width": 1500, + "url": "https://pbs.twimg.com/card_img/1897785877180362754/I5CqlS7E?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/ZLqtdUzZq6", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjo4ODU5MDky", + "rest_id": "8859092", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Sep 13 17:57:09 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "We tell the big stories about Maine.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "pressherald.com", + "expanded_url": "http://www.pressherald.com", + "url": "https://t.co/ck1rwdzBKZ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12976, + "followers_count": 96991, + "friends_count": 1105, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1235, + "location": "Portland, Maine", + "media_count": 21383, + "name": "Portland Press Herald", + "normal_followers_count": 96991, + "pinned_tweet_ids_str": [ + "1704152331476967546" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/8859092/1682130193", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1375291102123675653/hB3J09qZ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PressHerald", + "statuses_count": 187928, + "translator_type": "none", + "url": "https://t.co/ck1rwdzBKZ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjo4ODU5MDky", + "rest_id": "8859092", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Sep 13 17:57:09 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "We tell the big stories about Maine.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "pressherald.com", + "expanded_url": "http://www.pressherald.com", + "url": "https://t.co/ck1rwdzBKZ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12976, + "followers_count": 96991, + "friends_count": 1105, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1235, + "location": "Portland, Maine", + "media_count": 21383, + "name": "Portland Press Herald", + "normal_followers_count": 96991, + "pinned_tweet_ids_str": [ + "1704152331476967546" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/8859092/1682130193", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1375291102123675653/hB3J09qZ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PressHerald", + "statuses_count": 187928, + "translator_type": "none", + "url": "https://t.co/ck1rwdzBKZ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897803744240103496" + ], + "editable_until_msecs": "1741310246000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "25530", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 10, + "bookmarked": false, + "created_at": "Fri Mar 07 00:17:26 +0000 2025", + "conversation_id_str": "1897803744240103496", + "display_text_range": [ + 0, + 127 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "pressherald.com/2025/03/06/soc…", + "expanded_url": "https://www.pressherald.com/2025/03/06/social-security-starts-requiring-maine-parents-to-visit-an-agency-office-to-register-newborns/#:~:text=The%20Social%20Security%20Administration%20is,by%20Maine%20officials%20this%20week", + "url": "https://t.co/ZLqtdUzZq6", + "indices": [ + 103, + 126 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 40, + "favorited": false, + "full_text": "Social Security Administration now requiring Maine parents to visit an office to register newborns? 🤔\n\nhttps://t.co/ZLqtdUzZq6.", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 14, + "reply_count": 9, + "retweet_count": 34, + "retweeted": false, + "user_id_str": "24196684", + "id_str": "1897803744240103496" + } + } + }, + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 00:23:55 +0000 2025", + "conversation_id_str": "1897805376256463138", + "display_text_range": [ + 0, + 126 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 44, + "favorited": false, + "full_text": "This creates more red tape for new parents. Up until now it’s a box on the form at the hospital when you pick the child’s name", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1897803744240103496", + "quoted_status_permalink": { + "url": "https://t.co/pGhCZtffF4", + "expanded": "https://twitter.com/arthurdelaneyhp/status/1897803744240103496", + "display": "x.com/arthurdelaneyh…" + }, + "reply_count": 3, + "retweet_count": 21, + "retweeted": false, + "user_id_str": "126401831", + "id_str": "1897805376256463138" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897805539851260296", + "sortIndex": "1897829059325329374", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897805539851260296", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDM0NTMxNw==", + "rest_id": "54345317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 06 21:51:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Fellow for Europe @CFR_org | Historian & Political Scientist | #Germany #Europe #Russia #EasternEurope #Security | Views my own, RT ≠ endorsement", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org/expert/liana-f…", + "expanded_url": "https://www.cfr.org/expert/liana-fix", + "url": "https://t.co/kNfe79pLBh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25474, + "followers_count": 12927, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 349, + "location": "Washington, DC", + "media_count": 443, + "name": "Dr. Liana Fix", + "normal_followers_count": 12927, + "pinned_tweet_ids_str": [ + "1882796941785846098" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54345317/1654117548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1573991186603425792/g-ltQdRG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LianaFix", + "statuses_count": 20500, + "translator_type": "none", + "url": "https://t.co/kNfe79pLBh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897805539851260296" + ], + "editable_until_msecs": "1741310674879", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:24:34 +0000 2025", + "conversation_id_str": "1897805539851260296", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "348480883", + "name": "Cato Foreign Policy", + "screen_name": "CatoFP", + "indices": [ + 3, + 10 + ] + }, + { + "id_str": "1323723698", + "name": "Justin Logan", + "screen_name": "JustinTLogan", + "indices": [ + 22, + 35 + ] + }, + { + "id_str": "1444029422", + "name": "War on the Rocks", + "screen_name": "WarOnTheRocks", + "indices": [ + 43, + 57 + ] + }, + { + "id_str": "418609418", + "name": "Ryan Evans", + "screen_name": "EvansRyan202", + "indices": [ + 119, + 132 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @CatoFP: Recently, @JustinTLogan joined @WarOnTheRocks to discuss the puzzling diplomacy over Ukraine’s future with @EvansRyan202, @Lian…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "54345317", + "id_str": "1897805539851260296", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897799644308029581", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNDg0ODA4ODM=", + "rest_id": "348480883", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Aug 04 14:13:21 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "The @CatoInstitute's Defense and Foreign Policy Department aims to restore a principled and restrained foreign policy to make the United States free and secure.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cato.org/research/forei…", + "expanded_url": "http://www.cato.org/research/foreign-policy-national-security", + "url": "https://t.co/AInWOwXfDx", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 419, + "followers_count": 14881, + "friends_count": 361, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 573, + "location": "Washington DC", + "media_count": 4992, + "name": "Cato Foreign Policy", + "normal_followers_count": 14881, + "pinned_tweet_ids_str": [ + "1897688839994433795" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/348480883/1711741630", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1774809650321395712/1qeq-dWa_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "CatoFP", + "statuses_count": 29649, + "translator_type": "none", + "url": "https://t.co/AInWOwXfDx", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897799644308029581" + ], + "editable_until_msecs": "1741309269000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "334", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://buffer.com\" rel=\"nofollow\">Buffer</a>", + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Mar 07 00:01:09 +0000 2025", + "conversation_id_str": "1897799644308029581", + "display_text_range": [ + 0, + 194 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 178, + 186 + ], + "text": "Ukraine" + }, + { + "indices": [ + 187, + 194 + ], + "text": "CatoFP" + } + ], + "media": [ + { + "display_url": "pic.x.com/qyFjp4caT4", + "expanded_url": "https://x.com/CatoFP/status/1897799644308029581/video/1", + "id_str": "1897799612510937088", + "indices": [ + 195, + 218 + ], + "media_key": "7_1897799612510937088", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897799612510937088/pu/img/e8EpVKcZKWaLqE_4.jpg", + "type": "video", + "url": "https://t.co/qyFjp4caT4", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 354, + "w": 630, + "resize": "fit" + }, + "medium": { + "h": 354, + "w": 630, + "resize": "fit" + }, + "small": { + "h": 354, + "w": 630, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 354, + "width": 630, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 105, + 59 + ], + "duration_millis": 42542, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897799612510937088/pu/pl/djxjwIt9J1_4edFc.m3u8?tag=12" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897799612510937088/pu/vid/avc1/480x270/h6EA5W_W67f67nG8.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897799612510937088/pu/vid/avc1/630x354/rlbeITXwLNAmqxlD.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897799612510937088" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "cato.org/multimedia/med…", + "expanded_url": "https://www.cato.org/multimedia/media-highlights-radio/justin-logan-discusses-puzzling-diplomacy-over-ukraines-future", + "url": "https://t.co/NE3fKZO1Op", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [ + { + "id_str": "1323723698", + "name": "Justin Logan", + "screen_name": "JustinTLogan", + "indices": [ + 10, + 23 + ] + }, + { + "id_str": "1444029422", + "name": "War on the Rocks", + "screen_name": "WarOnTheRocks", + "indices": [ + 31, + 45 + ] + }, + { + "id_str": "418609418", + "name": "Ryan Evans", + "screen_name": "EvansRyan202", + "indices": [ + 107, + 120 + ] + }, + { + "id_str": "54345317", + "name": "Dr. Liana Fix", + "screen_name": "LianaFix", + "indices": [ + 122, + 131 + ] + }, + { + "id_str": "1262845575147458560", + "name": "Michael Kofman", + "screen_name": "KofmanMichael", + "indices": [ + 137, + 151 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/qyFjp4caT4", + "expanded_url": "https://x.com/CatoFP/status/1897799644308029581/video/1", + "id_str": "1897799612510937088", + "indices": [ + 195, + 218 + ], + "media_key": "7_1897799612510937088", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897799612510937088/pu/img/e8EpVKcZKWaLqE_4.jpg", + "type": "video", + "url": "https://t.co/qyFjp4caT4", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 354, + "w": 630, + "resize": "fit" + }, + "medium": { + "h": 354, + "w": 630, + "resize": "fit" + }, + "small": { + "h": 354, + "w": 630, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 354, + "width": 630, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 105, + 59 + ], + "duration_millis": 42542, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897799612510937088/pu/pl/djxjwIt9J1_4edFc.m3u8?tag=12" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897799612510937088/pu/vid/avc1/480x270/h6EA5W_W67f67nG8.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897799612510937088/pu/vid/avc1/630x354/rlbeITXwLNAmqxlD.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897799612510937088" + } + } + } + ] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "Recently, @JustinTLogan joined @WarOnTheRocks to discuss the puzzling diplomacy over Ukraine’s future with @EvansRyan202, @LianaFix, and @KofmanMichael: https://t.co/NE3fKZO1Op \n#Ukraine #CatoFP https://t.co/qyFjp4caT4", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "348480883", + "id_str": "1897799644308029581" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897805259440902185", + "sortIndex": "1897829059325329373", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897805259440902185", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897805259440902185" + ], + "editable_until_msecs": "1741310608024", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:23:28 +0000 2025", + "conversation_id_str": "1897805259440902185", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1528395061326749700", + "name": "Jeremy Baumeister", + "screen_name": "JeremyBaumeist2", + "indices": [ + 3, + 19 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @JeremyBaumeist2: The American economy lost over 100,000 jobs last month. For the first time in guess how long. Grocery prices are skyro…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 10, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897805259440902185", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897805147507458445", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTI4Mzk1MDYxMzI2NzQ5NzAw", + "rest_id": "1528395061326749700", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun May 22 15:20:15 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Starting again. Aging goth. Devout pagan. Unemployed IT pro. Poet. Into Irish writers, Irish whiskey, history, politics and naps", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 30551, + "followers_count": 2268, + "friends_count": 3240, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1, + "location": "Denver, CO", + "media_count": 867, + "name": "Jeremy Baumeister", + "normal_followers_count": 2268, + "pinned_tweet_ids_str": [ + "1767379128867516772" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1528395061326749700/1653270392", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1608969611759828994/YrvtVFg6_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JeremyBaumeist2", + "statuses_count": 16196, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897805147507458445" + ], + "editable_until_msecs": "1741310581000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1724", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Fri Mar 07 00:23:01 +0000 2025", + "conversation_id_str": "1897805147507458445", + "display_text_range": [ + 0, + 186 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 19, + "favorited": false, + "full_text": "The American economy lost over 100,000 jobs last month. For the first time in guess how long. Grocery prices are skyrocketing.\nIf this is winning, I'd hate to see what losing looks like.", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 0, + "retweet_count": 10, + "retweeted": false, + "user_id_str": "1528395061326749700", + "id_str": "1897805147507458445" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897804674339582309", + "sortIndex": "1897829059325329372", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897804674339582309", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897804674339582309" + ], + "editable_until_msecs": "1741310468525", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:21:08 +0000 2025", + "conversation_id_str": "1897804674339582309", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "408777266", + "name": "Michael McGough", + "screen_name": "MichaelMcGough3", + "indices": [ + 3, + 19 + ] + }, + { + "id_str": "47455112", + "name": "Laura Rozen", + "screen_name": "lrozen", + "indices": [ + 21, + 28 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @MichaelMcGough3: @lrozen Wasn’t the U.S. able to mediate between Israel and Egypt without anyone doubting that it was partial to Israel?", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 2, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897804674339582309", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897802404411638064", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MDg3NzcyNjY=", + "rest_id": "408777266", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Nov 09 21:40:58 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Journalist interested in US and UK politics; law; church history; sacred music; theater; crime fiction; speech and debate; poetry; comics. Retweet ≠ agreement.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "latimes.com/la-bio-michael…", + "expanded_url": "http://www.latimes.com/la-bio-michael-mcgough-staff.html", + "url": "https://t.co/LHI3OE6ZMH", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 39045, + "followers_count": 4301, + "friends_count": 4840, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 196, + "location": "Washington, D.C.", + "media_count": 341, + "name": "Michael McGough", + "normal_followers_count": 4301, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1250558897162682369/xaWteJJW_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MichaelMcGough3", + "statuses_count": 174070, + "translator_type": "none", + "url": "https://t.co/LHI3OE6ZMH", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897802404411638064" + ], + "editable_until_msecs": "1741309927000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1687", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:12:07 +0000 2025", + "conversation_id_str": "1897800211981848577", + "display_text_range": [ + 8, + 119 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "47455112", + "name": "Laura Rozen", + "screen_name": "lrozen", + "indices": [ + 0, + 7 + ] + } + ] + }, + "favorite_count": 6, + "favorited": false, + "full_text": "@lrozen Wasn’t the U.S. able to mediate between Israel and Egypt without anyone doubting that it was partial to Israel?", + "in_reply_to_screen_name": "lrozen", + "in_reply_to_status_id_str": "1897800211981848577", + "in_reply_to_user_id_str": "47455112", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 2, + "retweeted": false, + "user_id_str": "408777266", + "id_str": "1897802404411638064" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897803999794921978", + "sortIndex": "1897829059325329371", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803999794921978", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDk1NDgwNTkwNTcyOTYxNzky", + "rest_id": "1495480590572961792", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Polymarket", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1789484330638561280/t4Js9UFO_bigger.jpg" + }, + "description": "Polymarket", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 20 19:29:22 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Breaking news & geopolitical insights on Ukraine, the U.S, the Middle East & Europe. The key updates that matter—powered by @Polymarket.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "poly.market/intel", + "expanded_url": "https://poly.market/intel", + "url": "https://t.co/9zd0yb1Jz0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2105, + "followers_count": 809707, + "friends_count": 171, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10811, + "location": "", + "media_count": 6423, + "name": "Polymarket Intel", + "normal_followers_count": 809707, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1495480590572961792/1737660509", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1885081620073324544/wc4EnUmY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PolymarketIntel", + "statuses_count": 8006, + "translator_type": "none", + "url": "https://t.co/9zd0yb1Jz0", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1501574896693960704", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897803999794921978" + ], + "editable_until_msecs": "1741310307000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "11786", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Fri Mar 07 00:18:27 +0000 2025", + "conversation_id_str": "1897803999794921978", + "display_text_range": [ + 0, + 65 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/V5g6LazPXB", + "expanded_url": "https://x.com/PolymarketIntel/status/1897803999794921978/photo/1", + "id_str": "1897803976877199360", + "indices": [ + 66, + 89 + ], + "media_key": "3_1897803976877199360", + "media_url_https": "https://pbs.twimg.com/media/GlZaqXcW0AA8nk-.jpg", + "type": "photo", + "url": "https://t.co/V5g6LazPXB", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1346, + "y": 470, + "h": 172, + "w": 172 + } + ] + }, + "medium": { + "faces": [ + { + "x": 788, + "y": 275, + "h": 100, + "w": 100 + } + ] + }, + "small": { + "faces": [ + { + "x": 446, + "y": 156, + "h": 57, + "w": 57 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1346, + "y": 470, + "h": 172, + "w": 172 + } + ] + } + }, + "sizes": { + "large": { + "h": 1366, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 800, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 454, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1366, + "width": 2048, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1147 + }, + { + "x": 0, + "y": 0, + "w": 1366, + "h": 1366 + }, + { + "x": 0, + "y": 0, + "w": 1198, + "h": 1366 + }, + { + "x": 0, + "y": 0, + "w": 683, + "h": 1366 + }, + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1366 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897803976877199360" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/V5g6LazPXB", + "expanded_url": "https://x.com/PolymarketIntel/status/1897803999794921978/photo/1", + "id_str": "1897803976877199360", + "indices": [ + 66, + 89 + ], + "media_key": "3_1897803976877199360", + "media_url_https": "https://pbs.twimg.com/media/GlZaqXcW0AA8nk-.jpg", + "type": "photo", + "url": "https://t.co/V5g6LazPXB", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1346, + "y": 470, + "h": 172, + "w": 172 + } + ] + }, + "medium": { + "faces": [ + { + "x": 788, + "y": 275, + "h": 100, + "w": 100 + } + ] + }, + "small": { + "faces": [ + { + "x": 446, + "y": 156, + "h": 57, + "w": 57 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1346, + "y": 470, + "h": 172, + "w": 172 + } + ] + } + }, + "sizes": { + "large": { + "h": 1366, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 800, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 454, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1366, + "width": 2048, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1147 + }, + { + "x": 0, + "y": 0, + "w": 1366, + "h": 1366 + }, + { + "x": 0, + "y": 0, + "w": 1198, + "h": 1366 + }, + { + "x": 0, + "y": 0, + "w": 683, + "h": 1366 + }, + { + "x": 0, + "y": 0, + "w": 2048, + "h": 1366 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897803976877199360" + } + } + } + ] + }, + "favorite_count": 34, + "favorited": false, + "full_text": "JUST IN \n\nTrump Orders Creation of U.S. Strategic Bitcoin Reserve https://t.co/V5g6LazPXB", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 8, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "1495480590572961792", + "id_str": "1897803999794921978" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897803992736186707", + "sortIndex": "1897829059325329370", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803992736186707", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897803992736186707" + ], + "editable_until_msecs": "1741310306000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "15149", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803529282302331", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NTg3NDI3OA==", + "rest_id": "45874278", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Jun 09 16:25:10 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "@CNN Correspondent covering aviation and transportation. Pilot. Flight instructor.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "instagram.com/petemuntean", + "expanded_url": "http://instagram.com/petemuntean", + "url": "https://t.co/XbMECmqvd4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 11077, + "followers_count": 20959, + "friends_count": 2809, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 403, + "location": "Washington, DC", + "media_count": 2913, + "name": "Pete Muntean", + "normal_followers_count": 20959, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/45874278/1646060555", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1498311265759997955/G1n0VdOy_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "petemuntean", + "statuses_count": 11054, + "translator_type": "none", + "url": "https://t.co/XbMECmqvd4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897803529282302331" + ], + "editable_until_msecs": "1741310195000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "569175", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 296, + "bookmarked": false, + "created_at": "Fri Mar 07 00:16:35 +0000 2025", + "conversation_id_str": "1897803529282302331", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/bX9vLSClde", + "expanded_url": "https://x.com/petemuntean/status/1897803529282302331/photo/1", + "id_str": "1897803207830573056", + "indices": [ + 279, + 302 + ], + "media_key": "3_1897803207830573056", + "media_url_https": "https://pbs.twimg.com/media/GlZZ9mhWkAAnADD.jpg", + "type": "photo", + "url": "https://t.co/bX9vLSClde", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 650, + "w": 1430, + "resize": "fit" + }, + "medium": { + "h": 545, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 309, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 650, + "width": 1430, + "focus_rects": [ + { + "x": 170, + "y": 0, + "w": 1161, + "h": 650 + }, + { + "x": 425, + "y": 0, + "w": 650, + "h": 650 + }, + { + "x": 465, + "y": 0, + "w": 570, + "h": 650 + }, + { + "x": 588, + "y": 0, + "w": 325, + "h": 650 + }, + { + "x": 0, + "y": 0, + "w": 1430, + "h": 650 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897803207830573056" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/bX9vLSClde", + "expanded_url": "https://x.com/petemuntean/status/1897803529282302331/photo/1", + "id_str": "1897803207830573056", + "indices": [ + 279, + 302 + ], + "media_key": "3_1897803207830573056", + "media_url_https": "https://pbs.twimg.com/media/GlZZ9mhWkAAnADD.jpg", + "type": "photo", + "url": "https://t.co/bX9vLSClde", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 650, + "w": 1430, + "resize": "fit" + }, + "medium": { + "h": 545, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 309, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 650, + "width": 1430, + "focus_rects": [ + { + "x": 170, + "y": 0, + "w": 1161, + "h": 650 + }, + { + "x": 425, + "y": 0, + "w": 650, + "h": 650 + }, + { + "x": 465, + "y": 0, + "w": 570, + "h": 650 + }, + { + "x": 588, + "y": 0, + "w": 325, + "h": 650 + }, + { + "x": 0, + "y": 0, + "w": 1430, + "h": 650 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897803207830573056" + } + } + } + ] + }, + "favorite_count": 3671, + "favorited": false, + "full_text": "BREAKING: The FAA is halting flights into Miami, Fort Lauderdale, Palm Beach, and Orlando airports for \"space launch debris\" until at least 8 p.m. EST. \n\nThe move follows the failed launch of SpaceX's Starship, which lifted off from Starbase in South Texas about 45 minutes ago. https://t.co/bX9vLSClde", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 390, + "reply_count": 225, + "retweet_count": 1464, + "retweeted": false, + "user_id_str": "45874278", + "id_str": "1897803529282302331" + } + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Fri Mar 07 00:18:26 +0000 2025", + "conversation_id_str": "1897803992736186707", + "display_text_range": [ + 0, + 14 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 214, + "favorited": false, + "full_text": "More Musk mess", + "is_quote_status": true, + "lang": "en", + "quote_count": 5, + "quoted_status_id_str": "1897803529282302331", + "quoted_status_permalink": { + "url": "https://t.co/FTM5KaAQ18", + "expanded": "https://twitter.com/petemuntean/status/1897803529282302331", + "display": "x.com/petemuntean/st…" + }, + "reply_count": 13, + "retweet_count": 106, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897803992736186707" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897803349585494411", + "sortIndex": "1897829059325329369", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897803349585494411", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897803349585494411" + ], + "editable_until_msecs": "1741310152679", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:15:52 +0000 2025", + "conversation_id_str": "1897803349585494411", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "236487888", + "name": "Joe Walsh", + "screen_name": "WalshFreedom", + "indices": [ + 3, + 16 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @WalshFreedom: Think about it: It’s taken him only seven weeks to fuck up our economy and turn us into an enemy of the free world.\n\nPret…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 860, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897803349585494411", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897795769811238988", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzY0ODc4ODg=", + "rest_id": "236487888", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jan 10 18:11:53 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Host, \"Social Contract with Joe Walsh.\" Former Candidate for President. Former Congressman. Join me on YouTube.\n🦋 https://t.co/DXqVhUrNfU", + "entities": { + "description": { + "urls": [ + { + "display_url": "walshfreedom.bsky.social", + "expanded_url": "http://walshfreedom.bsky.social", + "url": "https://t.co/DXqVhUrNfU", + "indices": [ + 114, + 137 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com/@socialcontrac…", + "expanded_url": "https://www.youtube.com/@socialcontractwithjoewalsh?sub_confirmation=1", + "url": "https://t.co/QVFgWL3jKM", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 14624, + "followers_count": 468085, + "friends_count": 24814, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4555, + "location": "", + "media_count": 5450, + "name": "Joe Walsh", + "normal_followers_count": 468085, + "pinned_tweet_ids_str": [ + "1882187630697451826" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/236487888/1737348275", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1881200385303384064/1g8gzsMs_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "WalshFreedom", + "statuses_count": 142423, + "translator_type": "none", + "url": "https://t.co/QVFgWL3jKM", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471562850690813958", + "professional_type": "Creator", + "category": [ + { + "id": 933, + "name": "Media Personality", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897795769811238988" + ], + "editable_until_msecs": "1741308345000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "51767", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 52, + "bookmarked": false, + "created_at": "Thu Mar 06 23:45:45 +0000 2025", + "conversation_id_str": "1897795769811238988", + "display_text_range": [ + 0, + 135 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 4377, + "favorited": false, + "full_text": "Think about it: It’s taken him only seven weeks to fuck up our economy and turn us into an enemy of the free world.\n\nPretty impressive.", + "is_quote_status": false, + "lang": "en", + "quote_count": 22, + "reply_count": 217, + "retweet_count": 860, + "retweeted": false, + "user_id_str": "236487888", + "id_str": "1897795769811238988" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897801047000715775", + "sortIndex": "1897829059325329368", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897801047000715775", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897801047000715775" + ], + "editable_until_msecs": "1741309603700", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 00:06:43 +0000 2025", + "conversation_id_str": "1897801047000715775", + "display_text_range": [ + 0, + 122 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "84578697", + "name": "Anders Nyman", + "screen_name": "Knytanders", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @Knytanders: Embolden Russia and this is the result. Remember, everything said on Russian tv is approved by the leader.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897756432461631789", + "quoted_status_permalink": { + "url": "https://t.co/15tCUjveUl", + "expanded": "https://twitter.com/JuliaDavisNews/status/1897756432461631789", + "display": "x.com/JuliaDavisNews…" + }, + "reply_count": 0, + "retweet_count": 34, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897801047000715775", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897763772829147448", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NDU3ODY5Nw==", + "rest_id": "84578697", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Oct 23 12:32:21 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "En gång #konsument-guru och web 2.0-pionjär med Cint. Nu månskenssnickare, Teslaägare och juridisk rådgivare. Drar alltid en lans för de svaga.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 23019, + "followers_count": 2389, + "friends_count": 899, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 48, + "location": "Uppsala", + "media_count": 2642, + "name": "Anders Nyman", + "normal_followers_count": 2389, + "pinned_tweet_ids_str": [ + "1896467021208211606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/84578697/1517994523", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/3690262633/e4e0ea5748c60e165a4406cb4ef018f3_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "Knytanders", + "statuses_count": 32326, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897763772829147448" + ], + "editable_until_msecs": "1741300716000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8541", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897756432461631789", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/P2iIQ4p2hV", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/KzVL5b39Oqw?list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 158, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=280x280" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Vladimir Solovyov says Russia should take the Baltics, Armenia and...", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/P2iIQ4p2hV", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 4, + "green": 2, + "red": 2 + }, + "percentage": 52.25 + }, + { + "rgb": { + "blue": 11, + "green": 8, + "red": 183 + }, + "percentage": 18.57 + }, + { + "rgb": { + "blue": 184, + "green": 171, + "red": 176 + }, + "percentage": 11.28 + }, + { + "rgb": { + "blue": 105, + "green": 129, + "red": 190 + }, + "percentage": 7.34 + }, + { + "rgb": { + "blue": 26, + "green": 21, + "red": 121 + }, + "percentage": 3.87 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/P2iIQ4p2hV", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79543035, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77913, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79543035, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897756432461631789" + ], + "editable_until_msecs": "1741298966000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "132155", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 65, + "bookmarked": false, + "created_at": "Thu Mar 06 21:09:26 +0000 2025", + "conversation_id_str": "1897756432461631789", + "display_text_range": [ + 0, + 283 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtube.com/watch?v=KzVL5b…", + "expanded_url": "https://www.youtube.com/watch?v=KzVL5b39Oqw&list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "url": "https://t.co/P2iIQ4p2hV", + "indices": [ + 260, + 283 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 614, + "favorited": false, + "full_text": "Meanwhile in Russia: Vladimir Solovyov praises Trumpushka and his tactics, which embolden Moscow. He says Russia should take the Baltics, Armenia & Central Asia. State Duma member Andrey Kartapolov says Russia should intensify its strikes against Ukraine.\nhttps://t.co/P2iIQ4p2hV", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 42, + "reply_count": 35, + "retweet_count": 342, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897756432461631789" + } + } + }, + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Thu Mar 06 21:38:36 +0000 2025", + "conversation_id_str": "1897763772829147448", + "display_text_range": [ + 0, + 106 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 80, + "favorited": false, + "full_text": "Embolden Russia and this is the result. Remember, everything said on Russian tv is approved by the leader.", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1897756432461631789", + "quoted_status_permalink": { + "url": "https://t.co/15tCUjveUl", + "expanded": "https://twitter.com/JuliaDavisNews/status/1897756432461631789", + "display": "x.com/JuliaDavisNews…" + }, + "reply_count": 4, + "retweet_count": 34, + "retweeted": false, + "user_id_str": "84578697", + "id_str": "1897763772829147448" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897799951389753500", + "sortIndex": "1897829059325329367", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897799951389753500", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/gnKCvuTiwW", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 252, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "\"The best security guarantee are the Ukrainians themselves,\" European Council President Antonio Costa said at the end of a special EU summit in Brussels.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "kyivindependent.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 537, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 610, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "1462548977367359490", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 60, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 610, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 610, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "kyivindependent.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 34, + "red": 1 + }, + "percentage": 67.14 + }, + { + "rgb": { + "blue": 197, + "green": 200, + "red": 224 + }, + "percentage": 20.83 + }, + { + "rgb": { + "blue": 163, + "green": 127, + "red": 103 + }, + "percentage": 6.31 + }, + { + "rgb": { + "blue": 100, + "green": 116, + "red": 158 + }, + "percentage": 3.1 + }, + { + "rgb": { + "blue": 203, + "green": 192, + "red": 196 + }, + "percentage": 0.89 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "'Best security guarantee is the Ukrainian army' — EU leaders dodge specifics on long-term peace plan", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 34, + "red": 1 + }, + "percentage": 67.14 + }, + { + "rgb": { + "blue": 197, + "green": 200, + "red": 224 + }, + "percentage": 20.83 + }, + { + "rgb": { + "blue": 163, + "green": 127, + "red": 103 + }, + "percentage": 6.31 + }, + { + "rgb": { + "blue": 100, + "green": 116, + "red": 158 + }, + "percentage": 3.1 + }, + { + "rgb": { + "blue": 203, + "green": 192, + "red": 196 + }, + "percentage": 0.89 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 610, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 87, + "green": 34, + "red": 1 + }, + "percentage": 67.14 + }, + { + "rgb": { + "blue": 197, + "green": 200, + "red": 224 + }, + "percentage": 20.83 + }, + { + "rgb": { + "blue": 163, + "green": 127, + "red": 103 + }, + "percentage": 6.31 + }, + { + "rgb": { + "blue": 100, + "green": 116, + "red": 158 + }, + "percentage": 3.1 + }, + { + "rgb": { + "blue": 203, + "green": 192, + "red": 196 + }, + "percentage": 0.89 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 610, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/gnKCvuTiwW", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 610, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897799901548777472/C2fRCFXL?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/gnKCvuTiwW", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897799951389753500" + ], + "editable_until_msecs": "1741309342000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "25714", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Fri Mar 07 00:02:22 +0000 2025", + "conversation_id_str": "1897799951389753500", + "display_text_range": [ + 0, + 272 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "kyivindependent.com/best-security-…", + "expanded_url": "https://kyivindependent.com/best-security-guarantee-is-the-ukrainian-army-eu-leaders-dodge-specifics-on-long-term-peace-plan/", + "url": "https://t.co/gnKCvuTiwW", + "indices": [ + 249, + 272 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 288, + "favorited": false, + "full_text": "⚡️'Best security guarantee is the Ukrainian army' — EU leaders dodge specifics on long-term peace plan. \n\n\"The best security guarantee are the Ukrainians themselves,\" European Council President Antonio Costa said at a special EU summit in Brussels.\nhttps://t.co/gnKCvuTiwW", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 6, + "reply_count": 24, + "retweet_count": 63, + "retweeted": false, + "user_id_str": "1462548977367359490", + "id_str": "1897799951389753500" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897798507815150041", + "sortIndex": "1897829059325329366", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897798507815150041", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/ZUZ4UwWOhO", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 147, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "If you think mass protests can’t combat evil, remember what we did in the 1980s.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.motherjones.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 315, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=600x600" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "18510860", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 76, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "motherjones.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 172, + "green": 173, + "red": 172 + }, + "percentage": 22.29 + }, + { + "rgb": { + "blue": 147, + "green": 226, + "red": 197 + }, + "percentage": 21.4 + }, + { + "rgb": { + "blue": 120, + "green": 204, + "red": 77 + }, + "percentage": 18.13 + }, + { + "rgb": { + "blue": 87, + "green": 88, + "red": 84 + }, + "percentage": 14.8 + }, + { + "rgb": { + "blue": 161, + "green": 237, + "red": 248 + }, + "percentage": 6.2 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Elon Musk, apartheid, and America's new boycott movement", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 172, + "green": 173, + "red": 172 + }, + "percentage": 22.29 + }, + { + "rgb": { + "blue": 147, + "green": 226, + "red": 197 + }, + "percentage": 21.4 + }, + { + "rgb": { + "blue": 120, + "green": 204, + "red": 77 + }, + "percentage": 18.13 + }, + { + "rgb": { + "blue": 87, + "green": 88, + "red": 84 + }, + "percentage": 14.8 + }, + { + "rgb": { + "blue": 161, + "green": 237, + "red": 248 + }, + "percentage": 6.2 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 172, + "green": 173, + "red": 172 + }, + "percentage": 22.29 + }, + { + "rgb": { + "blue": 147, + "green": 226, + "red": 197 + }, + "percentage": 21.4 + }, + { + "rgb": { + "blue": 120, + "green": 204, + "red": 77 + }, + "percentage": 18.13 + }, + { + "rgb": { + "blue": 87, + "green": 88, + "red": 84 + }, + "percentage": 14.8 + }, + { + "rgb": { + "blue": 161, + "green": 237, + "red": 248 + }, + "percentage": 6.2 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/ZUZ4UwWOhO", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/ZUZ4UwWOhO", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxODUxMDg2MA==", + "rest_id": "18510860", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Dec 31 17:21:13 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Smart, fearless journalism. Reader-supported since 1976. Sign up for our newsletter: https://t.co/adsFqRfMK1\n\nSupport us with a donation: https://t.co/dhYvhWGcSO", + "entities": { + "description": { + "urls": [ + { + "display_url": "bit.ly/34j2uEt", + "expanded_url": "http://bit.ly/34j2uEt", + "url": "https://t.co/adsFqRfMK1", + "indices": [ + 85, + 108 + ] + }, + { + "display_url": "bit.ly/4eU88fs", + "expanded_url": "https://bit.ly/4eU88fs", + "url": "https://t.co/dhYvhWGcSO", + "indices": [ + 138, + 161 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "motherjones.com", + "expanded_url": "http://www.motherjones.com", + "url": "https://t.co/1eLkGuYqVf", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1697, + "followers_count": 744482, + "friends_count": 255, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 16531, + "location": "", + "media_count": 57883, + "name": "Mother Jones", + "normal_followers_count": 744482, + "pinned_tweet_ids_str": [ + "1773396148792779037" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18510860/1739989500", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1054453881890004992/xmAefhLr_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MotherJones", + "statuses_count": 273357, + "translator_type": "none", + "url": "https://t.co/1eLkGuYqVf", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897798507815150041" + ], + "editable_until_msecs": "1741308998311", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:56:38 +0000 2025", + "conversation_id_str": "1897798507815150041", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "43412697", + "name": "Clara Jeffery", + "screen_name": "ClaraJeffery", + "indices": [ + 3, + 16 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @ClaraJeffery: 2/ Read my piece about the boycotts/protests of Tesla, the goals of the movement, and the how the history of apartheid in…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897798507815150041", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897798295151689970", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MzQxMjY5Nw==", + "rest_id": "43412697", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri May 29 21:22:46 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Editor-in-Chief of Mother Jones. ASME board. Mom. Upzoning, street tree, and rescue dog enthusiast. Mostly on the vastly superior Bluesky now.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "motherjones.com", + "expanded_url": "http://motherjones.com", + "url": "https://t.co/w1a0x1VnGJ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 33119, + "followers_count": 119929, + "friends_count": 2367, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2494, + "location": "ÜT: 37.770364,-122.410351", + "media_count": 282, + "name": "Clara Jeffery", + "normal_followers_count": 119929, + "pinned_tweet_ids_str": [ + "1849927867028865122" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/43412697/1398196808", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/793482716947677188/cgeFNqv__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ClaraJeffery", + "statuses_count": 19109, + "translator_type": "none", + "url": "https://t.co/w1a0x1VnGJ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/ZUZ4UwWOhO", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 147, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "If you think mass protests can’t combat evil, remember what we did in the 1980s.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.motherjones.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 315, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=600x600" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "18510860", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 76, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "motherjones.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 172, + "green": 173, + "red": 172 + }, + "percentage": 22.29 + }, + { + "rgb": { + "blue": 147, + "green": 226, + "red": 197 + }, + "percentage": 21.4 + }, + { + "rgb": { + "blue": 120, + "green": 204, + "red": 77 + }, + "percentage": 18.13 + }, + { + "rgb": { + "blue": 87, + "green": 88, + "red": 84 + }, + "percentage": 14.8 + }, + { + "rgb": { + "blue": 161, + "green": 237, + "red": 248 + }, + "percentage": 6.2 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Elon Musk, apartheid, and America's new boycott movement", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 172, + "green": 173, + "red": 172 + }, + "percentage": 22.29 + }, + { + "rgb": { + "blue": 147, + "green": 226, + "red": 197 + }, + "percentage": 21.4 + }, + { + "rgb": { + "blue": 120, + "green": 204, + "red": 77 + }, + "percentage": 18.13 + }, + { + "rgb": { + "blue": 87, + "green": 88, + "red": 84 + }, + "percentage": 14.8 + }, + { + "rgb": { + "blue": 161, + "green": 237, + "red": 248 + }, + "percentage": 6.2 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 172, + "green": 173, + "red": 172 + }, + "percentage": 22.29 + }, + { + "rgb": { + "blue": 147, + "green": 226, + "red": 197 + }, + "percentage": 21.4 + }, + { + "rgb": { + "blue": 120, + "green": 204, + "red": 77 + }, + "percentage": 18.13 + }, + { + "rgb": { + "blue": 87, + "green": 88, + "red": 84 + }, + "percentage": 14.8 + }, + { + "rgb": { + "blue": 161, + "green": 237, + "red": 248 + }, + "percentage": 6.2 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/ZUZ4UwWOhO", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897743530334076930/fyKVYW04?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/ZUZ4UwWOhO", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxODUxMDg2MA==", + "rest_id": "18510860", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Dec 31 17:21:13 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Smart, fearless journalism. Reader-supported since 1976. Sign up for our newsletter: https://t.co/adsFqRfMK1\n\nSupport us with a donation: https://t.co/dhYvhWGcSO", + "entities": { + "description": { + "urls": [ + { + "display_url": "bit.ly/34j2uEt", + "expanded_url": "http://bit.ly/34j2uEt", + "url": "https://t.co/adsFqRfMK1", + "indices": [ + 85, + 108 + ] + }, + { + "display_url": "bit.ly/4eU88fs", + "expanded_url": "https://bit.ly/4eU88fs", + "url": "https://t.co/dhYvhWGcSO", + "indices": [ + 138, + 161 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "motherjones.com", + "expanded_url": "http://www.motherjones.com", + "url": "https://t.co/1eLkGuYqVf", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1697, + "followers_count": 744482, + "friends_count": 255, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 16531, + "location": "", + "media_count": 57883, + "name": "Mother Jones", + "normal_followers_count": 744482, + "pinned_tweet_ids_str": [ + "1773396148792779037" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18510860/1739989500", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1054453881890004992/xmAefhLr_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MotherJones", + "statuses_count": 273357, + "translator_type": "none", + "url": "https://t.co/1eLkGuYqVf", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897798295151689970" + ], + "editable_until_msecs": "1741308947000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1989", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Thu Mar 06 23:55:47 +0000 2025", + "conversation_id_str": "1897798002921852996", + "display_text_range": [ + 0, + 166 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "motherjones.com/politics/2025/…", + "expanded_url": "https://www.motherjones.com/politics/2025/02/elon-musk-apartheid-boycott-tesla-doge-trump/", + "url": "https://t.co/ZUZ4UwWOhO", + "indices": [ + 143, + 166 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 17, + "favorited": false, + "full_text": "2/ Read my piece about the boycotts/protests of Tesla, the goals of the movement, and the how the history of apartheid informs them, and Musk. https://t.co/ZUZ4UwWOhO", + "in_reply_to_screen_name": "ClaraJeffery", + "in_reply_to_status_id_str": "1897798002921852996", + "in_reply_to_user_id_str": "43412697", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "43412697", + "id_str": "1897798295151689970" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897798430627348862", + "sortIndex": "1897829059325329365", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897798430627348862", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897798430627348862" + ], + "editable_until_msecs": "1741308979908", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:56:19 +0000 2025", + "conversation_id_str": "1897798430627348862", + "display_text_range": [ + 0, + 18 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "49373731", + "name": "marta dyczok", + "screen_name": "mdyczok", + "indices": [ + 3, + 11 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @mdyczok: again", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897797534099050755", + "quoted_status_permalink": { + "url": "https://t.co/dewjrCyq4O", + "expanded": "https://twitter.com/K_Loukerenko/status/1897797534099050755", + "display": "x.com/K_Loukerenko/s…" + }, + "reply_count": 0, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897798430627348862", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897798212230287584", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0OTM3MzczMQ==", + "rest_id": "49373731", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jun 21 17:41:12 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "works at @WesternU", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 43778, + "followers_count": 2318, + "friends_count": 199, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 49, + "location": "", + "media_count": 590, + "name": "marta dyczok", + "normal_followers_count": 2318, + "pinned_tweet_ids_str": [ + "1857098815821500755" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/49373731/1733338681", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1705425047936974848/NRpr5pF8_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "mdyczok", + "statuses_count": 12160, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897798212230287584" + ], + "editable_until_msecs": "1741308927000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2326", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897797534099050755", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5MjgxMTA2NDk=", + "rest_id": "928110649", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Nov 05 17:55:44 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "Ukrainian journalist. Executive director at Hromadske Radio", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "hromadske.radio", + "expanded_url": "https://hromadske.radio", + "url": "https://t.co/RseY9mUHfy", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12124, + "followers_count": 6028, + "friends_count": 1724, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 206, + "location": "Україна", + "media_count": 3971, + "name": "Kyrylo Loukerenko", + "normal_followers_count": 6028, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/928110649/1657724129", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1761848272388276224/NPHuPFtT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "K_Loukerenko", + "statuses_count": 24054, + "translator_type": "none", + "url": "https://t.co/RseY9mUHfy", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1463191012164001793", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897797534099050755" + ], + "editable_until_msecs": "1741308766000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8317", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:52:46 +0000 2025", + "conversation_id_str": "1897797534099050755", + "display_text_range": [ + 0, + 82 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 83, + 106 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/z6mXhzJid5", + "expanded_url": "https://x.com/K_Loukerenko/status/1897797534099050755/photo/1", + "id_str": "1897797529875488768", + "indices": [ + 83, + 106 + ], + "media_key": "3_1897797529875488768", + "media_url_https": "https://pbs.twimg.com/media/GlZUzGfXoAAUxYx.jpg", + "type": "photo", + "url": "https://t.co/z6mXhzJid5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1510, + "w": 1620, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 634, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1510, + "width": 1620, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1620, + "h": 907 + }, + { + "x": 110, + "y": 0, + "w": 1510, + "h": 1510 + }, + { + "x": 269, + "y": 0, + "w": 1325, + "h": 1510 + }, + { + "x": 554, + "y": 0, + "w": 755, + "h": 1510 + }, + { + "x": 0, + "y": 0, + "w": 1620, + "h": 1510 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897797529875488768" + } + } + } + ] + }, + "favorite_count": 8, + "favorited": false, + "full_text": "Russian drones are attacking Kyiv city. Other Ukrainian regions are also affected. https://t.co/z6mXhzJid5", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 0, + "retweet_count": 18, + "retweeted": false, + "user_id_str": "928110649", + "id_str": "1897797534099050755" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:55:27 +0000 2025", + "conversation_id_str": "1897798212230287584", + "display_text_range": [ + 0, + 5 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "again", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897797534099050755", + "quoted_status_permalink": { + "url": "https://t.co/dewjrCyq4O", + "expanded": "https://twitter.com/K_Loukerenko/status/1897797534099050755", + "display": "x.com/K_Loukerenko/s…" + }, + "reply_count": 0, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "49373731", + "id_str": "1897798212230287584" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897798408254984475", + "sortIndex": "1897829059325329364", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897798408254984475", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897798408254984475" + ], + "editable_until_msecs": "1741308974574", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:56:14 +0000 2025", + "conversation_id_str": "1897798408254984475", + "display_text_range": [ + 0, + 68 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/NStewWX/status…", + "expanded_url": "https://x.com/NStewWX/status/1897795175633592384", + "url": "https://t.co/rbWvUphUyD", + "indices": [ + 45, + 68 + ] + } + ], + "user_mentions": [ + { + "id_str": "24876649", + "name": "Geoff Brumfiel", + "screen_name": "gbrumfiel", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @gbrumfiel: Debris visible over Florida.\n\nhttps://t.co/rbWvUphUyD", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1897795175633592384", + "quoted_status_permalink": { + "url": "https://t.co/rbWvUphUyD", + "expanded": "https://x.com/NStewWX/status/1897795175633592384", + "display": "x.com/NStewWX/status…" + }, + "reply_count": 0, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897798408254984475", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897797645516546509", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDg3NjY0OQ==", + "rest_id": "24876649", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Mar 17 12:54:31 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "I'm an editor/correspondent for @nprscience. Mostly smart on the radio. Mostly stupid on the Twitter. Nukes/Missiles/Space/Blimps/etc.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "npr.org", + "expanded_url": "http://www.npr.org/", + "url": "https://t.co/zekMb75DCR", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 8969, + "followers_count": 17978, + "friends_count": 2425, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 740, + "location": "", + "media_count": 24, + "name": "Geoff Brumfiel", + "normal_followers_count": 17978, + "pinned_tweet_ids_str": [ + "1646142219202576384" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/24876649/1675434447", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1681036676154441731/W_OnwjlM_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "gbrumfiel", + "statuses_count": 264, + "translator_type": "none", + "url": "https://t.co/zekMb75DCR", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897797645516546509" + ], + "editable_until_msecs": "1741308792000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "17406", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897795175633592384", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1MDUzNjI3ODI=", + "rest_id": "505362782", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Feb 27 03:29:05 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "Spaceflight meteorologist/Upper Level Wind Analyst. 9x Emmy and a 2xMurrow-awarded met/storm chaser/rocket reporter formerly @iowasnewsnow.\nAMS CBM #896.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "midwestweathercenter.com", + "expanded_url": "https://www.midwestweathercenter.com/", + "url": "https://t.co/jJlM89VQAz", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 20351, + "followers_count": 7089, + "friends_count": 1361, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 176, + "location": "Cape Canaveral, FL", + "media_count": 14904, + "name": "Nick Stewart", + "normal_followers_count": 7089, + "pinned_tweet_ids_str": [ + "1897072063246164336" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/505362782/1647412496", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1028756540092833797/41axGj52_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NStewWX", + "statuses_count": 31242, + "translator_type": "none", + "url": "https://t.co/jJlM89VQAz", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897795175633592384" + ], + "editable_until_msecs": "1741308203000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "363820", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 543, + "bookmarked": false, + "created_at": "Thu Mar 06 23:43:23 +0000 2025", + "conversation_id_str": "1897795175633592384", + "display_text_range": [ + 0, + 66 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 0, + 9 + ], + "text": "Starship" + }, + { + "indices": [ + 61, + 66 + ], + "text": "FLwx" + } + ], + "media": [ + { + "display_url": "pic.x.com/4FvcVGIBa1", + "expanded_url": "https://x.com/NStewWX/status/1897795175633592384/video/1", + "id_str": "1897795142297255936", + "indices": [ + 67, + 90 + ], + "media_key": "7_1897795142297255936", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897795142297255936/pu/img/6wwcOXQ8ZC4RhRAB.jpg", + "type": "video", + "url": "https://t.co/4FvcVGIBa1", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 16266, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/pl/ETH49eWc32rDsolj.m3u8?tag=12&v=cfc" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/vid/avc1/480x270/JlZB3TnryV0MLg1C.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/vid/avc1/640x360/iAVzDhswwwoagXi4.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/vid/avc1/1280x720/JtprEPIA171QmGO8.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897795142297255936" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/4FvcVGIBa1", + "expanded_url": "https://x.com/NStewWX/status/1897795175633592384/video/1", + "id_str": "1897795142297255936", + "indices": [ + 67, + 90 + ], + "media_key": "7_1897795142297255936", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897795142297255936/pu/img/6wwcOXQ8ZC4RhRAB.jpg", + "type": "video", + "url": "https://t.co/4FvcVGIBa1", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 16266, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/pl/ETH49eWc32rDsolj.m3u8?tag=12&v=cfc" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/vid/avc1/480x270/JlZB3TnryV0MLg1C.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/vid/avc1/640x360/iAVzDhswwwoagXi4.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897795142297255936/pu/vid/avc1/1280x720/JtprEPIA171QmGO8.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897795142297255936" + } + } + } + ] + }, + "favorite_count": 4597, + "favorited": false, + "full_text": "#Starship reentering as viewed from Cape Canaveral, Florida. #FLwx https://t.co/4FvcVGIBa1", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 214, + "reply_count": 207, + "retweet_count": 922, + "retweeted": false, + "user_id_str": "505362782", + "id_str": "1897795175633592384" + } + } + }, + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Thu Mar 06 23:53:12 +0000 2025", + "conversation_id_str": "1897797024872907177", + "display_text_range": [ + 0, + 53 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/NStewWX/status…", + "expanded_url": "https://x.com/NStewWX/status/1897795175633592384", + "url": "https://t.co/rbWvUphUyD", + "indices": [ + 30, + 53 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 29, + "favorited": false, + "full_text": "Debris visible over Florida.\n\nhttps://t.co/rbWvUphUyD", + "in_reply_to_screen_name": "gbrumfiel", + "in_reply_to_status_id_str": "1897797426645221858", + "in_reply_to_user_id_str": "24876649", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "quoted_status_id_str": "1897795175633592384", + "quoted_status_permalink": { + "url": "https://t.co/rbWvUphUyD", + "expanded": "https://x.com/NStewWX/status/1897795175633592384", + "display": "x.com/NStewWX/status…" + }, + "reply_count": 4, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "24876649", + "id_str": "1897797645516546509" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897797756003000322", + "sortIndex": "1897829059325329363", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897797756003000322", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897797756003000322" + ], + "editable_until_msecs": "1741308819065", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:53:39 +0000 2025", + "conversation_id_str": "1897797756003000322", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1077929970", + "name": "Matt Berg", + "screen_name": "mattberg33", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @mattberg33: Scoop: The Trump admin put multiple top VA researchers across the country on leave, per an internal memo. \n\nOne appears to…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897797756003000322", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897797487038963997", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDc3OTI5OTcw", + "rest_id": "1077929970", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Jan 10 23:01:17 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "correspondent @crookedmedia, writing the what a day newsletter • was @politico natsec • send love/hate mail to berg@crooked.com", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "crooked.com/daily/", + "expanded_url": "https://crooked.com/daily/", + "url": "https://t.co/gu1FCJ3Kc1", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 17358, + "followers_count": 5385, + "friends_count": 1577, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 54, + "location": "", + "media_count": 474, + "name": "Matt Berg", + "normal_followers_count": 5385, + "pinned_tweet_ids_str": [ + "1828503110375088368" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1077929970/1698625284", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1763374928064024576/4TP_ql0e_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "mattberg33", + "statuses_count": 6111, + "translator_type": "none", + "url": "https://t.co/gu1FCJ3Kc1", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897797487038963997" + ], + "editable_until_msecs": "1741308754000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "14749", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Thu Mar 06 23:52:34 +0000 2025", + "conversation_id_str": "1897797487038963997", + "display_text_range": [ + 0, + 263 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/8TZ1JJXOXg", + "expanded_url": "https://x.com/mattberg33/status/1897797487038963997/photo/1", + "id_str": "1897797148692901888", + "indices": [ + 264, + 287 + ], + "media_key": "3_1897797148692901888", + "media_url_https": "https://pbs.twimg.com/media/GlZUc6eW8AAjkTZ.jpg", + "type": "photo", + "url": "https://t.co/8TZ1JJXOXg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 67, + "y": 326, + "h": 150, + "w": 150 + } + ] + }, + "medium": { + "faces": [ + { + "x": 67, + "y": 326, + "h": 150, + "w": 150 + } + ] + }, + "small": { + "faces": [ + { + "x": 40, + "y": 195, + "h": 90, + "w": 90 + } + ] + }, + "orig": { + "faces": [ + { + "x": 67, + "y": 326, + "h": 150, + "w": 150 + } + ] + } + }, + "sizes": { + "large": { + "h": 946, + "w": 1133, + "resize": "fit" + }, + "medium": { + "h": 946, + "w": 1133, + "resize": "fit" + }, + "small": { + "h": 568, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 946, + "width": 1133, + "focus_rects": [ + { + "x": 0, + "y": 312, + "w": 1133, + "h": 634 + }, + { + "x": 0, + "y": 0, + "w": 946, + "h": 946 + }, + { + "x": 0, + "y": 0, + "w": 830, + "h": 946 + }, + { + "x": 0, + "y": 0, + "w": 473, + "h": 946 + }, + { + "x": 0, + "y": 0, + "w": 1133, + "h": 946 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897797148692901888" + } + } + }, + { + "display_url": "pic.x.com/8TZ1JJXOXg", + "expanded_url": "https://x.com/mattberg33/status/1897797487038963997/photo/1", + "id_str": "1897797167865012224", + "indices": [ + 264, + 287 + ], + "media_key": "3_1897797167865012224", + "media_url_https": "https://pbs.twimg.com/media/GlZUeB5WIAAa4Ni.jpg", + "type": "photo", + "url": "https://t.co/8TZ1JJXOXg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1061, + "w": 1237, + "resize": "fit" + }, + "medium": { + "h": 1029, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 583, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1061, + "width": 1237, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1237, + "h": 693 + }, + { + "x": 0, + "y": 0, + "w": 1061, + "h": 1061 + }, + { + "x": 0, + "y": 0, + "w": 931, + "h": 1061 + }, + { + "x": 13, + "y": 0, + "w": 531, + "h": 1061 + }, + { + "x": 0, + "y": 0, + "w": 1237, + "h": 1061 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897797167865012224" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1448408372999450627", + "name": "Crooked News", + "screen_name": "RealCrookedNews", + "indices": [ + 247, + 263 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/8TZ1JJXOXg", + "expanded_url": "https://x.com/mattberg33/status/1897797487038963997/photo/1", + "id_str": "1897797148692901888", + "indices": [ + 264, + 287 + ], + "media_key": "3_1897797148692901888", + "media_url_https": "https://pbs.twimg.com/media/GlZUc6eW8AAjkTZ.jpg", + "type": "photo", + "url": "https://t.co/8TZ1JJXOXg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 67, + "y": 326, + "h": 150, + "w": 150 + } + ] + }, + "medium": { + "faces": [ + { + "x": 67, + "y": 326, + "h": 150, + "w": 150 + } + ] + }, + "small": { + "faces": [ + { + "x": 40, + "y": 195, + "h": 90, + "w": 90 + } + ] + }, + "orig": { + "faces": [ + { + "x": 67, + "y": 326, + "h": 150, + "w": 150 + } + ] + } + }, + "sizes": { + "large": { + "h": 946, + "w": 1133, + "resize": "fit" + }, + "medium": { + "h": 946, + "w": 1133, + "resize": "fit" + }, + "small": { + "h": 568, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 946, + "width": 1133, + "focus_rects": [ + { + "x": 0, + "y": 312, + "w": 1133, + "h": 634 + }, + { + "x": 0, + "y": 0, + "w": 946, + "h": 946 + }, + { + "x": 0, + "y": 0, + "w": 830, + "h": 946 + }, + { + "x": 0, + "y": 0, + "w": 473, + "h": 946 + }, + { + "x": 0, + "y": 0, + "w": 1133, + "h": 946 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897797148692901888" + } + } + }, + { + "display_url": "pic.x.com/8TZ1JJXOXg", + "expanded_url": "https://x.com/mattberg33/status/1897797487038963997/photo/1", + "id_str": "1897797167865012224", + "indices": [ + 264, + 287 + ], + "media_key": "3_1897797167865012224", + "media_url_https": "https://pbs.twimg.com/media/GlZUeB5WIAAa4Ni.jpg", + "type": "photo", + "url": "https://t.co/8TZ1JJXOXg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1061, + "w": 1237, + "resize": "fit" + }, + "medium": { + "h": 1029, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 583, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1061, + "width": 1237, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1237, + "h": 693 + }, + { + "x": 0, + "y": 0, + "w": 1061, + "h": 1061 + }, + { + "x": 0, + "y": 0, + "w": 931, + "h": 1061 + }, + { + "x": 13, + "y": 0, + "w": 531, + "h": 1061 + }, + { + "x": 0, + "y": 0, + "w": 1237, + "h": 1061 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897797167865012224" + } + } + } + ] + }, + "favorite_count": 45, + "favorited": false, + "full_text": "Scoop: The Trump admin put multiple top VA researchers across the country on leave, per an internal memo. \n\nOne appears to have gotten in trouble for leaking to the press. \n\nThese are often doctors who help guide studies and treat patients, too.\n\n@RealCrookedNews https://t.co/8TZ1JJXOXg", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 3, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "1077929970", + "id_str": "1897797487038963997" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897796678805078296", + "sortIndex": "1897829059325329362", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897796678805078296", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897796678805078296" + ], + "editable_until_msecs": "1741308562000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4482", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897690994721587230", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDIxNTM5NQ==", + "rest_id": "24215395", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Mar 13 17:55:25 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Senior foreign correspondent, CBC News. Based in Washington.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1987, + "followers_count": 87081, + "friends_count": 1207, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1075, + "location": "", + "media_count": 6182, + "name": "Katie Simpson", + "normal_followers_count": 87081, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/24215395/1582073258", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897342156815130624/aUGZaZcP_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Katie___Simpson", + "statuses_count": 67207, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897690994721587230" + ], + "editable_until_msecs": "1741283365000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2466343", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 2777, + "bookmarked": false, + "created_at": "Thu Mar 06 16:49:25 +0000 2025", + "conversation_id_str": "1897690994721587230", + "display_text_range": [ + 0, + 232 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 33187, + "favorited": false, + "full_text": "The profanity in the Trump / Trudeau phone call happened during a heated exchange around dairy, according to a senior Canadian government source. \n\nThe Wall Street Journal was first to report tensions reached the point of profanity.", + "is_quote_status": false, + "lang": "en", + "quote_count": 422, + "reply_count": 878, + "retweet_count": 3217, + "retweeted": false, + "user_id_str": "24215395", + "id_str": "1897690994721587230" + } + } + }, + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Thu Mar 06 23:49:22 +0000 2025", + "conversation_id_str": "1897796678805078296", + "display_text_range": [ + 0, + 1 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 20, + "favorited": false, + "full_text": "🧵", + "is_quote_status": true, + "lang": "art", + "quote_count": 0, + "quoted_status_id_str": "1897690994721587230", + "quoted_status_permalink": { + "url": "https://t.co/8tfoD4j4uj", + "expanded": "https://twitter.com/katie___simpson/status/1897690994721587230", + "display": "x.com/katie___simpso…" + }, + "reply_count": 1, + "retweet_count": 8, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897796678805078296" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897795949440754064", + "sortIndex": "1897829059325329361", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897795949440754064", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/MFWDOBko8Y", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 146, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "American allies don’t trust Trump with the intelligence they share.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.theatlantic.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 313, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=600x600" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 625, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "35773039", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 75, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 625, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 625, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "theatlantic.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 13, + "green": 4, + "red": 5 + }, + "percentage": 30.33 + }, + { + "rgb": { + "blue": 168, + "green": 68, + "red": 69 + }, + "percentage": 26.36 + }, + { + "rgb": { + "blue": 79, + "green": 29, + "red": 28 + }, + "percentage": 12.55 + }, + { + "rgb": { + "blue": 224, + "green": 202, + "red": 201 + }, + "percentage": 10.38 + }, + { + "rgb": { + "blue": 244, + "green": 131, + "red": 134 + }, + "percentage": 6.27 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "‘What the Hell Is Happening to Your Country?’", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 13, + "green": 4, + "red": 5 + }, + "percentage": 30.33 + }, + { + "rgb": { + "blue": 168, + "green": 68, + "red": 69 + }, + "percentage": 26.36 + }, + { + "rgb": { + "blue": 79, + "green": 29, + "red": 28 + }, + "percentage": 12.55 + }, + { + "rgb": { + "blue": 224, + "green": 202, + "red": 201 + }, + "percentage": 10.38 + }, + { + "rgb": { + "blue": 244, + "green": 131, + "red": 134 + }, + "percentage": 6.27 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 625, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 13, + "green": 4, + "red": 5 + }, + "percentage": 30.33 + }, + { + "rgb": { + "blue": 168, + "green": 68, + "red": 69 + }, + "percentage": 26.36 + }, + { + "rgb": { + "blue": 79, + "green": 29, + "red": 28 + }, + "percentage": 12.55 + }, + { + "rgb": { + "blue": 224, + "green": 202, + "red": 201 + }, + "percentage": 10.38 + }, + { + "rgb": { + "blue": 244, + "green": 131, + "red": 134 + }, + "percentage": 6.27 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 625, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/MFWDOBko8Y", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 625, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897704497532616704/IA8LRTQw?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/MFWDOBko8Y", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjozNTc3MzAzOQ==", + "rest_id": "35773039", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Apr 27 15:41:54 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Exploring the American idea through ambitious, essential reporting and storytelling. Of no party or clique since 1857. https://t.co/uHeZCz8ahz", + "entities": { + "description": { + "urls": [ + { + "display_url": "theatlantic.com", + "expanded_url": "http://theatlantic.com", + "url": "https://t.co/uHeZCz8ahz", + "indices": [ + 119, + 142 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "theatlantic.com/subscribe", + "expanded_url": "http://theatlantic.com/subscribe", + "url": "https://t.co/j4JSgDlv80", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1356, + "followers_count": 2001996, + "friends_count": 1054, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 28183, + "location": "", + "media_count": 61167, + "name": "The Atlantic", + "normal_followers_count": 2001996, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/35773039/1710430946", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1604927618775764993/WJdNY4fH_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TheAtlantic", + "statuses_count": 240073, + "translator_type": "none", + "url": "https://t.co/j4JSgDlv80", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897795949440754064" + ], + "editable_until_msecs": "1741308388000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5204", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Thu Mar 06 23:46:28 +0000 2025", + "conversation_id_str": "1897795949440754064", + "display_text_range": [ + 0, + 271 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "theatlantic.com/international/…", + "expanded_url": "https://www.theatlantic.com/international/archive/2025/03/american-allies-trust-trump-intelligence/681939/", + "url": "https://t.co/MFWDOBko8Y", + "indices": [ + 248, + 271 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 70, + "favorited": false, + "full_text": "“Western intel officials have said… that Putin is unwilling to negotiate, because he believes he is winning the war he started…& is not prepared to make concessions. Trump has placed no new pressure on Russia even as he ties Ukraine’s hands.” https://t.co/MFWDOBko8Y", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 4, + "retweet_count": 42, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897795949440754064" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897793285852135710", + "sortIndex": "1897829059325329360", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897793285852135710", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzU5NTMyMDk5", + "rest_id": "1359532099", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Apr 17 14:11:05 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Academy Associate @ChathamHouse @CHUkraineForum. @CEPA non-resident fellow, ex @risj_oxford. Opinions my own", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 139841, + "followers_count": 367206, + "friends_count": 2385, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6617, + "location": "Ukraine - UK", + "media_count": 1815, + "name": "Olga Tokariuk", + "normal_followers_count": 367206, + "pinned_tweet_ids_str": [ + "1894781839505518647" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1359532099/1393415410", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1786328445816909824/O7wFjK3t_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olgatokariuk", + "statuses_count": 25832, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1479061935350071305", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897793285852135710" + ], + "editable_until_msecs": "1741307753298", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:35:53 +0000 2025", + "conversation_control": { + "policy": "Community", + "conversation_owner_results": { + "result": { + "__typename": "User", + "legacy": { + "screen_name": "LasherasFB" + } + } + } + }, + "conversation_id_str": "1897793285852135710", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2216051869", + "name": "BorjaLasheras", + "screen_name": "LasherasFB", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @LasherasFB: New low. Ukrainians get bombed day and night (hospitals, schools, universities, energy grid, cities and towns razed to the…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897668763232633250", + "quoted_status_permalink": { + "url": "https://t.co/WagwsFnjBb", + "expanded": "https://twitter.com/andrew__roth/status/1897668763232633250", + "display": "x.com/andrew__roth/s…" + }, + "reply_count": 0, + "retweet_count": 54, + "retweeted": false, + "user_id_str": "1359532099", + "id_str": "1897793285852135710", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897716248915394964", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjE2MDUxODY5", + "rest_id": "2216051869", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Nov 26 17:05:49 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "Ukraine, European foreign policy. Senior Fellow @cepa. Views my own.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 66307, + "followers_count": 3969, + "friends_count": 1049, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 145, + "location": "", + "media_count": 272, + "name": "BorjaLasheras", + "normal_followers_count": 3969, + "pinned_tweet_ids_str": [ + "1589534255851655168" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2216051869/1575659348", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1725092252303675392/KKUcS8fJ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LasherasFB", + "statuses_count": 9744, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897716248915394964" + ], + "editable_until_msecs": "1741289386000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "12946", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897668763232633250", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDkwNjAxMzE=", + "rest_id": "249060131", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Feb 08 08:21:34 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Global affairs correspondent for @guardian in Washington DC. Ex-Moscow via London. Здесь нам не тут. Write me: Andrew.Roth@theguardian.com Signal: andrewroth.38", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "theguardian.com/profile/roth-a…", + "expanded_url": "https://www.theguardian.com/profile/roth-andrew", + "url": "https://t.co/jiI8qYVOSq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 41900, + "followers_count": 92362, + "friends_count": 4423, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3221, + "location": "Washington DC", + "media_count": 112, + "name": "Andrew Roth", + "normal_followers_count": 92362, + "pinned_tweet_ids_str": [ + "1887254022190661671" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/249060131/1511198434", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1817755621090828289/4B1Sl8p-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Andrew__Roth", + "statuses_count": 1552, + "translator_type": "none", + "url": "https://t.co/jiI8qYVOSq", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897668763232633250" + ], + "editable_until_msecs": "1741278064000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "764849", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 143, + "bookmarked": false, + "created_at": "Thu Mar 06 15:21:04 +0000 2025", + "conversation_id_str": "1897659970126028867", + "display_text_range": [ + 0, + 166 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 568, + "favorited": false, + "full_text": "Kellogg on effect of US military aid and intelligence cutoff to Ukraine: \"It's like hitting a mule in the face with a two by four, you know. You got their attention.\"", + "in_reply_to_screen_name": "Andrew__Roth", + "in_reply_to_status_id_str": "1897665203275186608", + "in_reply_to_user_id_str": "249060131", + "is_quote_status": false, + "lang": "en", + "quote_count": 242, + "reply_count": 167, + "retweet_count": 193, + "retweeted": false, + "user_id_str": "249060131", + "id_str": "1897668763232633250" + } + } + }, + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Thu Mar 06 18:29:46 +0000 2025", + "conversation_control": { + "policy": "Community", + "conversation_owner_results": { + "result": { + "__typename": "User", + "legacy": { + "screen_name": "LasherasFB" + } + } + } + }, + "conversation_id_str": "1897716248915394964", + "display_text_range": [ + 0, + 274 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 168, + "favorited": false, + "full_text": "New low. Ukrainians get bombed day and night (hospitals, schools, universities, energy grid, cities and towns razed to the ground), Ukrainian soldiers executed publicly ISIS type…but hey: you cutoff their life-saving protection against 🇷🇺, “like hitting a mule in the face”.", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1897668763232633250", + "quoted_status_permalink": { + "url": "https://t.co/WagwsFnjBb", + "expanded": "https://twitter.com/andrew__roth/status/1897668763232633250", + "display": "x.com/andrew__roth/s…" + }, + "reply_count": 2, + "retweet_count": 54, + "retweeted": false, + "user_id_str": "2216051869", + "id_str": "1897716248915394964" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897792447788335569", + "sortIndex": "1897829059325329359", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897792447788335569", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDk1NDgwNTkwNTcyOTYxNzky", + "rest_id": "1495480590572961792", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Polymarket", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1789484330638561280/t4Js9UFO_bigger.jpg" + }, + "description": "Polymarket", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 20 19:29:22 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Breaking news & geopolitical insights on Ukraine, the U.S, the Middle East & Europe. The key updates that matter—powered by @Polymarket.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "poly.market/intel", + "expanded_url": "https://poly.market/intel", + "url": "https://t.co/9zd0yb1Jz0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2105, + "followers_count": 809707, + "friends_count": 171, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10811, + "location": "", + "media_count": 6423, + "name": "Polymarket Intel", + "normal_followers_count": 809707, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1495480590572961792/1737660509", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1885081620073324544/wc4EnUmY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PolymarketIntel", + "statuses_count": 8006, + "translator_type": "none", + "url": "https://t.co/9zd0yb1Jz0", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1501574896693960704", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897792447788335569" + ], + "editable_until_msecs": "1741307553000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "17952", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 4, + "bookmarked": false, + "created_at": "Thu Mar 06 23:32:33 +0000 2025", + "conversation_id_str": "1897792447788335569", + "display_text_range": [ + 0, + 83 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/ze2LxIhRgu", + "expanded_url": "https://x.com/PolymarketIntel/status/1897792447788335569/photo/1", + "id_str": "1897792441907900416", + "indices": [ + 84, + 107 + ], + "media_key": "3_1897792441907900416", + "media_url_https": "https://pbs.twimg.com/media/GlZQK8VXcAAeDHz.jpg", + "type": "photo", + "url": "https://t.co/ze2LxIhRgu", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 568, + "y": 68, + "h": 203, + "w": 203 + } + ] + }, + "medium": { + "faces": [ + { + "x": 532, + "y": 63, + "h": 190, + "w": 190 + } + ] + }, + "small": { + "faces": [ + { + "x": 301, + "y": 36, + "h": 107, + "w": 107 + } + ] + }, + "orig": { + "faces": [ + { + "x": 568, + "y": 68, + "h": 203, + "w": 203 + } + ] + } + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1280, + "h": 717 + }, + { + "x": 312, + "y": 0, + "w": 720, + "h": 720 + }, + { + "x": 356, + "y": 0, + "w": 632, + "h": 720 + }, + { + "x": 492, + "y": 0, + "w": 360, + "h": 720 + }, + { + "x": 0, + "y": 0, + "w": 1280, + "h": 720 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897792441907900416" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/ze2LxIhRgu", + "expanded_url": "https://x.com/PolymarketIntel/status/1897792447788335569/photo/1", + "id_str": "1897792441907900416", + "indices": [ + 84, + 107 + ], + "media_key": "3_1897792441907900416", + "media_url_https": "https://pbs.twimg.com/media/GlZQK8VXcAAeDHz.jpg", + "type": "photo", + "url": "https://t.co/ze2LxIhRgu", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 568, + "y": 68, + "h": 203, + "w": 203 + } + ] + }, + "medium": { + "faces": [ + { + "x": 532, + "y": 63, + "h": 190, + "w": 190 + } + ] + }, + "small": { + "faces": [ + { + "x": 301, + "y": 36, + "h": 107, + "w": 107 + } + ] + }, + "orig": { + "faces": [ + { + "x": 568, + "y": 68, + "h": 203, + "w": 203 + } + ] + } + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1280, + "h": 717 + }, + { + "x": 312, + "y": 0, + "w": 720, + "h": 720 + }, + { + "x": 356, + "y": 0, + "w": 632, + "h": 720 + }, + { + "x": 492, + "y": 0, + "w": 360, + "h": 720 + }, + { + "x": 0, + "y": 0, + "w": 1280, + "h": 720 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897792441907900416" + } + } + } + ] + }, + "favorite_count": 50, + "favorited": false, + "full_text": "Trump on Russia-Ukraine peace deal:\n\n “I don't think they [ukraine] have a choice.” https://t.co/ze2LxIhRgu", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 5, + "reply_count": 76, + "retweet_count": 8, + "retweeted": false, + "user_id_str": "1495480590572961792", + "id_str": "1897792447788335569" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897791777228071333", + "sortIndex": "1897829059325329358", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897791777228071333", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDk1NDgwNTkwNTcyOTYxNzky", + "rest_id": "1495480590572961792", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Polymarket", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1789484330638561280/t4Js9UFO_bigger.jpg" + }, + "description": "Polymarket", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 20 19:29:22 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Breaking news & geopolitical insights on Ukraine, the U.S, the Middle East & Europe. The key updates that matter—powered by @Polymarket.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "poly.market/intel", + "expanded_url": "https://poly.market/intel", + "url": "https://t.co/9zd0yb1Jz0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2105, + "followers_count": 809707, + "friends_count": 171, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10811, + "location": "", + "media_count": 6423, + "name": "Polymarket Intel", + "normal_followers_count": 809707, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1495480590572961792/1737660509", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1885081620073324544/wc4EnUmY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PolymarketIntel", + "statuses_count": 8006, + "translator_type": "none", + "url": "https://t.co/9zd0yb1Jz0", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1501574896693960704", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897791777228071333" + ], + "editable_until_msecs": "1741307393000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "15315", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Thu Mar 06 23:29:53 +0000 2025", + "conversation_id_str": "1897791777228071333", + "display_text_range": [ + 0, + 80 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/FTHpzsjIf5", + "expanded_url": "https://x.com/PolymarketIntel/status/1897791777228071333/video/1", + "id_str": "1897791675713437696", + "indices": [ + 81, + 104 + ], + "media_key": "13_1897791675713437696", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897791675713437696/img/Ws2F6aiwgfHedsKX.jpg", + "type": "video", + "url": "https://t.co/FTHpzsjIf5", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 33179, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/pl/5XgAb9NmZoD8nXk6.m3u8?tag=16&v=6cb" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/vid/avc1/480x270/kyztEfJtiztkQkc1.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/vid/avc1/640x360/YwP6TKmuMozawT3s.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/vid/avc1/1280x720/eKTu-moteXeh3QqK.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897791675713437696" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/FTHpzsjIf5", + "expanded_url": "https://x.com/PolymarketIntel/status/1897791777228071333/video/1", + "id_str": "1897791675713437696", + "indices": [ + 81, + 104 + ], + "media_key": "13_1897791675713437696", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897791675713437696/img/Ws2F6aiwgfHedsKX.jpg", + "type": "video", + "url": "https://t.co/FTHpzsjIf5", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 33179, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/pl/5XgAb9NmZoD8nXk6.m3u8?tag=16&v=6cb" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/vid/avc1/480x270/kyztEfJtiztkQkc1.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/vid/avc1/640x360/YwP6TKmuMozawT3s.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897791675713437696/vid/avc1/1280x720/eKTu-moteXeh3QqK.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897791675713437696" + } + } + } + ] + }, + "favorite_count": 23, + "favorited": false, + "full_text": "WATCH 🔶\n\nPutin to Mother of Fallen Soldier: “Russia Will Not Give In to Anyone.” https://t.co/FTHpzsjIf5", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 14, + "retweet_count": 8, + "retweeted": false, + "user_id_str": "1495480590572961792", + "id_str": "1897791777228071333" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897791708869386435", + "sortIndex": "1897829059325329357", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897791708869386435", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/GbZXlPYntI", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Ukraine was given “fair warning” by the White House before President Donald Trump this week ordered a pause on U.S. military assistance and intelligence sharing with Kyiv.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "apnews.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "51241574", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "15896580", + "path": [] + } + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_alt_text", + "value": { + "string_value": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "apnews.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_alt_text", + "value": { + "string_value": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 143, + "green": 186, + "red": 200 + }, + "percentage": 34.17 + }, + { + "rgb": { + "blue": 44, + "green": 51, + "red": 46 + }, + "percentage": 27.7 + }, + { + "rgb": { + "blue": 70, + "green": 148, + "red": 173 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 72, + "green": 102, + "red": 112 + }, + "percentage": 5.05 + }, + { + "rgb": { + "blue": 195, + "green": 199, + "red": 212 + }, + "percentage": 4.57 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Trump envoy says Ukrainians 'brought it on themselves' after US pauses aid and intelligence sharing", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 143, + "green": 186, + "red": 200 + }, + "percentage": 34.17 + }, + { + "rgb": { + "blue": 44, + "green": 51, + "red": 46 + }, + "percentage": 27.7 + }, + { + "rgb": { + "blue": 70, + "green": 148, + "red": 173 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 72, + "green": 102, + "red": 112 + }, + "percentage": 5.05 + }, + { + "rgb": { + "blue": 195, + "green": 199, + "red": 212 + }, + "percentage": 4.57 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 143, + "green": 186, + "red": 200 + }, + "percentage": 34.17 + }, + { + "rgb": { + "blue": 44, + "green": 51, + "red": 46 + }, + "percentage": 27.7 + }, + { + "rgb": { + "blue": 70, + "green": 148, + "red": 173 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 72, + "green": 102, + "red": 112 + }, + "percentage": 5.05 + }, + { + "rgb": { + "blue": 195, + "green": 199, + "red": 212 + }, + "percentage": 4.57 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/GbZXlPYntI", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/GbZXlPYntI", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTg5NjU4MA==", + "rest_id": "15896580", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Aug 18 21:26:08 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "White House Reporter @AP Email: amadhani@ap.org Signal: aamermadhani.39", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "apnews.com", + "expanded_url": "https://apnews.com", + "url": "https://t.co/fbZsFkhjrR", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 4073, + "followers_count": 8354, + "friends_count": 6299, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 401, + "location": "WASHINGTON, DC", + "media_count": 376, + "name": "Aamer Madhani", + "normal_followers_count": 8354, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/15896580/1685100726", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1862847380556525568/SYO1vWix_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AamerISmad", + "statuses_count": 12910, + "translator_type": "none", + "url": "https://t.co/fbZsFkhjrR", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1467553228720066564", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjo1MTI0MTU3NA==", + "rest_id": "51241574", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Jun 26 21:48:52 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Advancing the power of facts, globally 🌎", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "apnews.com", + "expanded_url": "https://apnews.com/", + "url": "https://t.co/0HD7A9hKKy", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 4335, + "followers_count": 15815784, + "friends_count": 6297, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 102759, + "location": "Global", + "media_count": 15249, + "name": "The Associated Press", + "normal_followers_count": 15815784, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/51241574/1638483576", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1736863672029310976/gzIskvxa_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AP", + "statuses_count": 384695, + "translator_type": "none", + "url": "https://t.co/0HD7A9hKKy", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897791708869386435" + ], + "editable_until_msecs": "1741307377316", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:29:37 +0000 2025", + "conversation_id_str": "1897791708869386435", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2932460195", + "name": "Anders Åslund", + "screen_name": "anders_aslund", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @anders_aslund: Disgraceful \"Trump envoy [Kellogg] says Ukrainians 'brought it on themselves' after US pauses aid and intelligence shari…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 530, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897791708869386435", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897754497528537462", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTMyNDYwMTk1", + "rest_id": "2932460195", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Dec 19 19:15:17 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "Economist & author. Russia, Ukraine & Eastern Europe. Read my latest book: \"Russia's Crony Capitalism\" https://t.co/ZqmWMRSMf9", + "entities": { + "description": { + "urls": [ + { + "display_url": "amzn.to/2WgLENO", + "expanded_url": "https://amzn.to/2WgLENO", + "url": "https://t.co/ZqmWMRSMf9", + "indices": [ + 103, + 126 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 55285, + "followers_count": 309813, + "friends_count": 4363, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 4558, + "location": "Washington, DC", + "media_count": 394, + "name": "Anders Åslund", + "normal_followers_count": 309813, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2932460195/1556849532", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/803063265165185024/oK-YayC6_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "anders_aslund", + "statuses_count": 46883, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/GbZXlPYntI", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Ukraine was given “fair warning” by the White House before President Donald Trump this week ordered a pause on U.S. military assistance and intelligence sharing with Kyiv.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "apnews.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "51241574", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "15896580", + "path": [] + } + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_alt_text", + "value": { + "string_value": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "apnews.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_alt_text", + "value": { + "string_value": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 143, + "green": 186, + "red": 200 + }, + "percentage": 34.17 + }, + { + "rgb": { + "blue": 44, + "green": 51, + "red": 46 + }, + "percentage": 27.7 + }, + { + "rgb": { + "blue": 70, + "green": 148, + "red": 173 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 72, + "green": 102, + "red": 112 + }, + "percentage": 5.05 + }, + { + "rgb": { + "blue": 195, + "green": 199, + "red": 212 + }, + "percentage": 4.57 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Trump envoy says Ukrainians 'brought it on themselves' after US pauses aid and intelligence sharing", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 143, + "green": 186, + "red": 200 + }, + "percentage": 34.17 + }, + { + "rgb": { + "blue": 44, + "green": 51, + "red": 46 + }, + "percentage": 27.7 + }, + { + "rgb": { + "blue": 70, + "green": 148, + "red": 173 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 72, + "green": 102, + "red": 112 + }, + "percentage": 5.05 + }, + { + "rgb": { + "blue": 195, + "green": 199, + "red": 212 + }, + "percentage": 4.57 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 143, + "green": 186, + "red": 200 + }, + "percentage": 34.17 + }, + { + "rgb": { + "blue": 44, + "green": 51, + "red": 46 + }, + "percentage": 27.7 + }, + { + "rgb": { + "blue": 70, + "green": 148, + "red": 173 + }, + "percentage": 8.3 + }, + { + "rgb": { + "blue": 72, + "green": 102, + "red": 112 + }, + "percentage": 5.05 + }, + { + "rgb": { + "blue": 195, + "green": 199, + "red": 212 + }, + "percentage": 4.57 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/GbZXlPYntI", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "alt": "U.S. Special Envoy for Ukraine and Russia Keith Kellogg, right, and Ukraine's President Volodymyr Zelenskyy talk during their meeting in Kyiv, Ukraine, Feb. 20, 2025. (AP Photo/Evgeniy Maloletka)", + "height": 810, + "width": 1440, + "url": "https://pbs.twimg.com/card_img/1897715151010185216/soRuh_YR?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/GbZXlPYntI", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTg5NjU4MA==", + "rest_id": "15896580", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Aug 18 21:26:08 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "White House Reporter @AP Email: amadhani@ap.org Signal: aamermadhani.39", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "apnews.com", + "expanded_url": "https://apnews.com", + "url": "https://t.co/fbZsFkhjrR", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 4073, + "followers_count": 8354, + "friends_count": 6299, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 401, + "location": "WASHINGTON, DC", + "media_count": 376, + "name": "Aamer Madhani", + "normal_followers_count": 8354, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/15896580/1685100726", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1862847380556525568/SYO1vWix_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AamerISmad", + "statuses_count": 12910, + "translator_type": "none", + "url": "https://t.co/fbZsFkhjrR", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1467553228720066564", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjo1MTI0MTU3NA==", + "rest_id": "51241574", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Jun 26 21:48:52 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Advancing the power of facts, globally 🌎", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "apnews.com", + "expanded_url": "https://apnews.com/", + "url": "https://t.co/0HD7A9hKKy", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 4335, + "followers_count": 15815784, + "friends_count": 6297, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 102759, + "location": "Global", + "media_count": 15249, + "name": "The Associated Press", + "normal_followers_count": 15815784, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/51241574/1638483576", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1736863672029310976/gzIskvxa_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AP", + "statuses_count": 384695, + "translator_type": "none", + "url": "https://t.co/0HD7A9hKKy", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897754497528537462" + ], + "editable_until_msecs": "1741298505000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "25422", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 28, + "bookmarked": false, + "created_at": "Thu Mar 06 21:01:45 +0000 2025", + "conversation_id_str": "1897754497528537462", + "display_text_range": [ + 0, + 231 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "apnews.com/article/trump-…", + "expanded_url": "https://apnews.com/article/trump-zelenskyy-kellogg-ukraine-intelligence-sharing-c5da1604549a8f5744a65f4ae581b3e4", + "url": "https://t.co/GbZXlPYntI", + "indices": [ + 208, + 231 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 1609, + "favorited": false, + "full_text": "Disgraceful \"Trump envoy [Kellogg] says Ukrainians 'brought it on themselves' after US pauses aid and intelligence sharing\"\nTo work for Trump in foreign policy is to work for Putin.\nNo shame, honor or truth.\nhttps://t.co/GbZXlPYntI", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 16, + "reply_count": 103, + "retweet_count": 530, + "retweeted": false, + "user_id_str": "2932460195", + "id_str": "1897754497528537462" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897791432326283375", + "sortIndex": "1897829059325329356", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897791432326283375", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzU5NTMyMDk5", + "rest_id": "1359532099", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Apr 17 14:11:05 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Academy Associate @ChathamHouse @CHUkraineForum. @CEPA non-resident fellow, ex @risj_oxford. Opinions my own", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 139841, + "followers_count": 367206, + "friends_count": 2385, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6617, + "location": "Ukraine - UK", + "media_count": 1815, + "name": "Olga Tokariuk", + "normal_followers_count": 367206, + "pinned_tweet_ids_str": [ + "1894781839505518647" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1359532099/1393415410", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1786328445816909824/O7wFjK3t_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olgatokariuk", + "statuses_count": 25832, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1479061935350071305", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897791432326283375" + ], + "editable_until_msecs": "1741307311383", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:28:31 +0000 2025", + "conversation_id_str": "1897791432326283375", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "26228625", + "name": "Margus Tsahkna", + "screen_name": "Tsahkna", + "indices": [ + 3, + 11 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @Tsahkna: Europe has a choice. \n\nEither use the more than 200 bn € worth of Russia’s frozen assets for the benefit of Ukraine to change…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "1359532099", + "id_str": "1897791432326283375", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897744982796042723", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNjIyODYyNQ==", + "rest_id": "26228625", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Mar 24 12:47:04 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Minister of Foreign Affairs of the Republic of Estonia 🇪🇪 @MFAestonia\n\nAlso in BlueSky.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "vm.ee/en", + "expanded_url": "http://www.vm.ee/en", + "url": "https://t.co/k2R8ZlYoTm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2281, + "followers_count": 13065, + "friends_count": 734, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 186, + "location": "Estonia, Eesti", + "media_count": 751, + "name": "Margus Tsahkna", + "normal_followers_count": 13065, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/26228625/1695303620", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1831594426835103744/brmKY5ee_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Tsahkna", + "statuses_count": 2325, + "translator_type": "none", + "url": "https://t.co/k2R8ZlYoTm", + "verified": false, + "verified_type": "Government", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897744982796042723" + ], + "editable_until_msecs": "1741296236000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "7460", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Thu Mar 06 20:23:56 +0000 2025", + "conversation_id_str": "1897744982796042723", + "display_text_range": [ + 0, + 283 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/LFO8byMjwv", + "expanded_url": "https://x.com/Tsahkna/status/1897744982796042723/video/1", + "id_str": "1897744746354712577", + "indices": [ + 284, + 307 + ], + "media_key": "13_1897744746354712577", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897744746354712577/img/GN3Yx10s1HvltwSo.jpg", + "type": "video", + "url": "https://t.co/LFO8byMjwv", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 590, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 553, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 313, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 590, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 128, + 59 + ], + "duration_millis": 99221, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/pl/fo3AC3B3XsbeE_U7.m3u8?tag=14&v=f93" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/vid/avc1/584x270/ZmgaoHl3DuznEAWK.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/vid/avc1/780x360/1RXM7fbMUxHYUID8.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/vid/avc1/1280x590/rgAb0JpkUAcAgl09.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897744746354712577" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtu.be/cNrDVDlMdUg?si…", + "expanded_url": "https://youtu.be/cNrDVDlMdUg?si=45c5P6BlHRSaolQs", + "url": "https://t.co/YjU8Ffs0yQ", + "indices": [ + 260, + 283 + ] + } + ], + "user_mentions": [ + { + "id_str": "1217786733540118528", + "name": "Times Radio", + "screen_name": "TimesRadio", + "indices": [ + 248, + 259 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/LFO8byMjwv", + "expanded_url": "https://x.com/Tsahkna/status/1897744982796042723/video/1", + "id_str": "1897744746354712577", + "indices": [ + 284, + 307 + ], + "media_key": "13_1897744746354712577", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897744746354712577/img/GN3Yx10s1HvltwSo.jpg", + "type": "video", + "url": "https://t.co/LFO8byMjwv", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 590, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 553, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 313, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 590, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 128, + 59 + ], + "duration_millis": 99221, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/pl/fo3AC3B3XsbeE_U7.m3u8?tag=14&v=f93" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/vid/avc1/584x270/ZmgaoHl3DuznEAWK.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/vid/avc1/780x360/1RXM7fbMUxHYUID8.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897744746354712577/vid/avc1/1280x590/rgAb0JpkUAcAgl09.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897744746354712577" + } + } + } + ] + }, + "favorite_count": 262, + "favorited": false, + "full_text": "Europe has a choice. \n\nEither use the more than 200 bn € worth of Russia’s frozen assets for the benefit of Ukraine to change the dynamics of the war.\n\nOr risk that these assets will be returned to the aggressor & used to fund its war machine.\n@TimesRadio\nhttps://t.co/YjU8Ffs0yQ https://t.co/LFO8byMjwv", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 8, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "26228625", + "id_str": "1897744982796042723" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897791426554970270", + "sortIndex": "1897829059325329355", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897791426554970270", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzU5NTMyMDk5", + "rest_id": "1359532099", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Apr 17 14:11:05 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Academy Associate @ChathamHouse @CHUkraineForum. @CEPA non-resident fellow, ex @risj_oxford. Opinions my own", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 139841, + "followers_count": 367206, + "friends_count": 2385, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6617, + "location": "Ukraine - UK", + "media_count": 1815, + "name": "Olga Tokariuk", + "normal_followers_count": 367206, + "pinned_tweet_ids_str": [ + "1894781839505518647" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1359532099/1393415410", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1786328445816909824/O7wFjK3t_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olgatokariuk", + "statuses_count": 25832, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1479061935350071305", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/4clT2kP5CW", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 147, + "width": 240, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=240x240" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "My country is not a Banana Republic that will simply bend to President Trump's wishes, writes Illia Ponomarenko.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "time.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 522, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 628, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "14293310", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 61, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 628, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 628, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "time.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 193, + "green": 172, + "red": 164 + }, + "percentage": 56.17 + }, + { + "rgb": { + "blue": 39, + "green": 185, + "red": 213 + }, + "percentage": 26.94 + }, + { + "rgb": { + "blue": 166, + "green": 93, + "red": 1 + }, + "percentage": 9.57 + }, + { + "rgb": { + "blue": 1, + "green": 111, + "red": 137 + }, + "percentage": 2.86 + }, + { + "rgb": { + "blue": 100, + "green": 172, + "red": 190 + }, + "percentage": 0.48 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Never, Never Underestimate Ukraine", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 193, + "green": 172, + "red": 164 + }, + "percentage": 56.17 + }, + { + "rgb": { + "blue": 39, + "green": 185, + "red": 213 + }, + "percentage": 26.94 + }, + { + "rgb": { + "blue": 166, + "green": 93, + "red": 1 + }, + "percentage": 9.57 + }, + { + "rgb": { + "blue": 1, + "green": 111, + "red": 137 + }, + "percentage": 2.86 + }, + { + "rgb": { + "blue": 100, + "green": 172, + "red": 190 + }, + "percentage": 0.48 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 628, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 193, + "green": 172, + "red": 164 + }, + "percentage": 56.17 + }, + { + "rgb": { + "blue": 39, + "green": 185, + "red": 213 + }, + "percentage": 26.94 + }, + { + "rgb": { + "blue": 166, + "green": 93, + "red": 1 + }, + "percentage": 9.57 + }, + { + "rgb": { + "blue": 1, + "green": 111, + "red": 137 + }, + "percentage": 2.86 + }, + { + "rgb": { + "blue": 100, + "green": 172, + "red": 190 + }, + "percentage": 0.48 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 628, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/4clT2kP5CW", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 628, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897699156367478784/tFHaCl8V?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/4clT2kP5CW", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDI5MzMxMA==", + "rest_id": "14293310", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 03 13:54:30 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "News and current events from around the globe. Since 1923. \nSubscribe: https://t.co/yT0dueLEm0", + "entities": { + "description": { + "urls": [ + { + "display_url": "ti.me/subscribe", + "expanded_url": "http://ti.me/subscribe", + "url": "https://t.co/yT0dueLEm0", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "time.com", + "expanded_url": "https://www.time.com", + "url": "https://t.co/vl89LXOvyB", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 567, + "followers_count": 19219505, + "friends_count": 471, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 101789, + "location": "", + "media_count": 31325, + "name": "TIME", + "normal_followers_count": 19219505, + "pinned_tweet_ids_str": [ + "1895085127237083262" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/14293310/1722449916", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1821984581915987968/cv44xY5x_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TIME", + "statuses_count": 432820, + "translator_type": "regular", + "url": "https://t.co/vl89LXOvyB", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897791426554970270" + ], + "editable_until_msecs": "1741307310000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "6973", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 17, + "bookmarked": false, + "created_at": "Thu Mar 06 23:28:30 +0000 2025", + "conversation_id_str": "1897791426554970270", + "display_text_range": [ + 0, + 275 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "time.com/7265176/trump-…", + "expanded_url": "https://time.com/7265176/trump-ukraine-zelensky/?fbclid=IwY2xjawI3DfBleHRuA2FlbQIxMQABHZl8OxetabuG8Wpv_w4-GGpOzd2iBrH_JTD1_XsCQtRxwIjbKpqvB1WLyA_aem__rROscYB5n_cpKMTi_k89g", + "url": "https://t.co/4clT2kP5CW", + "indices": [ + 252, + 275 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 379, + "favorited": false, + "full_text": "'This war isn’t about Zelensky. It’s about the people. It’s about the 1 million men and women serving in Ukraine’s army.... It’s about the millions more who are keeping the country running, raising funds, developing new weapons, and refusing to break'\nhttps://t.co/4clT2kP5CW", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 10, + "retweet_count": 105, + "retweeted": false, + "user_id_str": "1359532099", + "id_str": "1897791426554970270" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897789576283869428", + "sortIndex": "1897829059325329354", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897789576283869428", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4MjQzMjU5OTI4MjcyNTI3MzY=", + "rest_id": "824325992827252736", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Jan 25 18:40:06 +0000 2017", + "default_profile": false, + "default_profile_image": false, + "description": "Journalist watching Russia for @BBCMonitoring", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "monitoring.bbc.co.uk", + "expanded_url": "https://monitoring.bbc.co.uk/", + "url": "https://t.co/DSwdAzVI4J", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 14004, + "followers_count": 112053, + "friends_count": 3107, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2634, + "location": "United Kingdom ", + "media_count": 2265, + "name": "Francis Scarr", + "normal_followers_count": 112053, + "pinned_tweet_ids_str": [ + "1580066665353519104" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/824325992827252736/1668523345", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1498268248177000454/J-M6GqJl_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "francis_scarr", + "statuses_count": 5914, + "translator_type": "none", + "url": "https://t.co/DSwdAzVI4J", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1554045572872642561", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897789576283869428" + ], + "editable_until_msecs": "1741306868868", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:21:08 +0000 2025", + "conversation_id_str": "1897789576283869428", + "display_text_range": [ + 0, + 120 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "127814172", + "name": "Roland Oliphant", + "screen_name": "RolandOliphant", + "indices": [ + 3, + 18 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @RolandOliphant: Well there it is, in black and white: Trump wants to be mates with Putin, and Ukraine is in the way.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897661173136306357", + "quoted_status_permalink": { + "url": "https://t.co/brdMUn8bnL", + "expanded": "https://twitter.com/Andrew__Roth/status/1897661173136306357", + "display": "x.com/Andrew__Roth/s…" + }, + "reply_count": 0, + "retweet_count": 42, + "retweeted": false, + "user_id_str": "824325992827252736", + "id_str": "1897789576283869428", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897759573076775392", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjc4MTQxNzI=", + "rest_id": "127814172", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Mar 30 09:24:42 +0000 2010", + "default_profile": true, + "default_profile_image": false, + "description": "Senior foreign correspondent @telegraph", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 19476, + "followers_count": 57406, + "friends_count": 4767, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2126, + "location": "", + "media_count": 1424, + "name": "Roland Oliphant", + "normal_followers_count": 57406, + "pinned_tweet_ids_str": [ + "1833121300283310530" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/127814172/1478016985", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000592332093/a5413c323d4a8cb96462846e3110ab4e_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "RolandOliphant", + "statuses_count": 25303, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897759573076775392" + ], + "editable_until_msecs": "1741299715000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "17915", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897661173136306357", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDkwNjAxMzE=", + "rest_id": "249060131", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Feb 08 08:21:34 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Global affairs correspondent for @guardian in Washington DC. Ex-Moscow via London. Здесь нам не тут. Write me: Andrew.Roth@theguardian.com Signal: andrewroth.38", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "theguardian.com/profile/roth-a…", + "expanded_url": "https://www.theguardian.com/profile/roth-andrew", + "url": "https://t.co/jiI8qYVOSq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 41900, + "followers_count": 92362, + "friends_count": 4423, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3221, + "location": "Washington DC", + "media_count": 112, + "name": "Andrew Roth", + "normal_followers_count": 92362, + "pinned_tweet_ids_str": [ + "1887254022190661671" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/249060131/1511198434", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1817755621090828289/4B1Sl8p-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Andrew__Roth", + "statuses_count": 1552, + "translator_type": "none", + "url": "https://t.co/jiI8qYVOSq", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897661173136306357" + ], + "editable_until_msecs": "1741276255000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "114901", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 34, + "bookmarked": false, + "created_at": "Thu Mar 06 14:50:55 +0000 2025", + "conversation_id_str": "1897659970126028867", + "display_text_range": [ + 0, + 245 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 185, + "favorited": false, + "full_text": "Kellogg: Trump recognizes that US needs to \"reset relations with Russia\" in order to secure US national security. \"The continued isolation and lack of engagement with the Russians as the war in Ukraine continues is no longer a viable strategy.\"", + "in_reply_to_screen_name": "Andrew__Roth", + "in_reply_to_status_id_str": "1897660400071516168", + "in_reply_to_user_id_str": "249060131", + "is_quote_status": false, + "lang": "en", + "quote_count": 56, + "reply_count": 28, + "retweet_count": 64, + "retweeted": false, + "user_id_str": "249060131", + "id_str": "1897661173136306357" + } + } + }, + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Thu Mar 06 21:21:55 +0000 2025", + "conversation_id_str": "1897759573076775392", + "display_text_range": [ + 0, + 100 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 138, + "favorited": false, + "full_text": "Well there it is, in black and white: Trump wants to be mates with Putin, and Ukraine is in the way.", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1897661173136306357", + "quoted_status_permalink": { + "url": "https://t.co/brdMUn8bnL", + "expanded": "https://twitter.com/Andrew__Roth/status/1897661173136306357", + "display": "x.com/Andrew__Roth/s…" + }, + "reply_count": 11, + "retweet_count": 42, + "retweeted": false, + "user_id_str": "127814172", + "id_str": "1897759573076775392" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897789393378726034", + "sortIndex": "1897829059325329353", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897789393378726034", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897789393378726034" + ], + "editable_until_msecs": "1741306825260", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:20:25 +0000 2025", + "conversation_id_str": "1897789393378726034", + "display_text_range": [ + 0, + 70 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "3129968261", + "name": "Timothy Snyder", + "screen_name": "TimothyDSnyder", + "indices": [ + 3, + 18 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @TimothyDSnyder: This is how you tell who Trump’s constituents are.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897526643133980870", + "quoted_status_permalink": { + "url": "https://t.co/ewDLKfHzwx", + "expanded": "https://twitter.com/JuliaDavisNews/status/1897526643133980870", + "display": "x.com/JuliaDavisNews…" + }, + "reply_count": 0, + "retweet_count": 349, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897789393378726034", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897786047863402846", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMTI5OTY4MjYx", + "rest_id": "3129968261", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Mar 30 21:25:57 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Levin Professor of History at Yale. Author of \"On Freedom,\" \"On Tyranny,\" \"Our Malady,\" \"Road to Unfreedom,\" \"Black Earth,\" and \"Bloodlands\"", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "snyder.substack.com", + "expanded_url": "http://snyder.substack.com", + "url": "https://t.co/K08VDpoT1T", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 13, + "followers_count": 561429, + "friends_count": 84, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 6272, + "location": "", + "media_count": 622, + "name": "Timothy Snyder", + "normal_followers_count": 561429, + "pinned_tweet_ids_str": [ + "1326319545427107840" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3129968261/1726583817", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/582655768471552000/8Ad5TU8L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TimothyDSnyder", + "statuses_count": 5878, + "translator_type": "none", + "url": "https://t.co/K08VDpoT1T", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897786047863402846" + ], + "editable_until_msecs": "1741306027000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "38164", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897526643133980870", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/x6fTJnH75O", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/AcOOC7Hbk6g?list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897524609827631105/-lKW_lol?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 158, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897524609827631105/-lKW_lol?format=jpg&name=280x280" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897524609827631105/-lKW_lol?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897524609827631105/-lKW_lol?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Oleg Morozov says Trump is keeping his promises", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/x6fTJnH75O", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 38, + "green": 32, + "red": 34 + }, + "percentage": 52.44 + }, + { + "rgb": { + "blue": 69, + "green": 81, + "red": 114 + }, + "percentage": 14.24 + }, + { + "rgb": { + "blue": 125, + "green": 149, + "red": 206 + }, + "percentage": 9.13 + }, + { + "rgb": { + "blue": 191, + "green": 94, + "red": 41 + }, + "percentage": 4.48 + }, + { + "rgb": { + "blue": 91, + "green": 59, + "red": 51 + }, + "percentage": 3.87 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897524609827631105/-lKW_lol?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/x6fTJnH75O", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79543035, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77913, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79543035, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897526643133980870" + ], + "editable_until_msecs": "1741244180000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "142844", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 82, + "bookmarked": false, + "created_at": "Thu Mar 06 05:56:20 +0000 2025", + "conversation_id_str": "1897526643133980870", + "display_text_range": [ + 0, + 277 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtube.com/watch?v=AcOOC7…", + "expanded_url": "https://www.youtube.com/watch?v=AcOOC7Hbk6g&list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "url": "https://t.co/x6fTJnH75O", + "indices": [ + 254, + 277 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 1012, + "favorited": false, + "full_text": "Meanwhile in Russia: State Duma member Oleg Morozov and giddy propagandists Olga Skabeeva and Evgeny Popov rejoiced about Trump keeping and exceeding his promises, while Moscow isn't giving an inch. They expect him to deliver even more blows to Ukraine.\nhttps://t.co/x6fTJnH75O", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 29, + "reply_count": 46, + "retweet_count": 574, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897526643133980870" + } + } + }, + "legacy": { + "bookmark_count": 28, + "bookmarked": false, + "created_at": "Thu Mar 06 23:07:07 +0000 2025", + "conversation_id_str": "1897786047863402846", + "display_text_range": [ + 0, + 50 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 993, + "favorited": false, + "full_text": "This is how you tell who Trump’s constituents are.", + "is_quote_status": true, + "lang": "en", + "quote_count": 2, + "quoted_status_id_str": "1897526643133980870", + "quoted_status_permalink": { + "url": "https://t.co/ewDLKfHzwx", + "expanded": "https://twitter.com/JuliaDavisNews/status/1897526643133980870", + "display": "x.com/JuliaDavisNews…" + }, + "reply_count": 21, + "retweet_count": 349, + "retweeted": false, + "user_id_str": "3129968261", + "id_str": "1897786047863402846" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329464", + "sortIndex": "1897829059325329352", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "list-conversation-1897829059325329464-tweet-1896955806953988201", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1896955806953988201", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNjIyMTkxNjg=", + "rest_id": "262219168", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Mar 07 16:23:56 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Live straight out of Bucha", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 37363, + "followers_count": 1179984, + "friends_count": 1700, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 15595, + "location": "Bucha, Ukraine", + "media_count": 4678, + "name": "Illia Ponomarenko 🇺🇦", + "normal_followers_count": 1179984, + "pinned_tweet_ids_str": [ + "1774172694465896934" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/262219168/1688741071", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1739983483521372160/MU4SjC52_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "IAPonomarenko", + "statuses_count": 25408, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1473057187006234626", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896955806953988201" + ], + "editable_until_msecs": "1741108082000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1024761", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 1661, + "bookmarked": false, + "created_at": "Tue Mar 04 16:08:02 +0000 2025", + "conversation_id_str": "1896955806953988201", + "display_text_range": [ + 0, + 155 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/5OqbStHjL7", + "expanded_url": "https://x.com/IAPonomarenko/status/1896955806953988201/photo/1", + "id_str": "1896954895015518208", + "indices": [ + 156, + 179 + ], + "media_key": "3_1896954895015518208", + "media_url_https": "https://pbs.twimg.com/media/GlNWbTBWoAACsNe.jpg", + "type": "photo", + "url": "https://t.co/5OqbStHjL7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1024, + "w": 768, + "resize": "fit" + }, + "medium": { + "h": 1024, + "w": 768, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1024, + "width": 768, + "focus_rects": [ + { + "x": 0, + "y": 373, + "w": 768, + "h": 430 + }, + { + "x": 0, + "y": 204, + "w": 768, + "h": 768 + }, + { + "x": 0, + "y": 148, + "w": 768, + "h": 876 + }, + { + "x": 256, + "y": 0, + "w": 512, + "h": 1024 + }, + { + "x": 0, + "y": 0, + "w": 768, + "h": 1024 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1896954895015518208" + } + } + }, + { + "display_url": "pic.x.com/5OqbStHjL7", + "expanded_url": "https://x.com/IAPonomarenko/status/1896955806953988201/photo/1", + "id_str": "1896955701961871361", + "indices": [ + 156, + 179 + ], + "media_key": "3_1896955701961871361", + "media_url_https": "https://pbs.twimg.com/media/GlNXKRIW0AEFxyr.jpg", + "type": "photo", + "url": "https://t.co/5OqbStHjL7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1500, + "w": 2000, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 510, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1500, + "width": 2000, + "focus_rects": [ + { + "x": 0, + "y": 90, + "w": 2000, + "h": 1120 + }, + { + "x": 200, + "y": 0, + "w": 1500, + "h": 1500 + }, + { + "x": 292, + "y": 0, + "w": 1316, + "h": 1500 + }, + { + "x": 575, + "y": 0, + "w": 750, + "h": 1500 + }, + { + "x": 0, + "y": 0, + "w": 2000, + "h": 1500 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1896955701961871361" + } + } + }, + { + "display_url": "pic.x.com/5OqbStHjL7", + "expanded_url": "https://x.com/IAPonomarenko/status/1896955806953988201/photo/1", + "id_str": "1896955742185263104", + "indices": [ + 156, + 179 + ], + "media_key": "3_1896955742185263104", + "media_url_https": "https://pbs.twimg.com/media/GlNXMm-XEAATfLb.jpg", + "type": "photo", + "url": "https://t.co/5OqbStHjL7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 900, + "w": 674, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 674, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 509, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 900, + "width": 674, + "focus_rects": [ + { + "x": 0, + "y": 328, + "w": 674, + "h": 377 + }, + { + "x": 0, + "y": 179, + "w": 674, + "h": 674 + }, + { + "x": 0, + "y": 132, + "w": 674, + "h": 768 + }, + { + "x": 224, + "y": 0, + "w": 450, + "h": 900 + }, + { + "x": 0, + "y": 0, + "w": 674, + "h": 900 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1896955742185263104" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/5OqbStHjL7", + "expanded_url": "https://x.com/IAPonomarenko/status/1896955806953988201/photo/1", + "id_str": "1896954895015518208", + "indices": [ + 156, + 179 + ], + "media_key": "3_1896954895015518208", + "media_url_https": "https://pbs.twimg.com/media/GlNWbTBWoAACsNe.jpg", + "type": "photo", + "url": "https://t.co/5OqbStHjL7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1024, + "w": 768, + "resize": "fit" + }, + "medium": { + "h": 1024, + "w": 768, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1024, + "width": 768, + "focus_rects": [ + { + "x": 0, + "y": 373, + "w": 768, + "h": 430 + }, + { + "x": 0, + "y": 204, + "w": 768, + "h": 768 + }, + { + "x": 0, + "y": 148, + "w": 768, + "h": 876 + }, + { + "x": 256, + "y": 0, + "w": 512, + "h": 1024 + }, + { + "x": 0, + "y": 0, + "w": 768, + "h": 1024 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1896954895015518208" + } + } + }, + { + "display_url": "pic.x.com/5OqbStHjL7", + "expanded_url": "https://x.com/IAPonomarenko/status/1896955806953988201/photo/1", + "id_str": "1896955701961871361", + "indices": [ + 156, + 179 + ], + "media_key": "3_1896955701961871361", + "media_url_https": "https://pbs.twimg.com/media/GlNXKRIW0AEFxyr.jpg", + "type": "photo", + "url": "https://t.co/5OqbStHjL7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1500, + "w": 2000, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 510, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1500, + "width": 2000, + "focus_rects": [ + { + "x": 0, + "y": 90, + "w": 2000, + "h": 1120 + }, + { + "x": 200, + "y": 0, + "w": 1500, + "h": 1500 + }, + { + "x": 292, + "y": 0, + "w": 1316, + "h": 1500 + }, + { + "x": 575, + "y": 0, + "w": 750, + "h": 1500 + }, + { + "x": 0, + "y": 0, + "w": 2000, + "h": 1500 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1896955701961871361" + } + } + }, + { + "display_url": "pic.x.com/5OqbStHjL7", + "expanded_url": "https://x.com/IAPonomarenko/status/1896955806953988201/photo/1", + "id_str": "1896955742185263104", + "indices": [ + 156, + 179 + ], + "media_key": "3_1896955742185263104", + "media_url_https": "https://pbs.twimg.com/media/GlNXMm-XEAATfLb.jpg", + "type": "photo", + "url": "https://t.co/5OqbStHjL7", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 900, + "w": 674, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 674, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 509, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 900, + "width": 674, + "focus_rects": [ + { + "x": 0, + "y": 328, + "w": 674, + "h": 377 + }, + { + "x": 0, + "y": 179, + "w": 674, + "h": 674 + }, + { + "x": 0, + "y": 132, + "w": 674, + "h": 768 + }, + { + "x": 224, + "y": 0, + "w": 450, + "h": 900 + }, + { + "x": 0, + "y": 0, + "w": 674, + "h": 900 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1896955742185263104" + } + } + } + ] + }, + "favorite_count": 27258, + "favorited": false, + "full_text": "Three years ago on this day. \n\nRussian VDV trying to advance toward Kyiv are ambushed and exterminated in the streets of Hostomel just outside the capital. https://t.co/5OqbStHjL7", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 138, + "reply_count": 547, + "retweet_count": 3515, + "retweeted": false, + "user_id_str": "262219168", + "id_str": "1896955806953988201" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329464-tweet-1897789272133931236", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897789272133931236", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNjIyMTkxNjg=", + "rest_id": "262219168", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Mar 07 16:23:56 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Live straight out of Bucha", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 37363, + "followers_count": 1179984, + "friends_count": 1700, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 15595, + "location": "Bucha, Ukraine", + "media_count": 4678, + "name": "Illia Ponomarenko 🇺🇦", + "normal_followers_count": 1179984, + "pinned_tweet_ids_str": [ + "1774172694465896934" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/262219168/1688741071", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1739983483521372160/MU4SjC52_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "IAPonomarenko", + "statuses_count": 25408, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1473057187006234626", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897789272133931236" + ], + "editable_until_msecs": "1741306796000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "23158", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Thu Mar 06 23:19:56 +0000 2025", + "conversation_id_str": "1896955806953988201", + "display_text_range": [ + 0, + 99 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 669, + "favorited": false, + "full_text": "Not a single Russian unit eventually made it inside Kyiv’s administrative borders during the Battle", + "in_reply_to_screen_name": "IAPonomarenko", + "in_reply_to_status_id_str": "1896955806953988201", + "in_reply_to_user_id_str": "262219168", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 11, + "retweet_count": 36, + "retweeted": false, + "user_id_str": "262219168", + "id_str": "1897789272133931236" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1896955806953988201", + "1897789272133931236" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897789162285158456", + "sortIndex": "1897829059325329351", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897789162285158456", + "birdwatch_pivot": { + "callToAction": { + "prompt": "Do you find this helpful?", + "title": "Rate it", + "destinationUrl": "https://twitter.com/i/birdwatch/n/1897766891890090197" + }, + "destinationUrl": "https://twitter.com/i/birdwatch/n/1897766891890090197", + "footer": { + "text": "Context is written by people who use X, and appears when rated helpful by others. Find out more.", + "entities": [ + { + "fromIndex": 83, + "toIndex": 96, + "ref": { + "type": "TimelineUrl", + "url": "https://twitter.com/i/flow/join-birdwatch", + "urlType": "ExternalUrl" + } + } + ] + }, + "note": { + "rest_id": "1897766891890090197" + }, + "subtitle": { + "text": "Factual Error & Missing Context: NATO's Article 5 on collective defense has been invoked once in the alliance's history by the United States in response to 9/11. At that time NATO had 18 members, all which supported the US in Afghanistan with their militaries.\n\n911memorial.org/learn/resource….\n\nnato.int/cps/en/natohq/….\n\nnato.int/cps/bu/natohq/…\n\nnato.int/cps/en/natohq/…\n\nbritannica.com/topic/North-At….", + "entities": [ + { + "fromIndex": 262, + "toIndex": 293, + "ref": { + "type": "TimelineUrl", + "url": "https://t.co/rmZdbZq3Tb", + "urlType": "ExternalUrl" + } + }, + { + "fromIndex": 296, + "toIndex": 320, + "ref": { + "type": "TimelineUrl", + "url": "https://t.co/1y56iLVloa", + "urlType": "ExternalUrl" + } + }, + { + "fromIndex": 323, + "toIndex": 347, + "ref": { + "type": "TimelineUrl", + "url": "https://t.co/zxw39wPDxq", + "urlType": "ExternalUrl" + } + }, + { + "fromIndex": 349, + "toIndex": 373, + "ref": { + "type": "TimelineUrl", + "url": "https://t.co/QJRk2ZucdS", + "urlType": "ExternalUrl" + } + }, + { + "fromIndex": 375, + "toIndex": 405, + "ref": { + "type": "TimelineUrl", + "url": "https://t.co/1n0W6iRvt1", + "urlType": "ExternalUrl" + } + } + ] + }, + "title": "Readers added context to this video on another post\t", + "shorttitle": "Readers added context", + "visualStyle": "Default", + "iconType": "BirdwatchV1Icon" + }, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDk1NDgwNTkwNTcyOTYxNzky", + "rest_id": "1495480590572961792", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Polymarket", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1789484330638561280/t4Js9UFO_bigger.jpg" + }, + "description": "Polymarket", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 20 19:29:22 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Breaking news & geopolitical insights on Ukraine, the U.S, the Middle East & Europe. The key updates that matter—powered by @Polymarket.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "poly.market/intel", + "expanded_url": "https://poly.market/intel", + "url": "https://t.co/9zd0yb1Jz0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2105, + "followers_count": 809707, + "friends_count": 171, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10811, + "location": "", + "media_count": 6423, + "name": "Polymarket Intel", + "normal_followers_count": 809707, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1495480590572961792/1737660509", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1885081620073324544/wc4EnUmY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PolymarketIntel", + "statuses_count": 8006, + "translator_type": "none", + "url": "https://t.co/9zd0yb1Jz0", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1501574896693960704", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897789162285158456" + ], + "editable_until_msecs": "1741306770000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "32622", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 16, + "bookmarked": false, + "created_at": "Thu Mar 06 23:19:30 +0000 2025", + "conversation_id_str": "1897789162285158456", + "display_text_range": [ + 0, + 189 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/yrmaVRGTzz", + "expanded_url": "https://x.com/PolymarketIntel/status/1897789162285158456/video/1", + "id_str": "1897789059474288640", + "indices": [ + 190, + 213 + ], + "media_key": "13_1897789059474288640", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897789059474288640/img/LOR7gMwBEChssX6m.jpg", + "type": "video", + "url": "https://t.co/yrmaVRGTzz", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 34000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/pl/qfCSMmdgiUy8sRW-.m3u8?tag=16&v=7d1" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/vid/avc1/480x270/XdKxJiEvbGwvSAua.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/vid/avc1/640x360/h8-rDWQ9xldaCFJV.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/vid/avc1/1280x720/IHiwXr2vg34T9CmV.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897789059474288640" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/yrmaVRGTzz", + "expanded_url": "https://x.com/PolymarketIntel/status/1897789162285158456/video/1", + "id_str": "1897789059474288640", + "indices": [ + 190, + 213 + ], + "media_key": "13_1897789059474288640", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897789059474288640/img/LOR7gMwBEChssX6m.jpg", + "type": "video", + "url": "https://t.co/yrmaVRGTzz", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 34000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/pl/qfCSMmdgiUy8sRW-.m3u8?tag=16&v=7d1" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/vid/avc1/480x270/XdKxJiEvbGwvSAua.mp4?tag=16" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/vid/avc1/640x360/h8-rDWQ9xldaCFJV.mp4?tag=16" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897789059474288640/vid/avc1/1280x720/IHiwXr2vg34T9CmV.mp4?tag=16" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897789059474288640" + } + } + } + ] + }, + "favorite_count": 123, + "favorited": false, + "full_text": "WATCH 🔶\n\nTrump on NATO protection: \n\n\"If the United States was in trouble and we called them and said we've got a problem. You think they're going to come and protect us? \n\nI’m not so sure\" https://t.co/yrmaVRGTzz", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 13, + "reply_count": 161, + "retweet_count": 28, + "retweeted": false, + "user_id_str": "1495480590572961792", + "id_str": "1897789162285158456" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897789042571288976", + "sortIndex": "1897829059325329350", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897789042571288976", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/P2iIQ4p2hV", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/KzVL5b39Oqw?list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 158, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=280x280" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Vladimir Solovyov says Russia should take the Baltics, Armenia and...", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/P2iIQ4p2hV", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 4, + "green": 2, + "red": 2 + }, + "percentage": 52.25 + }, + { + "rgb": { + "blue": 11, + "green": 8, + "red": 183 + }, + "percentage": 18.57 + }, + { + "rgb": { + "blue": 184, + "green": 171, + "red": 176 + }, + "percentage": 11.28 + }, + { + "rgb": { + "blue": 105, + "green": 129, + "red": 190 + }, + "percentage": 7.34 + }, + { + "rgb": { + "blue": 26, + "green": 21, + "red": 121 + }, + "percentage": 3.87 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/P2iIQ4p2hV", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79543035, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77913, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79543035, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897789042571288976" + ], + "editable_until_msecs": "1741306741621", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:19:01 +0000 2025", + "conversation_id_str": "1897789042571288976", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "105327432", + "name": "Julia Davis", + "screen_name": "JuliaDavisNews", + "indices": [ + 3, + 18 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @JuliaDavisNews: Meanwhile in Russia: Vladimir Solovyov praises Trumpushka and his tactics, which embolden Moscow. He says Russia should…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 342, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897789042571288976", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897756432461631789", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/P2iIQ4p2hV", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/KzVL5b39Oqw?list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 158, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=280x280" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Vladimir Solovyov says Russia should take the Baltics, Armenia and...", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/P2iIQ4p2hV", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 4, + "green": 2, + "red": 2 + }, + "percentage": 52.25 + }, + { + "rgb": { + "blue": 11, + "green": 8, + "red": 183 + }, + "percentage": 18.57 + }, + { + "rgb": { + "blue": 184, + "green": 171, + "red": 176 + }, + "percentage": 11.28 + }, + { + "rgb": { + "blue": 105, + "green": 129, + "red": 190 + }, + "percentage": 7.34 + }, + { + "rgb": { + "blue": 26, + "green": 21, + "red": 121 + }, + "percentage": 3.87 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/P2iIQ4p2hV", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79543035, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77913, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79543035, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897756432461631789" + ], + "editable_until_msecs": "1741298966000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "132155", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 65, + "bookmarked": false, + "created_at": "Thu Mar 06 21:09:26 +0000 2025", + "conversation_id_str": "1897756432461631789", + "display_text_range": [ + 0, + 283 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtube.com/watch?v=KzVL5b…", + "expanded_url": "https://www.youtube.com/watch?v=KzVL5b39Oqw&list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "url": "https://t.co/P2iIQ4p2hV", + "indices": [ + 260, + 283 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 614, + "favorited": false, + "full_text": "Meanwhile in Russia: Vladimir Solovyov praises Trumpushka and his tactics, which embolden Moscow. He says Russia should take the Baltics, Armenia & Central Asia. State Duma member Andrey Kartapolov says Russia should intensify its strikes against Ukraine.\nhttps://t.co/P2iIQ4p2hV", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 42, + "reply_count": 35, + "retweet_count": 342, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897756432461631789" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897787813799579766", + "sortIndex": "1897829059325329349", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897787813799579766", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTAxMDcxMA==", + "rest_id": "29010710", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Apr 05 16:13:47 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Nationality: journalist. Freelancer, made in the BBC. Reporting what you need to know, not what you want to hear. Also, Lonely Planet guides.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 21751, + "followers_count": 71414, + "friends_count": 4549, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2006, + "location": "", + "media_count": 6589, + "name": "Leonid Ragozin", + "normal_followers_count": 71414, + "pinned_tweet_ids_str": [ + "1897650073627922500" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/29010710/1610454802", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1098307078991593474/vBl5zWMc_normal.png", + "profile_interstitial_type": "", + "screen_name": "leonidragozin", + "statuses_count": 67287, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1630527445676818432", + "professional_type": "Business", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897787813799579766" + ], + "editable_until_msecs": "1741306448000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4098", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3ODc4MTM3MTk4OTE5Njg=", + "text": "Wow, the Ukrainian occupation zone in Russia’s Kursk region has been cut into two pieces after the Russians broke through all the way to the Ukrainian border near Kurilovka, as per the latest Deep State update. The southern chunk around Guyevo is thus cut away from the only supply route.", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 11, + "bookmarked": false, + "created_at": "Thu Mar 06 23:14:08 +0000 2025", + "conversation_id_str": "1897787813799579766", + "display_text_range": [ + 0, + 274 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/wJYHdignVu", + "expanded_url": "https://x.com/leonidragozin/status/1897787813799579766/photo/1", + "id_str": "1897787808539963392", + "indices": [ + 275, + 298 + ], + "media_key": "3_1897787808539963392", + "media_url_https": "https://pbs.twimg.com/media/GlZL9PsXcAA188n.jpg", + "type": "photo", + "url": "https://t.co/wJYHdignVu", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 554, + "y": 430, + "h": 117, + "w": 117 + }, + { + "x": 1093, + "y": 865, + "h": 179, + "w": 179 + } + ] + }, + "medium": { + "faces": [ + { + "x": 358, + "y": 278, + "h": 75, + "w": 75 + }, + { + "x": 707, + "y": 559, + "h": 115, + "w": 115 + } + ] + }, + "small": { + "faces": [ + { + "x": 203, + "y": 157, + "h": 42, + "w": 42 + }, + { + "x": 400, + "y": 317, + "h": 65, + "w": 65 + } + ] + }, + "orig": { + "faces": [ + { + "x": 554, + "y": 430, + "h": 117, + "w": 117 + }, + { + "x": 1093, + "y": 865, + "h": 179, + "w": 179 + } + ] + } + }, + "sizes": { + "large": { + "h": 1854, + "w": 1284, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 831, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 471, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1854, + "width": 1284, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1284, + "h": 719 + }, + { + "x": 0, + "y": 0, + "w": 1284, + "h": 1284 + }, + { + "x": 0, + "y": 0, + "w": 1284, + "h": 1464 + }, + { + "x": 0, + "y": 0, + "w": 927, + "h": 1854 + }, + { + "x": 0, + "y": 0, + "w": 1284, + "h": 1854 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897787808539963392" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/wJYHdignVu", + "expanded_url": "https://x.com/leonidragozin/status/1897787813799579766/photo/1", + "id_str": "1897787808539963392", + "indices": [ + 275, + 298 + ], + "media_key": "3_1897787808539963392", + "media_url_https": "https://pbs.twimg.com/media/GlZL9PsXcAA188n.jpg", + "type": "photo", + "url": "https://t.co/wJYHdignVu", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 554, + "y": 430, + "h": 117, + "w": 117 + }, + { + "x": 1093, + "y": 865, + "h": 179, + "w": 179 + } + ] + }, + "medium": { + "faces": [ + { + "x": 358, + "y": 278, + "h": 75, + "w": 75 + }, + { + "x": 707, + "y": 559, + "h": 115, + "w": 115 + } + ] + }, + "small": { + "faces": [ + { + "x": 203, + "y": 157, + "h": 42, + "w": 42 + }, + { + "x": 400, + "y": 317, + "h": 65, + "w": 65 + } + ] + }, + "orig": { + "faces": [ + { + "x": 554, + "y": 430, + "h": 117, + "w": 117 + }, + { + "x": 1093, + "y": 865, + "h": 179, + "w": 179 + } + ] + } + }, + "sizes": { + "large": { + "h": 1854, + "w": 1284, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 831, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 471, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1854, + "width": 1284, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1284, + "h": 719 + }, + { + "x": 0, + "y": 0, + "w": 1284, + "h": 1284 + }, + { + "x": 0, + "y": 0, + "w": 1284, + "h": 1464 + }, + { + "x": 0, + "y": 0, + "w": 927, + "h": 1854 + }, + { + "x": 0, + "y": 0, + "w": 1284, + "h": 1854 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897787808539963392" + } + } + } + ] + }, + "favorite_count": 33, + "favorited": false, + "full_text": "Wow, the Ukrainian occupation zone in Russia’s Kursk region has been cut into two pieces after the Russians broke through all the way to the Ukrainian border near Kurilovka, as per the latest Deep State update. The southern chunk around Guyevo is thus cut away from the only https://t.co/wJYHdignVu", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 1, + "retweet_count": 10, + "retweeted": false, + "user_id_str": "29010710", + "id_str": "1897787813799579766" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897786683212411048", + "sortIndex": "1897829059325329348", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897786683212411048", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4MjQzMjU5OTI4MjcyNTI3MzY=", + "rest_id": "824325992827252736", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Jan 25 18:40:06 +0000 2017", + "default_profile": false, + "default_profile_image": false, + "description": "Journalist watching Russia for @BBCMonitoring", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "monitoring.bbc.co.uk", + "expanded_url": "https://monitoring.bbc.co.uk/", + "url": "https://t.co/DSwdAzVI4J", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 14004, + "followers_count": 112053, + "friends_count": 3107, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2634, + "location": "United Kingdom ", + "media_count": 2265, + "name": "Francis Scarr", + "normal_followers_count": 112053, + "pinned_tweet_ids_str": [ + "1580066665353519104" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/824325992827252736/1668523345", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1498268248177000454/J-M6GqJl_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "francis_scarr", + "statuses_count": 5914, + "translator_type": "none", + "url": "https://t.co/DSwdAzVI4J", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1554045572872642561", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897786683212411048" + ], + "editable_until_msecs": "1741306179106", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:09:39 +0000 2025", + "conversation_id_str": "1897786683212411048", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "271357635", + "name": "Roger Mosey", + "screen_name": "rogermosey", + "indices": [ + 3, + 14 + ] + }, + { + "id_str": "56565843", + "name": "Gary O'Donoghue", + "screen_name": "BBCBlindGazza", + "indices": [ + 96, + 110 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @rogermosey: “It can be done.” One of our best recruits on the Today programme 30 years ago, @BBCBlindGazza deserves the accolades - and…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897702535437205644", + "quoted_status_permalink": { + "url": "https://t.co/hdIS5cf8dQ", + "expanded": "https://twitter.com/rts_media/status/1897702535437205644", + "display": "x.com/rts_media/stat…" + }, + "reply_count": 0, + "retweet_count": 11, + "retweeted": false, + "user_id_str": "824325992827252736", + "id_str": "1897786683212411048", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897774363123843404", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNzEzNTc2MzU=", + "rest_id": "271357635", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Mar 24 10:25:32 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Master of Selwyn College, Cambridge. Bradfordian. Arsenal fan. Former head of BBC TV News and director of sport.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "bitebackpublishing.com/books/20-thing…", + "expanded_url": "https://www.bitebackpublishing.com/books/20-things-that-would-make-the-news-better", + "url": "https://t.co/OEmNVh5CJo", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 7416, + "followers_count": 12187, + "friends_count": 3377, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 171, + "location": "Cambridge", + "media_count": 1299, + "name": "Roger Mosey", + "normal_followers_count": 12187, + "pinned_tweet_ids_str": [ + "1662823428036997120" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/271357635/1737324206", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1857906746347356160/lNkS7nQ7_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "rogermosey", + "statuses_count": 10775, + "translator_type": "none", + "url": "https://t.co/OEmNVh5CJo", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897774363123843404" + ], + "editable_until_msecs": "1741303241000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5239", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897702535437205644", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2NDY4Mzg0Ng==", + "rest_id": "64683846", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 11 10:56:55 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "The Royal Television Society is for everyone with an interest in TV. Follow us for TV news, events and awards.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "rts.org.uk", + "expanded_url": "http://www.rts.org.uk", + "url": "https://t.co/lqczKBsr0e", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3000, + "followers_count": 32112, + "friends_count": 704, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 269, + "location": "London", + "media_count": 22845, + "name": "Royal Television Society", + "normal_followers_count": 32112, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/64683846/1582806566", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1884288551879127040/ZfzVoa2o_normal.png", + "profile_interstitial_type": "", + "screen_name": "RTS_media", + "statuses_count": 29647, + "translator_type": "none", + "url": "https://t.co/lqczKBsr0e", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897702535437205644" + ], + "editable_until_msecs": "1741286116000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "72514", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://twitter.com\" rel=\"nofollow\">TweetDeck Web App</a>", + "legacy": { + "bookmark_count": 42, + "bookmarked": false, + "created_at": "Thu Mar 06 17:35:16 +0000 2025", + "conversation_id_str": "1897702535437205644", + "display_text_range": [ + 0, + 164 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 154, + 164 + ], + "text": "RTSAwards" + } + ], + "media": [ + { + "display_url": "pic.x.com/8DstK5iqpJ", + "expanded_url": "https://x.com/RTS_media/status/1897702535437205644/video/1", + "id_str": "1897702416788623361", + "indices": [ + 165, + 188 + ], + "media_key": "7_1897702416788623361", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897702416788623361/pu/img/3sKARTsdUvdBtQDa.jpg", + "type": "video", + "url": "https://t.co/8DstK5iqpJ", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 67567, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/pl/Pq88_s6HRN7YdaWv.m3u8?tag=12&v=183" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/480x270/977TwXaHss-Sgs--.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/640x360/GwNrLNTDlgGaM1OX.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/1280x720/CwH5mRB3cErP_uVe.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897702416788623361" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "56565843", + "name": "Gary O'Donoghue", + "screen_name": "BBCBlindGazza", + "indices": [ + 1, + 15 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/8DstK5iqpJ", + "expanded_url": "https://x.com/RTS_media/status/1897702535437205644/video/1", + "id_str": "1897702416788623361", + "indices": [ + 165, + 188 + ], + "media_key": "7_1897702416788623361", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897702416788623361/pu/img/3sKARTsdUvdBtQDa.jpg", + "type": "video", + "url": "https://t.co/8DstK5iqpJ", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 67567, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/pl/Pq88_s6HRN7YdaWv.m3u8?tag=12&v=183" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/480x270/977TwXaHss-Sgs--.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/640x360/GwNrLNTDlgGaM1OX.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897702416788623361/pu/vid/avc1/1280x720/CwH5mRB3cErP_uVe.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897702416788623361" + } + } + } + ] + }, + "favorite_count": 614, + "favorited": false, + "full_text": ".@BBCBlindGazza ends his acceptance speech at last night’s RTS Television Journalism Awards by reflecting on the barriers he faced as a blind broadcaster #RTSAwards https://t.co/8DstK5iqpJ", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 33, + "reply_count": 32, + "retweet_count": 132, + "retweeted": false, + "user_id_str": "64683846", + "id_str": "1897702535437205644" + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Thu Mar 06 22:20:41 +0000 2025", + "conversation_id_str": "1897774363123843404", + "display_text_range": [ + 0, + 182 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "56565843", + "name": "Gary O'Donoghue", + "screen_name": "BBCBlindGazza", + "indices": [ + 80, + 94 + ] + } + ] + }, + "favorite_count": 67, + "favorited": false, + "full_text": "“It can be done.” One of our best recruits on the Today programme 30 years ago, @BBCBlindGazza deserves the accolades - and he’s right about breaking down the barriers of disability.", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1897702535437205644", + "quoted_status_permalink": { + "url": "https://t.co/hdIS5cf8dQ", + "expanded": "https://twitter.com/rts_media/status/1897702535437205644", + "display": "x.com/rts_media/stat…" + }, + "reply_count": 4, + "retweet_count": 11, + "retweeted": false, + "user_id_str": "271357635", + "id_str": "1897774363123843404" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897786039327994082", + "sortIndex": "1897829059325329347", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897786039327994082", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTAzODc2OA==", + "rest_id": "19038768", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Jan 15 20:59:03 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Dad | Journalist, analyst, media executive, live event creator & host | Former: Defense One; Politico Live; NBC/MSNBC, FP, NJ, Stripes, Boston Globe | 🌴😎⛷️", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 30235, + "followers_count": 62462, + "friends_count": 6886, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1695, + "location": "Washington, DC", + "media_count": 10412, + "name": "Kevin Baron", + "normal_followers_count": 62462, + "pinned_tweet_ids_str": [ + "1349745883592740864" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/19038768/1644526621", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1839040006213472256/63eblzy5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DefenseBaron", + "statuses_count": 117271, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897786039327994082" + ], + "editable_until_msecs": "1741306025000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "774", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:07:05 +0000 2025", + "conversation_id_str": "1897786039327994082", + "display_text_range": [ + 0, + 268 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1976143068", + "name": "Emmanuel Macron", + "screen_name": "EmmanuelMacron", + "indices": [ + 220, + 235 + ] + } + ] + }, + "favorite_count": 5, + "favorited": false, + "full_text": "“Europe’s future cannot be decided in Washington or Moscow. And yes, the threat is back in the East, and the innocence, as it were, of the last 30 years, since the fall of the Berlin Wall, is now a thing of the past.” - @EmmanuelMacron in today’s extraordinary speech.", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "19038768", + "id_str": "1897786039327994082" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897784654133879148", + "sortIndex": "1897829059325329346", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897784654133879148", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDM0NTMxNw==", + "rest_id": "54345317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 06 21:51:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Fellow for Europe @CFR_org | Historian & Political Scientist | #Germany #Europe #Russia #EasternEurope #Security | Views my own, RT ≠ endorsement", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org/expert/liana-f…", + "expanded_url": "https://www.cfr.org/expert/liana-fix", + "url": "https://t.co/kNfe79pLBh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25474, + "followers_count": 12927, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 349, + "location": "Washington, DC", + "media_count": 443, + "name": "Dr. Liana Fix", + "normal_followers_count": 12927, + "pinned_tweet_ids_str": [ + "1882796941785846098" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54345317/1654117548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1573991186603425792/g-ltQdRG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LianaFix", + "statuses_count": 20500, + "translator_type": "none", + "url": "https://t.co/kNfe79pLBh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897784654133879148" + ], + "editable_until_msecs": "1741305695000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "479", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897704538905493529", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzQ2OTQ5Mg==", + "rest_id": "17469492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 18 19:55:35 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Foreign policy news and analysis. CFR takes no institutional positions on policy. Follows, RT ≠ endorsements. \n\n✉️ Subscribe for more: https://t.co/ehd5lKGQmS", + "entities": { + "description": { + "urls": [ + { + "display_url": "cfr.org/newsletters", + "expanded_url": "http://cfr.org/newsletters", + "url": "https://t.co/ehd5lKGQmS", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org", + "expanded_url": "http://www.cfr.org", + "url": "https://t.co/8YT4IpZMQm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1962, + "followers_count": 551604, + "friends_count": 156, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8675, + "location": "New York, NY", + "media_count": 12093, + "name": "Council on Foreign Relations", + "normal_followers_count": 551604, + "pinned_tweet_ids_str": [ + "1889315231718920609" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17469492/1666120503", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478033308290367488/0-Chy3gD_normal.png", + "profile_interstitial_type": "", + "screen_name": "CFR_org", + "statuses_count": 82247, + "translator_type": "none", + "url": "https://t.co/8YT4IpZMQm", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1648314951432282112", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897704538905493529" + ], + "editable_until_msecs": "1741286594000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5351", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 17:43:14 +0000 2025", + "conversation_id_str": "1897704537089036692", + "display_text_range": [ + 0, + 197 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1140392712581111808", + "name": "Keith Kellogg", + "screen_name": "generalkellogg", + "indices": [ + 53, + 68 + ] + }, + { + "id_str": "50011708", + "name": "Margaret Brennan", + "screen_name": "margbrennan", + "indices": [ + 151, + 163 + ] + } + ] + }, + "favorite_count": 8, + "favorited": false, + "full_text": "Session I: U.S. Special Envoy for Ukraine and Russia @generalkellogg discussed the current state of the war in Ukraine and how the war might end with @margbrennan and CFR President Michael Froman.", + "in_reply_to_screen_name": "CFR_org", + "in_reply_to_status_id_str": "1897704537089036692", + "in_reply_to_user_id_str": "17469492", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 1, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "17469492", + "id_str": "1897704538905493529" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:01:35 +0000 2025", + "conversation_id_str": "1897784654133879148", + "display_text_range": [ + 0, + 14 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "Worth watching", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897704538905493529", + "quoted_status_permalink": { + "url": "https://t.co/wDOqcaYHOZ", + "expanded": "https://twitter.com/cfr_org/status/1897704538905493529", + "display": "x.com/cfr_org/status…" + }, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "54345317", + "id_str": "1897784654133879148" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897784629069070820", + "sortIndex": "1897829059325329345", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897784629069070820", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDM0NTMxNw==", + "rest_id": "54345317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 06 21:51:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Fellow for Europe @CFR_org | Historian & Political Scientist | #Germany #Europe #Russia #EasternEurope #Security | Views my own, RT ≠ endorsement", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org/expert/liana-f…", + "expanded_url": "https://www.cfr.org/expert/liana-fix", + "url": "https://t.co/kNfe79pLBh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25474, + "followers_count": 12927, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 349, + "location": "Washington, DC", + "media_count": 443, + "name": "Dr. Liana Fix", + "normal_followers_count": 12927, + "pinned_tweet_ids_str": [ + "1882796941785846098" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54345317/1654117548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1573991186603425792/g-ltQdRG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LianaFix", + "statuses_count": 20500, + "translator_type": "none", + "url": "https://t.co/kNfe79pLBh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/S6SdZkAhN9", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "As the war in Ukraine enters its fourth year, the international context is changing rapidly, including the prospects for a negotiated settlement. Much is at stake, and it is essential that the challe…", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.cfr.org", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "17469492", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "cfr.org", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 207, + "green": 109, + "red": 14 + }, + "percentage": 38.39 + }, + { + "rgb": { + "blue": 188, + "green": 180, + "red": 186 + }, + "percentage": 17.7 + }, + { + "rgb": { + "blue": 49, + "green": 15, + "red": 2 + }, + "percentage": 13.36 + }, + { + "rgb": { + "blue": 44, + "green": 176, + "red": 197 + }, + "percentage": 9.88 + }, + { + "rgb": { + "blue": 14, + "green": 2, + "red": 139 + }, + "percentage": 7.92 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Securing Ukraine's Future", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 207, + "green": 109, + "red": 14 + }, + "percentage": 38.39 + }, + { + "rgb": { + "blue": 188, + "green": 180, + "red": 186 + }, + "percentage": 17.7 + }, + { + "rgb": { + "blue": 49, + "green": 15, + "red": 2 + }, + "percentage": 13.36 + }, + { + "rgb": { + "blue": 44, + "green": 176, + "red": 197 + }, + "percentage": 9.88 + }, + { + "rgb": { + "blue": 14, + "green": 2, + "red": 139 + }, + "percentage": 7.92 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 207, + "green": 109, + "red": 14 + }, + "percentage": 38.39 + }, + { + "rgb": { + "blue": 188, + "green": 180, + "red": 186 + }, + "percentage": 17.7 + }, + { + "rgb": { + "blue": 49, + "green": 15, + "red": 2 + }, + "percentage": 13.36 + }, + { + "rgb": { + "blue": 44, + "green": 176, + "red": 197 + }, + "percentage": 9.88 + }, + { + "rgb": { + "blue": 14, + "green": 2, + "red": 139 + }, + "percentage": 7.92 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/S6SdZkAhN9", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/S6SdZkAhN9", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzQ2OTQ5Mg==", + "rest_id": "17469492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 18 19:55:35 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Foreign policy news and analysis. CFR takes no institutional positions on policy. Follows, RT ≠ endorsements. \n\n✉️ Subscribe for more: https://t.co/ehd5lKGQmS", + "entities": { + "description": { + "urls": [ + { + "display_url": "cfr.org/newsletters", + "expanded_url": "http://cfr.org/newsletters", + "url": "https://t.co/ehd5lKGQmS", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org", + "expanded_url": "http://www.cfr.org", + "url": "https://t.co/8YT4IpZMQm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1962, + "followers_count": 551604, + "friends_count": 156, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8675, + "location": "New York, NY", + "media_count": 12093, + "name": "Council on Foreign Relations", + "normal_followers_count": 551604, + "pinned_tweet_ids_str": [ + "1889315231718920609" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17469492/1666120503", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478033308290367488/0-Chy3gD_normal.png", + "profile_interstitial_type": "", + "screen_name": "CFR_org", + "statuses_count": 82247, + "translator_type": "none", + "url": "https://t.co/8YT4IpZMQm", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1648314951432282112", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897784629069070820" + ], + "editable_until_msecs": "1741305689360", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:01:29 +0000 2025", + "conversation_id_str": "1897784629069070820", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "17469492", + "name": "Council on Foreign Relations", + "screen_name": "CFR_org", + "indices": [ + 3, + 11 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @CFR_org: CFR's Special Initiative on Securing Ukraine’s Future hosted a symposium on the war in Ukraine. \n\nPanelists explored three cri…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 12, + "retweeted": false, + "user_id_str": "54345317", + "id_str": "1897784629069070820", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897704537089036692", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzQ2OTQ5Mg==", + "rest_id": "17469492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 18 19:55:35 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Foreign policy news and analysis. CFR takes no institutional positions on policy. Follows, RT ≠ endorsements. \n\n✉️ Subscribe for more: https://t.co/ehd5lKGQmS", + "entities": { + "description": { + "urls": [ + { + "display_url": "cfr.org/newsletters", + "expanded_url": "http://cfr.org/newsletters", + "url": "https://t.co/ehd5lKGQmS", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org", + "expanded_url": "http://www.cfr.org", + "url": "https://t.co/8YT4IpZMQm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1962, + "followers_count": 551604, + "friends_count": 156, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8675, + "location": "New York, NY", + "media_count": 12093, + "name": "Council on Foreign Relations", + "normal_followers_count": 551604, + "pinned_tweet_ids_str": [ + "1889315231718920609" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17469492/1666120503", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478033308290367488/0-Chy3gD_normal.png", + "profile_interstitial_type": "", + "screen_name": "CFR_org", + "statuses_count": 82247, + "translator_type": "none", + "url": "https://t.co/8YT4IpZMQm", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1648314951432282112", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/S6SdZkAhN9", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "As the war in Ukraine enters its fourth year, the international context is changing rapidly, including the prospects for a negotiated settlement. Much is at stake, and it is essential that the challe…", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.cfr.org", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "17469492", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "cfr.org", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 207, + "green": 109, + "red": 14 + }, + "percentage": 38.39 + }, + { + "rgb": { + "blue": 188, + "green": 180, + "red": 186 + }, + "percentage": 17.7 + }, + { + "rgb": { + "blue": 49, + "green": 15, + "red": 2 + }, + "percentage": 13.36 + }, + { + "rgb": { + "blue": 44, + "green": 176, + "red": 197 + }, + "percentage": 9.88 + }, + { + "rgb": { + "blue": 14, + "green": 2, + "red": 139 + }, + "percentage": 7.92 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Securing Ukraine's Future", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 207, + "green": 109, + "red": 14 + }, + "percentage": 38.39 + }, + { + "rgb": { + "blue": 188, + "green": 180, + "red": 186 + }, + "percentage": 17.7 + }, + { + "rgb": { + "blue": 49, + "green": 15, + "red": 2 + }, + "percentage": 13.36 + }, + { + "rgb": { + "blue": 44, + "green": 176, + "red": 197 + }, + "percentage": 9.88 + }, + { + "rgb": { + "blue": 14, + "green": 2, + "red": 139 + }, + "percentage": 7.92 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 207, + "green": 109, + "red": 14 + }, + "percentage": 38.39 + }, + { + "rgb": { + "blue": 188, + "green": 180, + "red": 186 + }, + "percentage": 17.7 + }, + { + "rgb": { + "blue": 49, + "green": 15, + "red": 2 + }, + "percentage": 13.36 + }, + { + "rgb": { + "blue": 44, + "green": 176, + "red": 197 + }, + "percentage": 9.88 + }, + { + "rgb": { + "blue": 14, + "green": 2, + "red": 139 + }, + "percentage": 7.92 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/S6SdZkAhN9", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 900, + "width": 1600, + "url": "https://pbs.twimg.com/card_img/1897648893124370432/P5uwvmFj?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/S6SdZkAhN9", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzQ2OTQ5Mg==", + "rest_id": "17469492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 18 19:55:35 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Foreign policy news and analysis. CFR takes no institutional positions on policy. Follows, RT ≠ endorsements. \n\n✉️ Subscribe for more: https://t.co/ehd5lKGQmS", + "entities": { + "description": { + "urls": [ + { + "display_url": "cfr.org/newsletters", + "expanded_url": "http://cfr.org/newsletters", + "url": "https://t.co/ehd5lKGQmS", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org", + "expanded_url": "http://www.cfr.org", + "url": "https://t.co/8YT4IpZMQm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1962, + "followers_count": 551604, + "friends_count": 156, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8675, + "location": "New York, NY", + "media_count": 12093, + "name": "Council on Foreign Relations", + "normal_followers_count": 551604, + "pinned_tweet_ids_str": [ + "1889315231718920609" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17469492/1666120503", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478033308290367488/0-Chy3gD_normal.png", + "profile_interstitial_type": "", + "screen_name": "CFR_org", + "statuses_count": 82247, + "translator_type": "none", + "url": "https://t.co/8YT4IpZMQm", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1648314951432282112", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897704537089036692" + ], + "editable_until_msecs": "1741286593000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8114", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Thu Mar 06 17:43:13 +0000 2025", + "conversation_id_str": "1897704537089036692", + "display_text_range": [ + 0, + 195 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "cfr.org/event/securing…", + "expanded_url": "https://www.cfr.org/event/securing-ukraines-future", + "url": "https://t.co/S6SdZkAhN9", + "indices": [ + 172, + 195 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 19, + "favorited": false, + "full_text": "CFR's Special Initiative on Securing Ukraine’s Future hosted a symposium on the war in Ukraine. \n\nPanelists explored three critical issues for securing Ukraine's future ⬇️ https://t.co/S6SdZkAhN9", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 5, + "retweet_count": 12, + "retweeted": false, + "user_id_str": "17469492", + "id_str": "1897704537089036692" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897784610806784205", + "sortIndex": "1897829059325329344", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897784610806784205", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDM0NTMxNw==", + "rest_id": "54345317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 06 21:51:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Fellow for Europe @CFR_org | Historian & Political Scientist | #Germany #Europe #Russia #EasternEurope #Security | Views my own, RT ≠ endorsement", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org/expert/liana-f…", + "expanded_url": "https://www.cfr.org/expert/liana-fix", + "url": "https://t.co/kNfe79pLBh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25474, + "followers_count": 12927, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 349, + "location": "Washington, DC", + "media_count": 443, + "name": "Dr. Liana Fix", + "normal_followers_count": 12927, + "pinned_tweet_ids_str": [ + "1882796941785846098" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54345317/1654117548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1573991186603425792/g-ltQdRG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LianaFix", + "statuses_count": 20500, + "translator_type": "none", + "url": "https://t.co/kNfe79pLBh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897784610806784205" + ], + "editable_until_msecs": "1741305685006", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:01:25 +0000 2025", + "conversation_id_str": "1897784610806784205", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "17469492", + "name": "Council on Foreign Relations", + "screen_name": "CFR_org", + "indices": [ + 3, + 11 + ] + }, + { + "id_str": "1140392712581111808", + "name": "Keith Kellogg", + "screen_name": "generalkellogg", + "indices": [ + 66, + 81 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @CFR_org: Session I: U.S. Special Envoy for Ukraine and Russia @generalkellogg discussed the current state of the war in Ukraine and ho…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "54345317", + "id_str": "1897784610806784205", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897704538905493529", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzQ2OTQ5Mg==", + "rest_id": "17469492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 18 19:55:35 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Foreign policy news and analysis. CFR takes no institutional positions on policy. Follows, RT ≠ endorsements. \n\n✉️ Subscribe for more: https://t.co/ehd5lKGQmS", + "entities": { + "description": { + "urls": [ + { + "display_url": "cfr.org/newsletters", + "expanded_url": "http://cfr.org/newsletters", + "url": "https://t.co/ehd5lKGQmS", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org", + "expanded_url": "http://www.cfr.org", + "url": "https://t.co/8YT4IpZMQm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1962, + "followers_count": 551604, + "friends_count": 156, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8675, + "location": "New York, NY", + "media_count": 12093, + "name": "Council on Foreign Relations", + "normal_followers_count": 551604, + "pinned_tweet_ids_str": [ + "1889315231718920609" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17469492/1666120503", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478033308290367488/0-Chy3gD_normal.png", + "profile_interstitial_type": "", + "screen_name": "CFR_org", + "statuses_count": 82247, + "translator_type": "none", + "url": "https://t.co/8YT4IpZMQm", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1648314951432282112", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897704538905493529" + ], + "editable_until_msecs": "1741286594000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5351", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 17:43:14 +0000 2025", + "conversation_id_str": "1897704537089036692", + "display_text_range": [ + 0, + 197 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1140392712581111808", + "name": "Keith Kellogg", + "screen_name": "generalkellogg", + "indices": [ + 53, + 68 + ] + }, + { + "id_str": "50011708", + "name": "Margaret Brennan", + "screen_name": "margbrennan", + "indices": [ + 151, + 163 + ] + } + ] + }, + "favorite_count": 8, + "favorited": false, + "full_text": "Session I: U.S. Special Envoy for Ukraine and Russia @generalkellogg discussed the current state of the war in Ukraine and how the war might end with @margbrennan and CFR President Michael Froman.", + "in_reply_to_screen_name": "CFR_org", + "in_reply_to_status_id_str": "1897704537089036692", + "in_reply_to_user_id_str": "17469492", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 1, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "17469492", + "id_str": "1897704538905493529" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897784592507261194", + "sortIndex": "1897829059325329343", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897784592507261194", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDM0NTMxNw==", + "rest_id": "54345317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 06 21:51:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Fellow for Europe @CFR_org | Historian & Political Scientist | #Germany #Europe #Russia #EasternEurope #Security | Views my own, RT ≠ endorsement", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org/expert/liana-f…", + "expanded_url": "https://www.cfr.org/expert/liana-fix", + "url": "https://t.co/kNfe79pLBh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25474, + "followers_count": 12927, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 349, + "location": "Washington, DC", + "media_count": 443, + "name": "Dr. Liana Fix", + "normal_followers_count": 12927, + "pinned_tweet_ids_str": [ + "1882796941785846098" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54345317/1654117548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1573991186603425792/g-ltQdRG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LianaFix", + "statuses_count": 20500, + "translator_type": "none", + "url": "https://t.co/kNfe79pLBh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897784592507261194" + ], + "editable_until_msecs": "1741305680643", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:01:20 +0000 2025", + "conversation_id_str": "1897784592507261194", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "17469492", + "name": "Council on Foreign Relations", + "screen_name": "CFR_org", + "indices": [ + 3, + 11 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @CFR_org: The Council’s Special Initiative on the war in Ukraine is a new initiative which provides timely, informed analysis and practi…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "54345317", + "id_str": "1897784592507261194", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897705530283446772", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzQ2OTQ5Mg==", + "rest_id": "17469492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 18 19:55:35 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Foreign policy news and analysis. CFR takes no institutional positions on policy. Follows, RT ≠ endorsements. \n\n✉️ Subscribe for more: https://t.co/ehd5lKGQmS", + "entities": { + "description": { + "urls": [ + { + "display_url": "cfr.org/newsletters", + "expanded_url": "http://cfr.org/newsletters", + "url": "https://t.co/ehd5lKGQmS", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org", + "expanded_url": "http://www.cfr.org", + "url": "https://t.co/8YT4IpZMQm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1962, + "followers_count": 551604, + "friends_count": 156, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8675, + "location": "New York, NY", + "media_count": 12093, + "name": "Council on Foreign Relations", + "normal_followers_count": 551604, + "pinned_tweet_ids_str": [ + "1889315231718920609" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17469492/1666120503", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478033308290367488/0-Chy3gD_normal.png", + "profile_interstitial_type": "", + "screen_name": "CFR_org", + "statuses_count": 82247, + "translator_type": "none", + "url": "https://t.co/8YT4IpZMQm", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1648314951432282112", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897705530283446772" + ], + "editable_until_msecs": "1741286830000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2796", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 17:47:10 +0000 2025", + "conversation_id_str": "1897704537089036692", + "display_text_range": [ + 0, + 258 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/n8LcIzTAiE", + "expanded_url": "https://x.com/CFR_org/status/1897705530283446772/photo/1", + "id_str": "1897705511463661568", + "indices": [ + 259, + 282 + ], + "media_key": "3_1897705511463661568", + "media_url_https": "https://pbs.twimg.com/media/GlYBG7MXsAAxB_R.jpg", + "type": "photo", + "url": "https://t.co/n8LcIzTAiE", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 15, + "y": 168, + "h": 50, + "w": 50 + }, + { + "x": 981, + "y": 652, + "h": 63, + "w": 63 + }, + { + "x": 1125, + "y": 618, + "h": 78, + "w": 78 + } + ] + }, + "medium": { + "faces": [ + { + "x": 12, + "y": 140, + "h": 41, + "w": 41 + }, + { + "x": 817, + "y": 543, + "h": 52, + "w": 52 + }, + { + "x": 937, + "y": 515, + "h": 65, + "w": 65 + } + ] + }, + "small": { + "faces": [ + { + "x": 7, + "y": 79, + "h": 23, + "w": 23 + }, + { + "x": 463, + "y": 307, + "h": 29, + "w": 29 + }, + { + "x": 531, + "y": 291, + "h": 36, + "w": 36 + } + ] + }, + "orig": { + "faces": [ + { + "x": 15, + "y": 168, + "h": 50, + "w": 50 + }, + { + "x": 981, + "y": 652, + "h": 63, + "w": 63 + }, + { + "x": 1125, + "y": 618, + "h": 78, + "w": 78 + } + ] + } + }, + "sizes": { + "large": { + "h": 1026, + "w": 1440, + "resize": "fit" + }, + "medium": { + "h": 855, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 485, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1026, + "width": 1440, + "focus_rects": [ + { + "x": 0, + "y": 220, + "w": 1440, + "h": 806 + }, + { + "x": 243, + "y": 0, + "w": 1026, + "h": 1026 + }, + { + "x": 306, + "y": 0, + "w": 900, + "h": 1026 + }, + { + "x": 500, + "y": 0, + "w": 513, + "h": 1026 + }, + { + "x": 0, + "y": 0, + "w": 1440, + "h": 1026 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897705511463661568" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "on.cfr.org/43qKjJI", + "expanded_url": "https://on.cfr.org/43qKjJI", + "url": "https://t.co/nQ1edeGztQ", + "indices": [ + 235, + 258 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/n8LcIzTAiE", + "expanded_url": "https://x.com/CFR_org/status/1897705530283446772/photo/1", + "id_str": "1897705511463661568", + "indices": [ + 259, + 282 + ], + "media_key": "3_1897705511463661568", + "media_url_https": "https://pbs.twimg.com/media/GlYBG7MXsAAxB_R.jpg", + "type": "photo", + "url": "https://t.co/n8LcIzTAiE", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 15, + "y": 168, + "h": 50, + "w": 50 + }, + { + "x": 981, + "y": 652, + "h": 63, + "w": 63 + }, + { + "x": 1125, + "y": 618, + "h": 78, + "w": 78 + } + ] + }, + "medium": { + "faces": [ + { + "x": 12, + "y": 140, + "h": 41, + "w": 41 + }, + { + "x": 817, + "y": 543, + "h": 52, + "w": 52 + }, + { + "x": 937, + "y": 515, + "h": 65, + "w": 65 + } + ] + }, + "small": { + "faces": [ + { + "x": 7, + "y": 79, + "h": 23, + "w": 23 + }, + { + "x": 463, + "y": 307, + "h": 29, + "w": 29 + }, + { + "x": 531, + "y": 291, + "h": 36, + "w": 36 + } + ] + }, + "orig": { + "faces": [ + { + "x": 15, + "y": 168, + "h": 50, + "w": 50 + }, + { + "x": 981, + "y": 652, + "h": 63, + "w": 63 + }, + { + "x": 1125, + "y": 618, + "h": 78, + "w": 78 + } + ] + } + }, + "sizes": { + "large": { + "h": 1026, + "w": 1440, + "resize": "fit" + }, + "medium": { + "h": 855, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 485, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1026, + "width": 1440, + "focus_rects": [ + { + "x": 0, + "y": 220, + "w": 1440, + "h": 806 + }, + { + "x": 243, + "y": 0, + "w": 1026, + "h": 1026 + }, + { + "x": 306, + "y": 0, + "w": 900, + "h": 1026 + }, + { + "x": 500, + "y": 0, + "w": 513, + "h": 1026 + }, + { + "x": 0, + "y": 0, + "w": 1440, + "h": 1026 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897705511463661568" + } + } + } + ] + }, + "favorite_count": 4, + "favorited": false, + "full_text": "The Council’s Special Initiative on the war in Ukraine is a new initiative which provides timely, informed analysis and practical policy recommendations for U.S. policymakers and the American public.\n\nLearn more about the initiative➡️ https://t.co/nQ1edeGztQ https://t.co/n8LcIzTAiE", + "in_reply_to_screen_name": "CFR_org", + "in_reply_to_status_id_str": "1897705383948320929", + "in_reply_to_user_id_str": "17469492", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "17469492", + "id_str": "1897705530283446772" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897784572982521937", + "sortIndex": "1897829059325329342", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897784572982521937", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NDM0NTMxNw==", + "rest_id": "54345317", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 06 21:51:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Fellow for Europe @CFR_org | Historian & Political Scientist | #Germany #Europe #Russia #EasternEurope #Security | Views my own, RT ≠ endorsement", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org/expert/liana-f…", + "expanded_url": "https://www.cfr.org/expert/liana-fix", + "url": "https://t.co/kNfe79pLBh", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 25474, + "followers_count": 12927, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 349, + "location": "Washington, DC", + "media_count": 443, + "name": "Dr. Liana Fix", + "normal_followers_count": 12927, + "pinned_tweet_ids_str": [ + "1882796941785846098" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/54345317/1654117548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1573991186603425792/g-ltQdRG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "LianaFix", + "statuses_count": 20500, + "translator_type": "none", + "url": "https://t.co/kNfe79pLBh", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897784572982521937" + ], + "editable_until_msecs": "1741305675988", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 23:01:15 +0000 2025", + "conversation_id_str": "1897784572982521937", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "17469492", + "name": "Council on Foreign Relations", + "screen_name": "CFR_org", + "indices": [ + 3, + 11 + ] + }, + { + "id_str": "17860088", + "name": "Dr Alina Polyakova", + "screen_name": "apolyakova", + "indices": [ + 83, + 94 + ] + }, + { + "id_str": "54345317", + "name": "Dr. Liana Fix", + "screen_name": "LianaFix", + "indices": [ + 100, + 109 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @CFR_org: Session II: Panelists Philip M. Breedlove, Fiona Hill, Pavlo Kilmkin, @apolyakova, and @LianaFix discussed Ukraine’s role in E…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "54345317", + "id_str": "1897784572982521937", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897704540486393979", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzQ2OTQ5Mg==", + "rest_id": "17469492", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 18 19:55:35 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Foreign policy news and analysis. CFR takes no institutional positions on policy. Follows, RT ≠ endorsements. \n\n✉️ Subscribe for more: https://t.co/ehd5lKGQmS", + "entities": { + "description": { + "urls": [ + { + "display_url": "cfr.org/newsletters", + "expanded_url": "http://cfr.org/newsletters", + "url": "https://t.co/ehd5lKGQmS", + "indices": [ + 135, + 158 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "cfr.org", + "expanded_url": "http://www.cfr.org", + "url": "https://t.co/8YT4IpZMQm", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1962, + "followers_count": 551604, + "friends_count": 156, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8675, + "location": "New York, NY", + "media_count": 12093, + "name": "Council on Foreign Relations", + "normal_followers_count": 551604, + "pinned_tweet_ids_str": [ + "1889315231718920609" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17469492/1666120503", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1478033308290367488/0-Chy3gD_normal.png", + "profile_interstitial_type": "", + "screen_name": "CFR_org", + "statuses_count": 82247, + "translator_type": "none", + "url": "https://t.co/8YT4IpZMQm", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1648314951432282112", + "professional_type": "Business", + "category": [ + { + "id": 688, + "name": "Non-Governmental & Nonprofit Organization ", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897704540486393979" + ], + "editable_until_msecs": "1741286594000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "891", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 17:43:14 +0000 2025", + "conversation_id_str": "1897704537089036692", + "display_text_range": [ + 0, + 218 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "17860088", + "name": "Dr Alina Polyakova", + "screen_name": "apolyakova", + "indices": [ + 70, + 81 + ] + }, + { + "id_str": "54345317", + "name": "Dr. Liana Fix", + "screen_name": "LianaFix", + "indices": [ + 87, + 96 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "Session II: Panelists Philip M. Breedlove, Fiona Hill, Pavlo Kilmkin, @apolyakova, and @LianaFix discussed Ukraine’s role in Europe, how the war has affected the region’s security, and how the NATO alliance may change.", + "in_reply_to_screen_name": "CFR_org", + "in_reply_to_status_id_str": "1897704538905493529", + "in_reply_to_user_id_str": "17469492", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "17469492", + "id_str": "1897704540486393979" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897783993279373665", + "sortIndex": "1897829059325329341", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897783993279373665", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDA1ODQ2NTAwNTgzMzIxNjAx", + "rest_id": "1005846500583321601", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jun 10 16:17:48 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Dad. Husband. Vet. NYT Best-selling Author. Ex NSC/WH Staff. Senior Advisor @votevets. Dr. & Senior Fellow FPI, SAIS, JHU. @avindman.bsky.social", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "avindman.com", + "expanded_url": "https://avindman.com", + "url": "https://t.co/Zb1dWqElpQ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22353, + "followers_count": 912797, + "friends_count": 1841, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5465, + "location": "Florida, USA", + "media_count": 514, + "name": "Alexander S. Vindman 🇺🇸", + "normal_followers_count": 912797, + "pinned_tweet_ids_str": [ + "1897410895736942676" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1005846500583321601/1732284931", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1438653431837872135/6170zRMd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AVindman", + "statuses_count": 8700, + "translator_type": "none", + "url": "https://t.co/Zb1dWqElpQ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1469829466885132297", + "professional_type": "Business", + "category": [ + { + "id": 956, + "name": "Writer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/rosSApojem", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/MEMZDDDit24", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 158, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=280x280" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "description", + "value": { + "string_value": "Vote on Today's Poll: https://www.smerconish.com/daily-poll/ Subscribe to The Smerconish.com Daily Newsletter: https://loom.ly/8oqcf-0", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Vindman: Trump Is Doing the Exact Opposite of What is Needed in...", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/rosSApojem", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 202, + "green": 204, + "red": 223 + }, + "percentage": 22.43 + }, + { + "rgb": { + "blue": 102, + "green": 126, + "red": 189 + }, + "percentage": 18.7 + }, + { + "rgb": { + "blue": 46, + "green": 51, + "red": 61 + }, + "percentage": 11.24 + }, + { + "rgb": { + "blue": 190, + "green": 68, + "red": 86 + }, + "percentage": 7.83 + }, + { + "rgb": { + "blue": 244, + "green": 5, + "red": 186 + }, + "percentage": 5.76 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/rosSApojem", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79543035, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77913, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79543035, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897783993279373665" + ], + "editable_until_msecs": "1741305537776", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:58:57 +0000 2025", + "conversation_id_str": "1897783993279373665", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "22677427", + "name": "Michael Smerconish", + "screen_name": "smerconish", + "indices": [ + 3, + 14 + ] + }, + { + "id_str": "1005846500583321601", + "name": "Alexander S. Vindman 🇺🇸", + "screen_name": "AVindman", + "indices": [ + 18, + 27 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @smerconish: . @AVindman , retired United States Army lieutenant colonel and former Director of European Affairs for the U.S. National S…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 32, + "retweeted": false, + "user_id_str": "1005846500583321601", + "id_str": "1897783993279373665", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897734154546016722", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjY3NzQyNw==", + "rest_id": "22677427", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Mar 03 20:52:50 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "SiriusXM POTUS Channel 124 9am-12 ET daily, Encore 9pm-12 ET. CNN Saturdays 9am ET. https://t.co/skTNHiaJtB", + "entities": { + "description": { + "urls": [ + { + "display_url": "linktr.ee/smerconish", + "expanded_url": "https://linktr.ee/smerconish", + "url": "https://t.co/skTNHiaJtB", + "indices": [ + 84, + 107 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "smerconish.com", + "expanded_url": "http://www.smerconish.com", + "url": "https://t.co/R452ZD6jEo", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1773, + "followers_count": 238320, + "friends_count": 3270, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1852, + "location": "Philadelphia, PA", + "media_count": 7974, + "name": "Michael Smerconish", + "normal_followers_count": 238320, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/22677427/1640024928", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1864388950736994304/CdJ7NNdG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "smerconish", + "statuses_count": 35559, + "translator_type": "none", + "url": "https://t.co/R452ZD6jEo", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1583808892294860801", + "professional_type": "Creator", + "category": [ + { + "id": 933, + "name": "Media Personality", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/rosSApojem", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/MEMZDDDit24", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 158, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=280x280" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "description", + "value": { + "string_value": "Vote on Today's Poll: https://www.smerconish.com/daily-poll/ Subscribe to The Smerconish.com Daily Newsletter: https://loom.ly/8oqcf-0", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Vindman: Trump Is Doing the Exact Opposite of What is Needed in...", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/rosSApojem", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 202, + "green": 204, + "red": 223 + }, + "percentage": 22.43 + }, + { + "rgb": { + "blue": 102, + "green": 126, + "red": 189 + }, + "percentage": 18.7 + }, + { + "rgb": { + "blue": 46, + "green": 51, + "red": 61 + }, + "percentage": 11.24 + }, + { + "rgb": { + "blue": 190, + "green": 68, + "red": 86 + }, + "percentage": 7.83 + }, + { + "rgb": { + "blue": 244, + "green": 5, + "red": 186 + }, + "percentage": 5.76 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897733602164563968/itZSJ3C8?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/rosSApojem", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79543035, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77913, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79543035, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897734154546016722" + ], + "editable_until_msecs": "1741293655000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "30157", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Thu Mar 06 19:40:55 +0000 2025", + "conversation_id_str": "1897734154546016722", + "display_text_range": [ + 0, + 272 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 154, + 160 + ], + "text": "Trump" + }, + { + "indices": [ + 210, + 218 + ], + "text": "Ukraine" + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtube.com/watch?v=MEMZDD…", + "expanded_url": "https://www.youtube.com/watch?v=MEMZDDDit24", + "url": "https://t.co/rosSApojem", + "indices": [ + 249, + 272 + ] + } + ], + "user_mentions": [ + { + "id_str": "1005846500583321601", + "name": "Alexander S. Vindman 🇺🇸", + "screen_name": "AVindman", + "indices": [ + 2, + 11 + ] + } + ] + }, + "favorite_count": 143, + "favorited": false, + "full_text": ". @AVindman , retired United States Army lieutenant colonel and former Director of European Affairs for the U.S. National Security Council, believes that #Trump is doing the exact opposite of what is needed in #Ukraine.\n\nWatch the discussion here 🎥 https://t.co/rosSApojem", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 58, + "retweet_count": 32, + "retweeted": false, + "user_id_str": "22677427", + "id_str": "1897734154546016722" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897783589380444561", + "sortIndex": "1897829059325329340", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897783589380444561", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/HNUC8SmzWo", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 225, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "\"I will say that we've made a lot of progress with Ukraine and a lot of progress with Russia over the last couple of days and it'd be great to bring (the war) to an end,\" U.S. President Donald Trump...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "kyivindependent.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 480, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "1462548977367359490", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 67, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "kyivindependent.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 49, + "green": 33, + "red": 20 + }, + "percentage": 45.46 + }, + { + "rgb": { + "blue": 224, + "green": 219, + "red": 208 + }, + "percentage": 17.67 + }, + { + "rgb": { + "blue": 118, + "green": 145, + "red": 205 + }, + "percentage": 7.28 + }, + { + "rgb": { + "blue": 38, + "green": 44, + "red": 43 + }, + "percentage": 3.66 + }, + { + "rgb": { + "blue": 243, + "green": 220, + "red": 97 + }, + "percentage": 3.29 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "'We've made a lot of progress' — Trump says US on track to peace deal with Ukraine, Russia", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 49, + "green": 33, + "red": 20 + }, + "percentage": 45.46 + }, + { + "rgb": { + "blue": 224, + "green": 219, + "red": 208 + }, + "percentage": 17.67 + }, + { + "rgb": { + "blue": 118, + "green": 145, + "red": 205 + }, + "percentage": 7.28 + }, + { + "rgb": { + "blue": 38, + "green": 44, + "red": 43 + }, + "percentage": 3.66 + }, + { + "rgb": { + "blue": 243, + "green": 220, + "red": 97 + }, + "percentage": 3.29 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 49, + "green": 33, + "red": 20 + }, + "percentage": 45.46 + }, + { + "rgb": { + "blue": 224, + "green": 219, + "red": 208 + }, + "percentage": 17.67 + }, + { + "rgb": { + "blue": 118, + "green": 145, + "red": 205 + }, + "percentage": 7.28 + }, + { + "rgb": { + "blue": 38, + "green": 44, + "red": 43 + }, + "percentage": 3.66 + }, + { + "rgb": { + "blue": 243, + "green": 220, + "red": 97 + }, + "percentage": 3.29 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/HNUC8SmzWo", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897077461587742720/w5apggJs?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/HNUC8SmzWo", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897783589380444561" + ], + "editable_until_msecs": "1741305441000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "33998", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 11, + "bookmarked": false, + "created_at": "Thu Mar 06 22:57:21 +0000 2025", + "conversation_id_str": "1897783589380444561", + "display_text_range": [ + 0, + 243 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "kyivindependent.com/weve-made-a-lo…", + "expanded_url": "https://kyivindependent.com/weve-made-a-lot-of-progress-trump-says-us-on-track-to-peace-deal-with-ukraine-russia/", + "url": "https://t.co/HNUC8SmzWo", + "indices": [ + 220, + 243 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 144, + "favorited": false, + "full_text": "⚡️'We've made a lot of progress' — Trump says US on track to peace deal with Ukraine, Russia. \n\n\"I will say that we've made a lot of progress with Ukraine and a lot of progress with Russia over the last couple of days.\"\nhttps://t.co/HNUC8SmzWo", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 7, + "reply_count": 103, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "1462548977367359490", + "id_str": "1897783589380444561" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897783331988660478", + "sortIndex": "1897829059325329339", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897783331988660478", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897783331988660478" + ], + "editable_until_msecs": "1741305380112", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:56:20 +0000 2025", + "conversation_id_str": "1897783331988660478", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1085555771918696449", + "name": "Andrew Fox", + "screen_name": "Mr_Andrew_Fox", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @Mr_Andrew_Fox: Ukrainian civilians are dead because Donald Trump prefers to support an authoritarian dictator over an invaded democrati…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 133, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897783331988660478", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897782874352312358", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDg1NTU1NzcxOTE4Njk2NDQ5", + "rest_id": "1085555771918696449", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Jan 16 15:13:59 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Did some Army stuff, some lecturing, now do research and writing. Bestselling Substack link below. All views my own. Extended bio below.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "mrandrewfox.substack.com", + "expanded_url": "https://mrandrewfox.substack.com", + "url": "https://t.co/6VdzRUFS7B", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 112841, + "followers_count": 108328, + "friends_count": 5996, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 655, + "location": "United Kingdom", + "media_count": 3826, + "name": "Andrew Fox", + "normal_followers_count": 108328, + "pinned_tweet_ids_str": [ + "1888900133661626561" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1085555771918696449/1741197364", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1848245194245754880/Y3ma80fs_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Mr_Andrew_Fox", + "statuses_count": 32114, + "translator_type": "none", + "url": "https://t.co/6VdzRUFS7B", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1680294509916090368", + "professional_type": "Creator", + "category": [ + { + "id": 1067, + "name": "Researcher", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897782874352312358" + ], + "editable_until_msecs": "1741305271000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "8119", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 18, + "bookmarked": false, + "created_at": "Thu Mar 06 22:54:31 +0000 2025", + "conversation_id_str": "1897782874352312358", + "display_text_range": [ + 0, + 178 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/SoXx9nBR1e", + "expanded_url": "https://x.com/Mr_Andrew_Fox/status/1897782874352312358/photo/1", + "id_str": "1897781729676398593", + "indices": [ + 179, + 202 + ], + "media_key": "3_1897781729676398593", + "media_url_https": "https://pbs.twimg.com/media/GlZGbaKWkAEjYm2.jpg", + "type": "photo", + "url": "https://t.co/SoXx9nBR1e", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1287, + "w": 1320, + "resize": "fit" + }, + "medium": { + "h": 1170, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 663, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1287, + "width": 1320, + "focus_rects": [ + { + "x": 0, + "y": 548, + "w": 1320, + "h": 739 + }, + { + "x": 0, + "y": 0, + "w": 1287, + "h": 1287 + }, + { + "x": 63, + "y": 0, + "w": 1129, + "h": 1287 + }, + { + "x": 305, + "y": 0, + "w": 644, + "h": 1287 + }, + { + "x": 0, + "y": 0, + "w": 1320, + "h": 1287 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897781729676398593" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/SoXx9nBR1e", + "expanded_url": "https://x.com/Mr_Andrew_Fox/status/1897782874352312358/photo/1", + "id_str": "1897781729676398593", + "indices": [ + 179, + 202 + ], + "media_key": "3_1897781729676398593", + "media_url_https": "https://pbs.twimg.com/media/GlZGbaKWkAEjYm2.jpg", + "type": "photo", + "url": "https://t.co/SoXx9nBR1e", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1287, + "w": 1320, + "resize": "fit" + }, + "medium": { + "h": 1170, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 663, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1287, + "width": 1320, + "focus_rects": [ + { + "x": 0, + "y": 548, + "w": 1320, + "h": 739 + }, + { + "x": 0, + "y": 0, + "w": 1287, + "h": 1287 + }, + { + "x": 63, + "y": 0, + "w": 1129, + "h": 1287 + }, + { + "x": 305, + "y": 0, + "w": 644, + "h": 1287 + }, + { + "x": 0, + "y": 0, + "w": 1320, + "h": 1287 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897781729676398593" + } + } + } + ] + }, + "favorite_count": 425, + "favorited": false, + "full_text": "Ukrainian civilians are dead because Donald Trump prefers to support an authoritarian dictator over an invaded democratic ally whose borders the US guaranteed.\n\nLet that sink in. https://t.co/SoXx9nBR1e", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 6, + "reply_count": 24, + "retweet_count": 133, + "retweeted": false, + "user_id_str": "1085555771918696449", + "id_str": "1897782874352312358" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897783127478522183", + "sortIndex": "1897829059325329338", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897783127478522183", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDA1ODQ2NTAwNTgzMzIxNjAx", + "rest_id": "1005846500583321601", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jun 10 16:17:48 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Dad. Husband. Vet. NYT Best-selling Author. Ex NSC/WH Staff. Senior Advisor @votevets. Dr. & Senior Fellow FPI, SAIS, JHU. @avindman.bsky.social", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "avindman.com", + "expanded_url": "https://avindman.com", + "url": "https://t.co/Zb1dWqElpQ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22353, + "followers_count": 912797, + "friends_count": 1841, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5465, + "location": "Florida, USA", + "media_count": 514, + "name": "Alexander S. Vindman 🇺🇸", + "normal_followers_count": 912797, + "pinned_tweet_ids_str": [ + "1897410895736942676" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1005846500583321601/1732284931", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1438653431837872135/6170zRMd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AVindman", + "statuses_count": 8700, + "translator_type": "none", + "url": "https://t.co/Zb1dWqElpQ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1469829466885132297", + "professional_type": "Business", + "category": [ + { + "id": 956, + "name": "Writer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897783127478522183" + ], + "editable_until_msecs": "1741305331000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "11652", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:55:31 +0000 2025", + "conversation_id_str": "1897783127478522183", + "display_text_range": [ + 0, + 56 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "open.substack.com/live-stream/14…", + "expanded_url": "https://open.substack.com/live-stream/14301?r=1wffwq&utm_medium=ios", + "url": "https://t.co/ZDtFUCZJvA", + "indices": [ + 33, + 56 + ] + } + ], + "user_mentions": [ + { + "id_str": "818893114979061761", + "name": "Jo", + "screen_name": "JoJoFromJerz", + "indices": [ + 17, + 30 + ] + } + ] + }, + "favorite_count": 41, + "favorited": false, + "full_text": "Going Live with @JoJoFromJerz https://t.co/ZDtFUCZJvA", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 4, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "1005846500583321601", + "id_str": "1897783127478522183" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897782779321913606", + "sortIndex": "1897829059325329337", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897782779321913606", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NDA4MzE4Nw==", + "rest_id": "84083187", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Oct 21 13:42:34 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Ukraine Correspondent. British-Lebanese conflict journalist based in Kyiv. Director of The Battle For Kyiv. Co-host of @DrillPod. Member of @FPALondon.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "ko-fi.com/ozkaterji", + "expanded_url": "http://ko-fi.com/ozkaterji", + "url": "https://t.co/FC9pQbgXa4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 46511, + "followers_count": 206172, + "friends_count": 11588, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3238, + "location": "Kyiv, Ukraine", + "media_count": 3830, + "name": "Oz Katerji", + "normal_followers_count": 206172, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/84083187/1734439014", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1713181637574275072/gUp8KMF4_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "OzKaterji", + "statuses_count": 52797, + "translator_type": "none", + "url": "https://t.co/FC9pQbgXa4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897782779321913606" + ], + "editable_until_msecs": "1741305248346", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:54:08 +0000 2025", + "conversation_id_str": "1897782779321913606", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 19, + 25 + ], + "text": "Syria" + }, + { + "indices": [ + 96, + 104 + ], + "text": "Latakia" + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "3978224638", + "name": "Qalaat Al Mudiq", + "screen_name": "QalaatAlMudiq", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @QalaatAlMudiq: #Syria: Security Forces engaged in intense clashes with Assadists tonight in #Latakia countryside (apparently the Highwa…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 38, + "retweeted": false, + "user_id_str": "84083187", + "id_str": "1897782779321913606", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897777644520829401", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozOTc4MjI0NjM4", + "rest_id": "3978224638", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sat Oct 17 08:24:22 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Dr in History - Syria - Mostly Military News (& related) - Fact Checking. \nCaptagon in MENA. \nTo be turned into an archive account.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1331, + "followers_count": 66564, + "friends_count": 230, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1422, + "location": "", + "media_count": 19086, + "name": "Qalaat Al Mudiq", + "normal_followers_count": 66564, + "pinned_tweet_ids_str": [ + "1861694177035116596" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3978224638/1445076462", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/655306005929185280/EqnrbihG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "QalaatAlMudiq", + "statuses_count": 36240, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897777644520829401" + ], + "editable_until_msecs": "1741304024000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "13469", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 13, + "bookmarked": false, + "created_at": "Thu Mar 06 22:33:44 +0000 2025", + "conversation_id_str": "1897015141155397745", + "display_text_range": [ + 0, + 123 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 0, + 6 + ], + "text": "Syria" + }, + { + "indices": [ + 77, + 85 + ], + "text": "Latakia" + } + ], + "media": [ + { + "display_url": "pic.x.com/1SkcPEaweV", + "expanded_url": "https://x.com/QalaatAlMudiq/status/1897777644520829401/video/1", + "id_str": "1897777616603475968", + "indices": [ + 124, + 147 + ], + "media_key": "7_1897777616603475968", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897777616603475968/pu/img/h0Zx3vgoHsAT1rr_.jpg", + "type": "video", + "url": "https://t.co/1SkcPEaweV", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 360, + "w": 640, + "resize": "fit" + }, + "medium": { + "h": 360, + "w": 640, + "resize": "fit" + }, + "small": { + "h": 360, + "w": 640, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 360, + "width": 640, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 17152, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897777616603475968/pu/pl/Y7JXXfg2kD0s3ztA.m3u8?tag=12&v=cfc" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897777616603475968/pu/vid/avc1/480x270/k74ZdmdF0FQbd6iR.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897777616603475968/pu/vid/avc1/640x360/1-dY3JNESZ1te7u0.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897777616603475968" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1SkcPEaweV", + "expanded_url": "https://x.com/QalaatAlMudiq/status/1897777644520829401/video/1", + "id_str": "1897777616603475968", + "indices": [ + 124, + 147 + ], + "media_key": "7_1897777616603475968", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1897777616603475968/pu/img/h0Zx3vgoHsAT1rr_.jpg", + "type": "video", + "url": "https://t.co/1SkcPEaweV", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 360, + "w": 640, + "resize": "fit" + }, + "medium": { + "h": 360, + "w": 640, + "resize": "fit" + }, + "small": { + "h": 360, + "w": 640, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 360, + "width": 640, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": true + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 17152, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1897777616603475968/pu/pl/Y7JXXfg2kD0s3ztA.m3u8?tag=12&v=cfc" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897777616603475968/pu/vid/avc1/480x270/k74ZdmdF0FQbd6iR.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1897777616603475968/pu/vid/avc1/640x360/1-dY3JNESZ1te7u0.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1897777616603475968" + } + } + } + ] + }, + "favorite_count": 132, + "favorited": false, + "full_text": "#Syria: Security Forces engaged in intense clashes with Assadists tonight in #Latakia countryside (apparently the Highway). https://t.co/1SkcPEaweV", + "in_reply_to_screen_name": "QalaatAlMudiq", + "in_reply_to_status_id_str": "1897772418401227168", + "in_reply_to_user_id_str": "3978224638", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 3, + "retweet_count": 38, + "retweeted": false, + "user_id_str": "3978224638", + "id_str": "1897777644520829401" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897780868992717100", + "sortIndex": "1897829059325329336", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897780868992717100", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjMwMTg2NTM=", + "rest_id": "163018653", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Jul 05 09:44:27 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Ambassador-at-large @MFA_Ukraine, Amb to Austria (2014-2021). Author of “Ukraine vs Darkness. Undiplomatic Thoughts”. Personal account. https://t.co/p9VR0LYDZn", + "entities": { + "description": { + "urls": [ + { + "display_url": "olexscherba.bsky.social", + "expanded_url": "http://olexscherba.bsky.social", + "url": "https://t.co/p9VR0LYDZn", + "indices": [ + 136, + 159 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/dp/383821501X?…", + "expanded_url": "https://www.amazon.com/dp/383821501X?ref_=cm_sw_r_apin_dp_M4AD9VPDESX2RPV0NY9N&language=en-US", + "url": "https://t.co/NVdnrlOZMd", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 35421, + "followers_count": 249197, + "friends_count": 1313, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 4011, + "location": "Kyiv", + "media_count": 7482, + "name": "olexander scherba🇺🇦", + "normal_followers_count": 249197, + "pinned_tweet_ids_str": [ + "1396956590713020416" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/163018653/1646220178", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/671642770549956608/yR9Is6BD_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olex_scherba", + "statuses_count": 44367, + "translator_type": "none", + "url": "https://t.co/NVdnrlOZMd", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1696586841602834861", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/5nt0um5S75", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 211, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Ukrainian opposition leaders have dismissed the idea of holding a wartime election, after a media report of contacts between them and U.S. officials and in the wake of President Donald Trump calling...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.aol.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 299, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=420x420_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "66237835", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 71, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "66237835", + "path": [] + } + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "aol.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "app_name", + "value": { + "string_value": "AOL: Email News Weather Video", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 217, + "green": 214, + "red": 210 + }, + "percentage": 38.12 + }, + { + "rgb": { + "blue": 111, + "green": 225, + "red": 238 + }, + "percentage": 16.49 + }, + { + "rgb": { + "blue": 36, + "green": 33, + "red": 30 + }, + "percentage": 11.72 + }, + { + "rgb": { + "blue": 150, + "green": 92, + "red": 35 + }, + "percentage": 10.36 + }, + { + "rgb": { + "blue": 42, + "green": 181, + "red": 230 + }, + "percentage": 3.25 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Ukrainian opposition leaders dismiss idea of wartime election", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 217, + "green": 214, + "red": 210 + }, + "percentage": 38.12 + }, + { + "rgb": { + "blue": 111, + "green": 225, + "red": 238 + }, + "percentage": 16.49 + }, + { + "rgb": { + "blue": 36, + "green": 33, + "red": 30 + }, + "percentage": 11.72 + }, + { + "rgb": { + "blue": 150, + "green": 92, + "red": 35 + }, + "percentage": 10.36 + }, + { + "rgb": { + "blue": 42, + "green": 181, + "red": 230 + }, + "percentage": 3.25 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 217, + "green": 214, + "red": 210 + }, + "percentage": 38.12 + }, + { + "rgb": { + "blue": 111, + "green": 225, + "red": 238 + }, + "percentage": 16.49 + }, + { + "rgb": { + "blue": 36, + "green": 33, + "red": 30 + }, + "percentage": 11.72 + }, + { + "rgb": { + "blue": 150, + "green": 92, + "red": 35 + }, + "percentage": 10.36 + }, + { + "rgb": { + "blue": 42, + "green": 181, + "red": 230 + }, + "percentage": 3.25 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/5nt0um5S75", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/5nt0um5S75", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjo2NjIzNzgzNQ==", + "rest_id": "66237835", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 17 01:11:14 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Discover today's biggest news stories: https://t.co/QX0RDaPsea.", + "entities": { + "description": { + "urls": [ + { + "display_url": "aol.it/1wFjtFv", + "expanded_url": "http://aol.it/1wFjtFv", + "url": "https://t.co/QX0RDaPsea", + "indices": [ + 39, + 62 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "aol.com", + "expanded_url": "http://www.aol.com", + "url": "https://t.co/vZt7exQ5Xe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5821, + "followers_count": 154280, + "friends_count": 2896, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1895, + "location": "New York, NY", + "media_count": 158380, + "name": "AOL.com", + "normal_followers_count": 154280, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/66237835/1733411109", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1864687458958372864/hKAM9tD-_normal.png", + "profile_interstitial_type": "", + "screen_name": "AOL", + "statuses_count": 261021, + "translator_type": "none", + "url": "https://t.co/vZt7exQ5Xe", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjo2NjIzNzgzNQ==", + "rest_id": "66237835", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 17 01:11:14 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Discover today's biggest news stories: https://t.co/QX0RDaPsea.", + "entities": { + "description": { + "urls": [ + { + "display_url": "aol.it/1wFjtFv", + "expanded_url": "http://aol.it/1wFjtFv", + "url": "https://t.co/QX0RDaPsea", + "indices": [ + 39, + 62 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "aol.com", + "expanded_url": "http://www.aol.com", + "url": "https://t.co/vZt7exQ5Xe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5821, + "followers_count": 154280, + "friends_count": 2896, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1895, + "location": "New York, NY", + "media_count": 158380, + "name": "AOL.com", + "normal_followers_count": 154280, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/66237835/1733411109", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1864687458958372864/hKAM9tD-_normal.png", + "profile_interstitial_type": "", + "screen_name": "AOL", + "statuses_count": 261021, + "translator_type": "none", + "url": "https://t.co/vZt7exQ5Xe", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897780868992717100" + ], + "editable_until_msecs": "1741304792888", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:46:32 +0000 2025", + "conversation_id_str": "1897780868992717100", + "display_text_range": [ + 0, + 95 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "aol.com/news/ukrainian…", + "expanded_url": "https://www.aol.com/news/ukrainian-opposition-leaders-dismiss-idea-120755804.html", + "url": "https://t.co/5nt0um5S75", + "indices": [ + 72, + 95 + ] + } + ], + "user_mentions": [ + { + "id_str": "38495835", + "name": "Mark R. Levin", + "screen_name": "marklevinshow", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @marklevinshow: Ukranian OPPOSITION leaders say no wartime elections\nhttps://t.co/5nt0um5S75", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 394, + "retweeted": false, + "user_id_str": "163018653", + "id_str": "1897780868992717100", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897660482552496428", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozODQ5NTgzNQ==", + "rest_id": "38495835", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu May 07 19:18:36 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "THIS IS THE OFFICIAL MARK LEVIN SHOW X PAGE. \nDOWNLOAD MY PODCAST FOR FREE https://t.co/LbO9BeMtMZ Join me at https://t.co/ARrBQZKtMb", + "entities": { + "description": { + "urls": [ + { + "display_url": "marklevinshow.com/audio-rewind", + "expanded_url": "http://marklevinshow.com/audio-rewind", + "url": "https://t.co/LbO9BeMtMZ", + "indices": [ + 75, + 98 + ] + }, + { + "display_url": "LevinTV.com", + "expanded_url": "http://LevinTV.com", + "url": "https://t.co/ARrBQZKtMb", + "indices": [ + 112, + 135 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "marklevinshow.com/links/", + "expanded_url": "https://www.marklevinshow.com/links/", + "url": "https://t.co/sSubsV2DiI", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2269, + "followers_count": 4749391, + "friends_count": 5, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 12581, + "location": "Underground Bunker", + "media_count": 2112, + "name": "Mark R. Levin", + "normal_followers_count": 4749391, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/38495835/1695085064", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/378800000116305623/80c5515ce8244c85105172fe5640f550_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "marklevinshow", + "statuses_count": 42650, + "translator_type": "none", + "url": "https://t.co/sSubsV2DiI", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1570196033828691974", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": false + } + } + } + }, + "card": { + "rest_id": "https://t.co/5nt0um5S75", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 211, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Ukrainian opposition leaders have dismissed the idea of holding a wartime election, after a media report of contacts between them and U.S. officials and in the wake of President Donald Trump calling...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.aol.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 299, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=420x420_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "66237835", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 71, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "66237835", + "path": [] + } + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "aol.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "app_name", + "value": { + "string_value": "AOL: Email News Weather Video", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 217, + "green": 214, + "red": 210 + }, + "percentage": 38.12 + }, + { + "rgb": { + "blue": 111, + "green": 225, + "red": 238 + }, + "percentage": 16.49 + }, + { + "rgb": { + "blue": 36, + "green": 33, + "red": 30 + }, + "percentage": 11.72 + }, + { + "rgb": { + "blue": 150, + "green": 92, + "red": 35 + }, + "percentage": 10.36 + }, + { + "rgb": { + "blue": 42, + "green": 181, + "red": 230 + }, + "percentage": 3.25 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Ukrainian opposition leaders dismiss idea of wartime election", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 217, + "green": 214, + "red": 210 + }, + "percentage": 38.12 + }, + { + "rgb": { + "blue": 111, + "green": 225, + "red": 238 + }, + "percentage": 16.49 + }, + { + "rgb": { + "blue": 36, + "green": 33, + "red": 30 + }, + "percentage": 11.72 + }, + { + "rgb": { + "blue": 150, + "green": 92, + "red": 35 + }, + "percentage": 10.36 + }, + { + "rgb": { + "blue": 42, + "green": 181, + "red": 230 + }, + "percentage": 3.25 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 217, + "green": 214, + "red": 210 + }, + "percentage": 38.12 + }, + { + "rgb": { + "blue": 111, + "green": 225, + "red": 238 + }, + "percentage": 16.49 + }, + { + "rgb": { + "blue": 36, + "green": 33, + "red": 30 + }, + "percentage": 11.72 + }, + { + "rgb": { + "blue": 150, + "green": 92, + "red": 35 + }, + "percentage": 10.36 + }, + { + "rgb": { + "blue": 42, + "green": 181, + "red": 230 + }, + "percentage": 3.25 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/5nt0um5S75", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 570, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897660460758880256/gCLQCwbH?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/5nt0um5S75", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjo2NjIzNzgzNQ==", + "rest_id": "66237835", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 17 01:11:14 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Discover today's biggest news stories: https://t.co/QX0RDaPsea.", + "entities": { + "description": { + "urls": [ + { + "display_url": "aol.it/1wFjtFv", + "expanded_url": "http://aol.it/1wFjtFv", + "url": "https://t.co/QX0RDaPsea", + "indices": [ + 39, + 62 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "aol.com", + "expanded_url": "http://www.aol.com", + "url": "https://t.co/vZt7exQ5Xe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5821, + "followers_count": 154280, + "friends_count": 2896, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1895, + "location": "New York, NY", + "media_count": 158380, + "name": "AOL.com", + "normal_followers_count": 154280, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/66237835/1733411109", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1864687458958372864/hKAM9tD-_normal.png", + "profile_interstitial_type": "", + "screen_name": "AOL", + "statuses_count": 261021, + "translator_type": "none", + "url": "https://t.co/vZt7exQ5Xe", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjo2NjIzNzgzNQ==", + "rest_id": "66237835", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 17 01:11:14 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Discover today's biggest news stories: https://t.co/QX0RDaPsea.", + "entities": { + "description": { + "urls": [ + { + "display_url": "aol.it/1wFjtFv", + "expanded_url": "http://aol.it/1wFjtFv", + "url": "https://t.co/QX0RDaPsea", + "indices": [ + 39, + 62 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "aol.com", + "expanded_url": "http://www.aol.com", + "url": "https://t.co/vZt7exQ5Xe", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5821, + "followers_count": 154280, + "friends_count": 2896, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1895, + "location": "New York, NY", + "media_count": 158380, + "name": "AOL.com", + "normal_followers_count": 154280, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/66237835/1733411109", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1864687458958372864/hKAM9tD-_normal.png", + "profile_interstitial_type": "", + "screen_name": "AOL", + "statuses_count": 261021, + "translator_type": "none", + "url": "https://t.co/vZt7exQ5Xe", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897660482552496428" + ], + "editable_until_msecs": "1741276090000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "198759", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 61, + "bookmarked": false, + "created_at": "Thu Mar 06 14:48:10 +0000 2025", + "conversation_id_str": "1897660482552496428", + "display_text_range": [ + 0, + 76 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "aol.com/news/ukrainian…", + "expanded_url": "https://www.aol.com/news/ukrainian-opposition-leaders-dismiss-idea-120755804.html", + "url": "https://t.co/5nt0um5S75", + "indices": [ + 53, + 76 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 2061, + "favorited": false, + "full_text": "Ukranian OPPOSITION leaders say no wartime elections\nhttps://t.co/5nt0um5S75", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 53, + "reply_count": 300, + "retweet_count": 394, + "retweeted": false, + "user_id_str": "38495835", + "id_str": "1897660482552496428" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897780528666800405", + "sortIndex": "1897829059325329335", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897780528666800405", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYyNTQ4OTc3MzY3MzU5NDkw", + "rest_id": "1462548977367359490", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Nov 21 22:30:41 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Independent English-language journalism in Ukraine. \n\nBecome a member: https://t.co/Z5lqDZZftn", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "https://kyivindependent.com/membership/", + "url": "https://t.co/Z5lqDZZftn", + "indices": [ + 71, + 94 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://kyivindependent.com", + "url": "https://t.co/WZvsaFpT20", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 337, + "followers_count": 1907073, + "friends_count": 56, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 18394, + "location": "Kyiv", + "media_count": 4973, + "name": "The Kyiv Independent", + "normal_followers_count": 1907073, + "pinned_tweet_ids_str": [ + "1895168171654742213" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1462548977367359490/1683114021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1590969128474525702/SoCJ_k1L_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "KyivIndependent", + "statuses_count": 55043, + "translator_type": "none", + "url": "https://t.co/WZvsaFpT20", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1595086441079513088", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/icKBfovwQc", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Join the screening of the Kyiv Independent's documentary film, “Can You Hear Me? The Invisible Battles of Ukrainian Military Medics,” on March 10, 2025. The screening will take place at 18:00 at...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.google.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.google.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 236, + "green": 238, + "red": 239 + }, + "percentage": 82.33 + }, + { + "rgb": { + "blue": 32, + "green": 43, + "red": 48 + }, + "percentage": 13.9 + }, + { + "rgb": { + "blue": 98, + "green": 116, + "red": 122 + }, + "percentage": 1.87 + }, + { + "rgb": { + "blue": 46, + "green": 66, + "red": 104 + }, + "percentage": 0.42 + }, + { + "rgb": { + "blue": 148, + "green": 146, + "red": 145 + }, + "percentage": 0.23 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Screening of a documentary film by The Kyiv Independent – London, March 10, 2025", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/icKBfovwQc", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/icKBfovwQc", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897780528666800405" + ], + "editable_until_msecs": "1741304711748", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:45:11 +0000 2025", + "conversation_id_str": "1897780528666800405", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "868962444269506561", + "name": "Francis Farrell", + "screen_name": "francisjfarrell", + "indices": [ + 3, + 19 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @francisjfarrell: London, hello! Our second screening tour of the feature documentary film my colleague Olena Zashko and I made is ongoi…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 19, + "retweeted": false, + "user_id_str": "1462548977367359490", + "id_str": "1897780528666800405", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897768495388983701", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4Njg5NjI0NDQyNjk1MDY1NjE=", + "rest_id": "868962444269506561", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun May 28 22:49:26 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Reporter at @kyivindependent | Aussie at home in Ukraine | Support us here: https://t.co/iZIVm6Wyq4", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership/", + "expanded_url": "http://kyivindependent.com/membership/", + "url": "https://t.co/iZIVm6Wyq4", + "indices": [ + 76, + 99 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5913, + "followers_count": 10589, + "friends_count": 1283, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 287, + "location": "Kyiv", + "media_count": 249, + "name": "Francis Farrell", + "normal_followers_count": 10589, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/868962444269506561/1741045352", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1896707792901181440/g2Mih8zn_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "francisjfarrell", + "statuses_count": 2062, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1590593833238249478", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/icKBfovwQc", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Join the screening of the Kyiv Independent's documentary film, “Can You Hear Me? The Invisible Battles of Ukrainian Military Medics,” on March 10, 2025. The screening will take place at 18:00 at...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.google.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=jpg&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 630, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897560474918535168/vBTIdtlD?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.google.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 236, + "green": 238, + "red": 239 + }, + "percentage": 82.33 + }, + { + "rgb": { + "blue": 32, + "green": 43, + "red": 48 + }, + "percentage": 13.9 + }, + { + "rgb": { + "blue": 98, + "green": 116, + "red": 122 + }, + "percentage": 1.87 + }, + { + "rgb": { + "blue": 46, + "green": 66, + "red": 104 + }, + "percentage": 0.42 + }, + { + "rgb": { + "blue": 148, + "green": 146, + "red": 145 + }, + "percentage": 0.23 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Screening of a documentary film by The Kyiv Independent – London, March 10, 2025", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/icKBfovwQc", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/icKBfovwQc", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897768495388983701" + ], + "editable_until_msecs": "1741301842000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "29423", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 4, + "bookmarked": false, + "created_at": "Thu Mar 06 21:57:22 +0000 2025", + "conversation_id_str": "1897768495388983701", + "display_text_range": [ + 0, + 279 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.google.com/forms/d/e/1FAI…", + "expanded_url": "https://docs.google.com/forms/d/e/1FAIpQLSc6LB-EGENZYs8P1_DcN4fMemC_DRIf-R0VL5BI665dVFbc3Q/viewform", + "url": "https://t.co/icKBfovwQc", + "indices": [ + 256, + 279 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 62, + "favorited": false, + "full_text": "London, hello! Our second screening tour of the feature documentary film my colleague Olena Zashko and I made is ongoing, and the next stop is London, at 6pm this Monday! \n\nCome to remember what this fight is about, and come to say hi! Sign-up link here:\n\nhttps://t.co/icKBfovwQc", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 1, + "retweet_count": 19, + "retweeted": false, + "user_id_str": "868962444269506561", + "id_str": "1897768495388983701" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897780166295736696", + "sortIndex": "1897829059325329334", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897780166295736696", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/xWxfI8BYTE", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "The Trump administration’s massive federal cuts and swelling feelings of economic uncertainty helped fuel a recession-level spike in layoffs last month, new data showed Thursday.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.cnn.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "16184358", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "cnn.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 18, + "green": 21, + "red": 21 + }, + "percentage": 72.24 + }, + { + "rgb": { + "blue": 187, + "green": 195, + "red": 215 + }, + "percentage": 8.75 + }, + { + "rgb": { + "blue": 57, + "green": 87, + "red": 141 + }, + "percentage": 5.95 + }, + { + "rgb": { + "blue": 82, + "green": 65, + "red": 66 + }, + "percentage": 1.93 + }, + { + "rgb": { + "blue": 138, + "green": 144, + "red": 230 + }, + "percentage": 1.79 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "US employers cut more jobs last month than any February since 2009 | CNN Business", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 18, + "green": 21, + "red": 21 + }, + "percentage": 72.24 + }, + { + "rgb": { + "blue": 187, + "green": 195, + "red": 215 + }, + "percentage": 8.75 + }, + { + "rgb": { + "blue": 57, + "green": 87, + "red": 141 + }, + "percentage": 5.95 + }, + { + "rgb": { + "blue": 82, + "green": 65, + "red": 66 + }, + "percentage": 1.93 + }, + { + "rgb": { + "blue": 138, + "green": 144, + "red": 230 + }, + "percentage": 1.79 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 18, + "green": 21, + "red": 21 + }, + "percentage": 72.24 + }, + { + "rgb": { + "blue": 187, + "green": 195, + "red": 215 + }, + "percentage": 8.75 + }, + { + "rgb": { + "blue": 57, + "green": 87, + "red": 141 + }, + "percentage": 5.95 + }, + { + "rgb": { + "blue": 82, + "green": 65, + "red": 66 + }, + "percentage": 1.93 + }, + { + "rgb": { + "blue": 138, + "green": 144, + "red": 230 + }, + "percentage": 1.79 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/xWxfI8BYTE", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/xWxfI8BYTE", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjE4NDM1OA==", + "rest_id": "16184358", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Sep 08 13:44:47 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Your guide to tech, media, finance and the future", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "CNN.com/business", + "expanded_url": "http://CNN.com/business", + "url": "https://t.co/ZLgYiheZkS", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 267, + "followers_count": 1769862, + "friends_count": 908, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1, + "location": "Global", + "media_count": 68978, + "name": "CNN Business", + "normal_followers_count": 1769862, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/16184358/1538617548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1047664113726382081/1z2vgDwB_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "CNNBusiness", + "statuses_count": 188412, + "translator_type": "none", + "url": "https://t.co/ZLgYiheZkS", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897780166295736696" + ], + "editable_until_msecs": "1741304625352", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:43:45 +0000 2025", + "conversation_id_str": "1897780166295736696", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "866442796823195649", + "name": "Erik Halvorsen", + "screen_name": "erikhalvorsen18", + "indices": [ + 3, + 19 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @erikhalvorsen18: Trump, Musk and the GOP are destroying the economy \n\n“US employers cut more jobs last month than any February since 20…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 13, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897780166295736696", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897779865090154666", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NjY0NDI3OTY4MjMxOTU2NDk=", + "rest_id": "866442796823195649", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun May 21 23:57:15 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Love my family, country, sports and cheese. #GoPackers https://t.co/bZ8AJKjh1p Next up! https://t.co/au4eiilatW - find me in the Other Place", + "entities": { + "description": { + "urls": [ + { + "display_url": "postcardstovoters.org", + "expanded_url": "http://postcardstovoters.org", + "url": "https://t.co/bZ8AJKjh1p", + "indices": [ + 55, + 78 + ] + }, + { + "display_url": "crawfordforwi.com", + "expanded_url": "https://www.crawfordforwi.com", + "url": "https://t.co/au4eiilatW", + "indices": [ + 88, + 111 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "secure.actblue.com/donate/socialw…", + "expanded_url": "https://secure.actblue.com/donate/socialwisdems?refcode=SocialMediaEH", + "url": "https://t.co/IStYUvs4Wb", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 468835, + "followers_count": 6770, + "friends_count": 3410, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 47, + "location": "Wisconsin, USA", + "media_count": 16348, + "name": "Erik Halvorsen", + "normal_followers_count": 6770, + "pinned_tweet_ids_str": [ + "1860036702829707760" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/866442796823195649/1697056903", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1769380044940419074/TGnZBFRb_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "erikhalvorsen18", + "statuses_count": 223383, + "translator_type": "none", + "url": "https://t.co/IStYUvs4Wb", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/xWxfI8BYTE", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 267, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "The Trump administration’s massive federal cuts and swelling feelings of economic uncertainty helped fuel a recession-level spike in layoffs last month, new data showed Thursday.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.cnn.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "16184358", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "cnn.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 18, + "green": 21, + "red": 21 + }, + "percentage": 72.24 + }, + { + "rgb": { + "blue": 187, + "green": 195, + "red": 215 + }, + "percentage": 8.75 + }, + { + "rgb": { + "blue": 57, + "green": 87, + "red": 141 + }, + "percentage": 5.95 + }, + { + "rgb": { + "blue": 82, + "green": 65, + "red": 66 + }, + "percentage": 1.93 + }, + { + "rgb": { + "blue": 138, + "green": 144, + "red": 230 + }, + "percentage": 1.79 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "US employers cut more jobs last month than any February since 2009 | CNN Business", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 18, + "green": 21, + "red": 21 + }, + "percentage": 72.24 + }, + { + "rgb": { + "blue": 187, + "green": 195, + "red": 215 + }, + "percentage": 8.75 + }, + { + "rgb": { + "blue": 57, + "green": 87, + "red": 141 + }, + "percentage": 5.95 + }, + { + "rgb": { + "blue": 82, + "green": 65, + "red": 66 + }, + "percentage": 1.93 + }, + { + "rgb": { + "blue": 138, + "green": 144, + "red": 230 + }, + "percentage": 1.79 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 18, + "green": 21, + "red": 21 + }, + "percentage": 72.24 + }, + { + "rgb": { + "blue": 187, + "green": 195, + "red": 215 + }, + "percentage": 8.75 + }, + { + "rgb": { + "blue": 57, + "green": 87, + "red": 141 + }, + "percentage": 5.95 + }, + { + "rgb": { + "blue": 82, + "green": 65, + "red": 66 + }, + "percentage": 1.93 + }, + { + "rgb": { + "blue": 138, + "green": 144, + "red": 230 + }, + "percentage": 1.79 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/xWxfI8BYTE", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 450, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897629100056940544/wqU7fzRp?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/xWxfI8BYTE", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjE4NDM1OA==", + "rest_id": "16184358", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Sep 08 13:44:47 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Your guide to tech, media, finance and the future", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "CNN.com/business", + "expanded_url": "http://CNN.com/business", + "url": "https://t.co/ZLgYiheZkS", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 267, + "followers_count": 1769862, + "friends_count": 908, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1, + "location": "Global", + "media_count": 68978, + "name": "CNN Business", + "normal_followers_count": 1769862, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/16184358/1538617548", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1047664113726382081/1z2vgDwB_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "CNNBusiness", + "statuses_count": 188412, + "translator_type": "none", + "url": "https://t.co/ZLgYiheZkS", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897779865090154666" + ], + "editable_until_msecs": "1741304553000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1828", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:42:33 +0000 2025", + "conversation_id_str": "1897779865090154666", + "display_text_range": [ + 0, + 146 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "cnn.com/2025/03/06/eco…", + "expanded_url": "https://www.cnn.com/2025/03/06/economy/us-jobs-report-february-preview/index.html", + "url": "https://t.co/xWxfI8BYTE", + "indices": [ + 123, + 146 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 19, + "favorited": false, + "full_text": "Trump, Musk and the GOP are destroying the economy \n\n“US employers cut more jobs last month than any February since 2009”\n\nhttps://t.co/xWxfI8BYTE", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 2, + "retweet_count": 13, + "retweeted": false, + "user_id_str": "866442796823195649", + "id_str": "1897779865090154666" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897774515540676811", + "sortIndex": "1897829059325329333", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897774515540676811", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897774515540676811" + ], + "editable_until_msecs": "1741303278107", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:21:18 +0000 2025", + "conversation_id_str": "1897774515540676811", + "display_text_range": [ + 0, + 67 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/NybcGgmNKn", + "expanded_url": "https://x.com/JuliaDavisNews/status/1897757633550946436/photo/1", + "id_str": "1897757626139660290", + "indices": [ + 44, + 67 + ], + "media_key": "3_1897757626139660290", + "media_url_https": "https://pbs.twimg.com/media/GlYwgZfX0AItS10.jpg", + "source_status_id_str": "1897757633550946436", + "source_user_id_str": "105327432", + "type": "photo", + "url": "https://t.co/NybcGgmNKn", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + }, + "medium": { + "faces": [ + { + "x": 966, + "y": 194, + "h": 137, + "w": 137 + }, + { + "x": 387, + "y": 101, + "h": 162, + "w": 162 + } + ] + }, + "small": { + "faces": [ + { + "x": 547, + "y": 110, + "h": 78, + "w": 78 + }, + { + "x": 219, + "y": 57, + "h": 91, + "w": 91 + } + ] + }, + "orig": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + } + }, + "sizes": { + "large": { + "h": 722, + "w": 1229, + "resize": "fit" + }, + "medium": { + "h": 705, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 399, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 722, + "width": 1229, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1229, + "h": 688 + }, + { + "x": 161, + "y": 0, + "w": 722, + "h": 722 + }, + { + "x": 206, + "y": 0, + "w": 633, + "h": 722 + }, + { + "x": 342, + "y": 0, + "w": 361, + "h": 722 + }, + { + "x": 0, + "y": 0, + "w": 1229, + "h": 722 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897757626139660290" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/JuliaDavisNews…", + "expanded_url": "https://x.com/JuliaDavisNews/status/1897756432461631789", + "url": "https://t.co/j4eBdDvmOZ", + "indices": [ + 20, + 43 + ] + } + ], + "user_mentions": [ + { + "id_str": "105327432", + "name": "Julia Davis", + "screen_name": "JuliaDavisNews", + "indices": [ + 3, + 18 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/NybcGgmNKn", + "expanded_url": "https://x.com/JuliaDavisNews/status/1897757633550946436/photo/1", + "id_str": "1897757626139660290", + "indices": [ + 44, + 67 + ], + "media_key": "3_1897757626139660290", + "media_url_https": "https://pbs.twimg.com/media/GlYwgZfX0AItS10.jpg", + "source_status_id_str": "1897757633550946436", + "source_user_id_str": "105327432", + "type": "photo", + "url": "https://t.co/NybcGgmNKn", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + }, + "medium": { + "faces": [ + { + "x": 966, + "y": 194, + "h": 137, + "w": 137 + }, + { + "x": 387, + "y": 101, + "h": 162, + "w": 162 + } + ] + }, + "small": { + "faces": [ + { + "x": 547, + "y": 110, + "h": 78, + "w": 78 + }, + { + "x": 219, + "y": 57, + "h": 91, + "w": 91 + } + ] + }, + "orig": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + } + }, + "sizes": { + "large": { + "h": 722, + "w": 1229, + "resize": "fit" + }, + "medium": { + "h": 705, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 399, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 722, + "width": 1229, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1229, + "h": 688 + }, + { + "x": 161, + "y": 0, + "w": 722, + "h": 722 + }, + { + "x": 206, + "y": 0, + "w": 633, + "h": 722 + }, + { + "x": 342, + "y": 0, + "w": 361, + "h": 722 + }, + { + "x": 0, + "y": 0, + "w": 1229, + "h": 722 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897757626139660290" + } + } + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @JuliaDavisNews: https://t.co/j4eBdDvmOZ https://t.co/NybcGgmNKn", + "is_quote_status": true, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1897756432461631789", + "quoted_status_permalink": { + "url": "https://t.co/j4eBdDvmOZ", + "expanded": "https://x.com/JuliaDavisNews/status/1897756432461631789", + "display": "x.com/JuliaDavisNews…" + }, + "reply_count": 0, + "retweet_count": 118, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897774515540676811", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897757633550946436", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897757633550946436" + ], + "editable_until_msecs": "1741299253000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "23979", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897756432461631789", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/P2iIQ4p2hV", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/KzVL5b39Oqw?list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 320, + "width": 569, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 158, + "width": 280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=280x280" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 81, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Vladimir Solovyov says Russia should take the Baltics, Armenia and...", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/P2iIQ4p2hV", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 4, + "green": 2, + "red": 2 + }, + "percentage": 52.25 + }, + { + "rgb": { + "blue": 11, + "green": 8, + "red": 183 + }, + "percentage": 18.57 + }, + { + "rgb": { + "blue": 184, + "green": 171, + "red": 176 + }, + "percentage": 11.28 + }, + { + "rgb": { + "blue": 105, + "green": 129, + "red": 190 + }, + "percentage": 7.34 + }, + { + "rgb": { + "blue": 26, + "green": 21, + "red": 121 + }, + "percentage": 3.87 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 1280, + "url": "https://pbs.twimg.com/card_img/1897755544716238848/_U2wvJTs?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/P2iIQ4p2hV", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79543035, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77913, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79543035, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897756432461631789" + ], + "editable_until_msecs": "1741298966000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "132155", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 65, + "bookmarked": false, + "created_at": "Thu Mar 06 21:09:26 +0000 2025", + "conversation_id_str": "1897756432461631789", + "display_text_range": [ + 0, + 283 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtube.com/watch?v=KzVL5b…", + "expanded_url": "https://www.youtube.com/watch?v=KzVL5b39Oqw&list=PLLWQyEN3YRo41QwWb7e8J5YjBX80WmGtG", + "url": "https://t.co/P2iIQ4p2hV", + "indices": [ + 260, + 283 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 614, + "favorited": false, + "full_text": "Meanwhile in Russia: Vladimir Solovyov praises Trumpushka and his tactics, which embolden Moscow. He says Russia should take the Baltics, Armenia & Central Asia. State Duma member Andrey Kartapolov says Russia should intensify its strikes against Ukraine.\nhttps://t.co/P2iIQ4p2hV", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 42, + "reply_count": 35, + "retweet_count": 342, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897756432461631789" + } + } + }, + "legacy": { + "bookmark_count": 11, + "bookmarked": false, + "created_at": "Thu Mar 06 21:14:13 +0000 2025", + "conversation_id_str": "1897757633550946436", + "display_text_range": [ + 0, + 23 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/NybcGgmNKn", + "expanded_url": "https://x.com/JuliaDavisNews/status/1897757633550946436/photo/1", + "id_str": "1897757626139660290", + "indices": [ + 24, + 47 + ], + "media_key": "3_1897757626139660290", + "media_url_https": "https://pbs.twimg.com/media/GlYwgZfX0AItS10.jpg", + "type": "photo", + "url": "https://t.co/NybcGgmNKn", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + }, + "medium": { + "faces": [ + { + "x": 966, + "y": 194, + "h": 137, + "w": 137 + }, + { + "x": 387, + "y": 101, + "h": 162, + "w": 162 + } + ] + }, + "small": { + "faces": [ + { + "x": 547, + "y": 110, + "h": 78, + "w": 78 + }, + { + "x": 219, + "y": 57, + "h": 91, + "w": 91 + } + ] + }, + "orig": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + } + }, + "sizes": { + "large": { + "h": 722, + "w": 1229, + "resize": "fit" + }, + "medium": { + "h": 705, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 399, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 722, + "width": 1229, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1229, + "h": 688 + }, + { + "x": 161, + "y": 0, + "w": 722, + "h": 722 + }, + { + "x": 206, + "y": 0, + "w": 633, + "h": 722 + }, + { + "x": 342, + "y": 0, + "w": 361, + "h": 722 + }, + { + "x": 0, + "y": 0, + "w": 1229, + "h": 722 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897757626139660290" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/JuliaDavisNews…", + "expanded_url": "https://x.com/JuliaDavisNews/status/1897756432461631789", + "url": "https://t.co/j4eBdDvmOZ", + "indices": [ + 0, + 23 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/NybcGgmNKn", + "expanded_url": "https://x.com/JuliaDavisNews/status/1897757633550946436/photo/1", + "id_str": "1897757626139660290", + "indices": [ + 24, + 47 + ], + "media_key": "3_1897757626139660290", + "media_url_https": "https://pbs.twimg.com/media/GlYwgZfX0AItS10.jpg", + "type": "photo", + "url": "https://t.co/NybcGgmNKn", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + }, + "medium": { + "faces": [ + { + "x": 966, + "y": 194, + "h": 137, + "w": 137 + }, + { + "x": 387, + "y": 101, + "h": 162, + "w": 162 + } + ] + }, + "small": { + "faces": [ + { + "x": 547, + "y": 110, + "h": 78, + "w": 78 + }, + { + "x": 219, + "y": 57, + "h": 91, + "w": 91 + } + ] + }, + "orig": { + "faces": [ + { + "x": 990, + "y": 199, + "h": 141, + "w": 141 + }, + { + "x": 397, + "y": 104, + "h": 166, + "w": 166 + } + ] + } + }, + "sizes": { + "large": { + "h": 722, + "w": 1229, + "resize": "fit" + }, + "medium": { + "h": 705, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 399, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 722, + "width": 1229, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1229, + "h": 688 + }, + { + "x": 161, + "y": 0, + "w": 722, + "h": 722 + }, + { + "x": 206, + "y": 0, + "w": 633, + "h": 722 + }, + { + "x": 342, + "y": 0, + "w": 361, + "h": 722 + }, + { + "x": 0, + "y": 0, + "w": 1229, + "h": 722 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897757626139660290" + } + } + } + ] + }, + "favorite_count": 268, + "favorited": false, + "full_text": "https://t.co/j4eBdDvmOZ https://t.co/NybcGgmNKn", + "is_quote_status": true, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 7, + "quoted_status_id_str": "1897756432461631789", + "quoted_status_permalink": { + "url": "https://t.co/j4eBdDvmOZ", + "expanded": "https://x.com/JuliaDavisNews/status/1897756432461631789", + "display": "x.com/JuliaDavisNews…" + }, + "reply_count": 11, + "retweet_count": 118, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897757633550946436" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897773150990930392", + "sortIndex": "1897829059325329332", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897773150990930392", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897773150990930392" + ], + "editable_until_msecs": "1741302952773", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:15:52 +0000 2025", + "conversation_id_str": "1897773150990930392", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "19502995", + "name": "Geoff Bennett", + "screen_name": "GeoffRBennett", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @GeoffRBennett: Republican Sen. Rand Paul on Trump's tariffs: \"Almost every industry in Kentucky has come to me and said, '(Tariffs) wil…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897773150990930392", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897772901618868721", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTUwMjk5NQ==", + "rest_id": "19502995", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jan 25 20:21:13 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "@NewsHour Co-Anchor | @NBCNews Contributor | @colonialwmsburg \n Trustee | Forever @Morehouse", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "pbs.org/newshour/press…", + "expanded_url": "https://www.pbs.org/newshour/press-releases/amna-nawaz-and-geoff-bennett-named-co-anchors-of-pbs-new", + "url": "https://t.co/U8m60tD0DW", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 45783, + "followers_count": 155627, + "friends_count": 5724, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1608, + "location": "Washington, D.C.", + "media_count": 986, + "name": "Geoff Bennett", + "normal_followers_count": 155627, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/19502995/1726577410", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1849917374075400192/yuo9SQpG_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GeoffRBennett", + "statuses_count": 20504, + "translator_type": "none", + "url": "https://t.co/U8m60tD0DW", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897772901618868721" + ], + "editable_until_msecs": "1741302893000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "3950", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3NzI5MDE1MzkyMzM3OTI=", + "text": "Republican Sen. Rand Paul on Trump's tariffs: \"Almost every industry in Kentucky has come to me and said, '(Tariffs) will hurt our industry and push up prices of homes, cars,' and so I'm going to continue to argue against tariffs ... I hope they won't cause a recession, but already, they're talking about exemptions because even the people for them acknowledge that there are real problems with tariffs.\"", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 4, + "bookmarked": false, + "created_at": "Thu Mar 06 22:14:53 +0000 2025", + "conversation_id_str": "1897772901618868721", + "display_text_range": [ + 0, + 274 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 23, + "favorited": false, + "full_text": "Republican Sen. Rand Paul on Trump's tariffs: \"Almost every industry in Kentucky has come to me and said, '(Tariffs) will hurt our industry and push up prices of homes, cars,' and so I'm going to continue to argue against tariffs ... I hope they won't cause a recession, but", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 0, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "19502995", + "id_str": "1897772901618868721" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897772944316645777", + "sortIndex": "1897829059325329331", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897772944316645777", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897772944316645777" + ], + "editable_until_msecs": "1741302903498", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:15:03 +0000 2025", + "conversation_control": { + "policy": "ByInvitation", + "conversation_owner_results": { + "result": { + "__typename": "User", + "legacy": { + "screen_name": "RymMomtaz" + } + } + } + }, + "conversation_id_str": "1897772944316645777", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "408971802", + "name": "Rym Momtaz ريم ممتاز (rmomtaz.bsky.social)", + "screen_name": "RymMomtaz", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @RymMomtaz: After VPOTUS, POTUS, 2nd time in 1 week that they insult the valor of the French military. The French military that fought a…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897759611194650691", + "quoted_status_permalink": { + "url": "https://t.co/jukD6XpkmE", + "expanded": "https://twitter.com/jenniferjjacobs/status/1897759611194650691", + "display": "x.com/jenniferjjacob…" + }, + "reply_count": 0, + "retweet_count": 13, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897772944316645777", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897772695791542750", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MDg5NzE4MDI=", + "rest_id": "408971802", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Nov 10 03:42:07 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "🇱🇧&🇺🇸 (Paris-based) Editor-in-chief of Strategic Europe, @carnegie_europe after more than a decade on Middle East affairs. Multiple @newsemmys winner.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 4304, + "followers_count": 27996, + "friends_count": 979, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 596, + "location": "", + "media_count": 751, + "name": "Rym Momtaz ريم ممتاز (rmomtaz.bsky.social)", + "normal_followers_count": 27996, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/408971802/1477474181", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1197241502734454789/IwjB-kQV_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "RymMomtaz", + "statuses_count": 20200, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897772695791542750" + ], + "editable_until_msecs": "1741302844000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "6138", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897759611194650691", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTQzMzQ1Mg==", + "rest_id": "15433452", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Jul 14 22:44:34 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "CBS News senior White House reporter. Reporting what I know, not what I think. @Bloomberg and @DMRegister alum. Email me: jennifer.jacobs@cbsnews.com 💕Iowa", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3017, + "followers_count": 340221, + "friends_count": 52215, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 5304, + "location": "Washington, DC", + "media_count": 6271, + "name": "Jennifer Jacobs", + "normal_followers_count": 340221, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/15433452/1468026333", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1392970022788739076/onBovkzc_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JenniferJJacobs", + "statuses_count": 77134, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897759611194650691" + ], + "editable_until_msecs": "1741299724000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "92452", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3NTk2MTEwNzI5NzA3NTI=", + "text": "Asked if he is going to make it US policy that US wouldn't defend NATO countries that don't pay, Trump in Oval: \"Well, I think it's common sense, right? If they don't pay, I'm not going to defend them. \"No, I'm not going to defend them.\n\"I got into a lot of heat when I said that. They said, 'Oh, he's violating NATO.'\n\"And you know, the biggest problem I have with NATO, I really -- I mean, I know the guys very well. They're friends of mine. \n\"But if the United States was in trouble, and we called them, 'We said we got a problem. France, we got a problem.' A couple of others I won't mention. Do you think they're going to come and protect us? They're supposed to. I'm not so sure.\"", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 15, + "bookmarked": false, + "created_at": "Thu Mar 06 21:22:04 +0000 2025", + "conversation_id_str": "1897746124728906052", + "display_text_range": [ + 0, + 280 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/owaXm9hxet", + "expanded_url": "https://x.com/JenniferJJacobs/status/1897759611194650691/photo/1", + "id_str": "1897759588771876865", + "indices": [ + 281, + 304 + ], + "media_key": "3_1897759588771876865", + "media_url_https": "https://pbs.twimg.com/media/GlYySo3W0AEBYf_.jpg", + "type": "photo", + "url": "https://t.co/owaXm9hxet", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 877, + "y": 381, + "h": 112, + "w": 112 + }, + { + "x": 838, + "y": 183, + "h": 147, + "w": 147 + } + ] + }, + "medium": { + "faces": [ + { + "x": 549, + "y": 238, + "h": 70, + "w": 70 + }, + { + "x": 524, + "y": 114, + "h": 92, + "w": 92 + } + ] + }, + "small": { + "faces": [ + { + "x": 311, + "y": 135, + "h": 39, + "w": 39 + }, + { + "x": 297, + "y": 64, + "h": 52, + "w": 52 + } + ] + }, + "orig": { + "faces": [ + { + "x": 877, + "y": 381, + "h": 112, + "w": 112 + }, + { + "x": 838, + "y": 183, + "h": 147, + "w": 147 + } + ] + } + }, + "sizes": { + "large": { + "h": 1059, + "w": 1916, + "resize": "fit" + }, + "medium": { + "h": 663, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 376, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1059, + "width": 1916, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1891, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 1059, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 929, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 530, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 1916, + "h": 1059 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897759588771876865" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/owaXm9hxet", + "expanded_url": "https://x.com/JenniferJJacobs/status/1897759611194650691/photo/1", + "id_str": "1897759588771876865", + "indices": [ + 281, + 304 + ], + "media_key": "3_1897759588771876865", + "media_url_https": "https://pbs.twimg.com/media/GlYySo3W0AEBYf_.jpg", + "type": "photo", + "url": "https://t.co/owaXm9hxet", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 877, + "y": 381, + "h": 112, + "w": 112 + }, + { + "x": 838, + "y": 183, + "h": 147, + "w": 147 + } + ] + }, + "medium": { + "faces": [ + { + "x": 549, + "y": 238, + "h": 70, + "w": 70 + }, + { + "x": 524, + "y": 114, + "h": 92, + "w": 92 + } + ] + }, + "small": { + "faces": [ + { + "x": 311, + "y": 135, + "h": 39, + "w": 39 + }, + { + "x": 297, + "y": 64, + "h": 52, + "w": 52 + } + ] + }, + "orig": { + "faces": [ + { + "x": 877, + "y": 381, + "h": 112, + "w": 112 + }, + { + "x": 838, + "y": 183, + "h": 147, + "w": 147 + } + ] + } + }, + "sizes": { + "large": { + "h": 1059, + "w": 1916, + "resize": "fit" + }, + "medium": { + "h": 663, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 376, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1059, + "width": 1916, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1891, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 1059, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 929, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 530, + "h": 1059 + }, + { + "x": 0, + "y": 0, + "w": 1916, + "h": 1059 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897759588771876865" + } + } + } + ] + }, + "favorite_count": 62, + "favorited": false, + "full_text": "Asked if he is going to make it US policy that US wouldn't defend NATO countries that don't pay, Trump in Oval: \"Well, I think it's common sense, right? If they don't pay, I'm not going to defend them. \"No, I'm not going to defend them.\n\"I got into a lot of heat when I said that. https://t.co/owaXm9hxet", + "in_reply_to_screen_name": "JenniferJJacobs", + "in_reply_to_status_id_str": "1897746124728906052", + "in_reply_to_user_id_str": "15433452", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 31, + "reply_count": 36, + "retweet_count": 27, + "retweeted": false, + "user_id_str": "15433452", + "id_str": "1897759611194650691" + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Thu Mar 06 22:14:04 +0000 2025", + "conversation_control": { + "policy": "ByInvitation", + "conversation_owner_results": { + "result": { + "__typename": "User", + "legacy": { + "screen_name": "RymMomtaz" + } + } + } + }, + "conversation_id_str": "1897772695791542750", + "display_text_range": [ + 0, + 246 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 40, + "favorited": false, + "full_text": "After VPOTUS, POTUS, 2nd time in 1 week that they insult the valor of the French military. The French military that fought and lost soldiers in Afghanistan fighting by America’s side when the U.S. invoked Art 5, for the only time in NATO history.", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1897759611194650691", + "quoted_status_permalink": { + "url": "https://t.co/jukD6XpkmE", + "expanded": "https://twitter.com/jenniferjjacobs/status/1897759611194650691", + "display": "x.com/jenniferjjacob…" + }, + "reply_count": 0, + "retweet_count": 13, + "retweeted": false, + "user_id_str": "408971802", + "id_str": "1897772695791542750" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897772873227362722", + "sortIndex": "1897829059325329330", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897772873227362722", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/DjaFeIAtJi", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 225, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Donald Trump is pursuing a one-sided detente with Russia at Ukraine's and Europe's expense. In so doing, he is helping China help woo disenchanted U.S. allies.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.washingtonexaminer.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 480, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "18956073", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 67, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "18956073", + "path": [] + } + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "washingtonexaminer.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 38, + "green": 27, + "red": 14 + }, + "percentage": 41.4 + }, + { + "rgb": { + "blue": 111, + "green": 128, + "red": 163 + }, + "percentage": 20.76 + }, + { + "rgb": { + "blue": 53, + "green": 71, + "red": 107 + }, + "percentage": 8.93 + }, + { + "rgb": { + "blue": 112, + "green": 73, + "red": 34 + }, + "percentage": 6.47 + }, + { + "rgb": { + "blue": 90, + "green": 156, + "red": 174 + }, + "percentage": 5.53 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Trump’s Russia prostration is a great global gift to China - Washington Examiner", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 38, + "green": 27, + "red": 14 + }, + "percentage": 41.4 + }, + { + "rgb": { + "blue": 111, + "green": 128, + "red": 163 + }, + "percentage": 20.76 + }, + { + "rgb": { + "blue": 53, + "green": 71, + "red": 107 + }, + "percentage": 8.93 + }, + { + "rgb": { + "blue": 112, + "green": 73, + "red": 34 + }, + "percentage": 6.47 + }, + { + "rgb": { + "blue": 90, + "green": 156, + "red": 174 + }, + "percentage": 5.53 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 38, + "green": 27, + "red": 14 + }, + "percentage": 41.4 + }, + { + "rgb": { + "blue": 111, + "green": 128, + "red": 163 + }, + "percentage": 20.76 + }, + { + "rgb": { + "blue": 53, + "green": 71, + "red": 107 + }, + "percentage": 8.93 + }, + { + "rgb": { + "blue": 112, + "green": 73, + "red": 34 + }, + "percentage": 6.47 + }, + { + "rgb": { + "blue": 90, + "green": 156, + "red": 174 + }, + "percentage": 5.53 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/DjaFeIAtJi", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/DjaFeIAtJi", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk1NjA3Mw==", + "rest_id": "18956073", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Jan 13 22:16:00 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Political news and commentary from the Washington Examiner. https://t.co/IV2haseKib\n\n#RestoringAmerica", + "entities": { + "description": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "http://washingtonexaminer.com", + "url": "https://t.co/IV2haseKib", + "indices": [ + 60, + 83 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "https://www.washingtonexaminer.com", + "url": "https://t.co/rUG6hFZCFo", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 735, + "followers_count": 361174, + "friends_count": 450, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4265, + "location": "Washington, DC", + "media_count": 237447, + "name": "Washington Examiner", + "normal_followers_count": 361174, + "pinned_tweet_ids_str": [ + "1897334389484486872" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18956073/1719427727", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1049003685639081986/zX2rN7zN_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "dcexaminer", + "statuses_count": 768810, + "translator_type": "regular", + "url": "https://t.co/rUG6hFZCFo", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1438638372176769030", + "professional_type": "Business", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk1NjA3Mw==", + "rest_id": "18956073", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Jan 13 22:16:00 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Political news and commentary from the Washington Examiner. https://t.co/IV2haseKib\n\n#RestoringAmerica", + "entities": { + "description": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "http://washingtonexaminer.com", + "url": "https://t.co/IV2haseKib", + "indices": [ + 60, + 83 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "https://www.washingtonexaminer.com", + "url": "https://t.co/rUG6hFZCFo", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 735, + "followers_count": 361174, + "friends_count": 450, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4265, + "location": "Washington, DC", + "media_count": 237447, + "name": "Washington Examiner", + "normal_followers_count": 361174, + "pinned_tweet_ids_str": [ + "1897334389484486872" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18956073/1719427727", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1049003685639081986/zX2rN7zN_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "dcexaminer", + "statuses_count": 768810, + "translator_type": "regular", + "url": "https://t.co/rUG6hFZCFo", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1438638372176769030", + "professional_type": "Business", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897772873227362722" + ], + "editable_until_msecs": "1741302886549", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:14:46 +0000 2025", + "conversation_id_str": "1897772873227362722", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "55246869", + "name": "Tom Rogan", + "screen_name": "TomRtweets", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @TomRtweets: Trump suspended intelligence sharing with Ukraine that is crucial in helping it detect, intercept, and protect its people a…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897772873227362722", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897771794313920861", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1NTI0Njg2OQ==", + "rest_id": "55246869", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Jul 09 14:16:17 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "TRogan@Washingtonexaminer.com - (encrypted: TJRogan@protonmail.com). Grad @warstudies @SOAS @UniversityofLaw. Fan @Everton.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "washingtonexaminer.com/author/tom-rog…", + "expanded_url": "https://www.washingtonexaminer.com/author/tom-rogan", + "url": "https://t.co/1CJFNNMrDd", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 10905, + "followers_count": 28228, + "friends_count": 875, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 582, + "location": "Washington, DC", + "media_count": 202, + "name": "Tom Rogan", + "normal_followers_count": 28228, + "pinned_tweet_ids_str": [ + "1877827940752240801" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/55246869/1663625454", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1755347634829557762/Jh8WsMIC_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TomRtweets", + "statuses_count": 6762, + "translator_type": "none", + "url": "https://t.co/1CJFNNMrDd", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1544822782160211968", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/DjaFeIAtJi", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 225, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Donald Trump is pursuing a one-sided detente with Russia at Ukraine's and Europe's expense. In so doing, he is helping China help woo disenchanted U.S. allies.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.washingtonexaminer.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 480, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "18956073", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 67, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "18956073", + "path": [] + } + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "washingtonexaminer.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 38, + "green": 27, + "red": 14 + }, + "percentage": 41.4 + }, + { + "rgb": { + "blue": 111, + "green": 128, + "red": 163 + }, + "percentage": 20.76 + }, + { + "rgb": { + "blue": 53, + "green": 71, + "red": 107 + }, + "percentage": 8.93 + }, + { + "rgb": { + "blue": 112, + "green": 73, + "red": 34 + }, + "percentage": 6.47 + }, + { + "rgb": { + "blue": 90, + "green": 156, + "red": 174 + }, + "percentage": 5.53 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Trump’s Russia prostration is a great global gift to China - Washington Examiner", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 38, + "green": 27, + "red": 14 + }, + "percentage": 41.4 + }, + { + "rgb": { + "blue": 111, + "green": 128, + "red": 163 + }, + "percentage": 20.76 + }, + { + "rgb": { + "blue": 53, + "green": 71, + "red": 107 + }, + "percentage": 8.93 + }, + { + "rgb": { + "blue": 112, + "green": 73, + "red": 34 + }, + "percentage": 6.47 + }, + { + "rgb": { + "blue": 90, + "green": 156, + "red": 174 + }, + "percentage": 5.53 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 38, + "green": 27, + "red": 14 + }, + "percentage": 41.4 + }, + { + "rgb": { + "blue": 111, + "green": 128, + "red": 163 + }, + "percentage": 20.76 + }, + { + "rgb": { + "blue": 53, + "green": 71, + "red": 107 + }, + "percentage": 8.93 + }, + { + "rgb": { + "blue": 112, + "green": 73, + "red": 34 + }, + "percentage": 6.47 + }, + { + "rgb": { + "blue": 90, + "green": 156, + "red": 174 + }, + "percentage": 5.53 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/DjaFeIAtJi", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 683, + "width": 1024, + "url": "https://pbs.twimg.com/card_img/1897048925690818560/oKD9Z2ui?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/DjaFeIAtJi", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk1NjA3Mw==", + "rest_id": "18956073", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Jan 13 22:16:00 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Political news and commentary from the Washington Examiner. https://t.co/IV2haseKib\n\n#RestoringAmerica", + "entities": { + "description": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "http://washingtonexaminer.com", + "url": "https://t.co/IV2haseKib", + "indices": [ + 60, + 83 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "https://www.washingtonexaminer.com", + "url": "https://t.co/rUG6hFZCFo", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 735, + "followers_count": 361174, + "friends_count": 450, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4265, + "location": "Washington, DC", + "media_count": 237447, + "name": "Washington Examiner", + "normal_followers_count": 361174, + "pinned_tweet_ids_str": [ + "1897334389484486872" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18956073/1719427727", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1049003685639081986/zX2rN7zN_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "dcexaminer", + "statuses_count": 768810, + "translator_type": "regular", + "url": "https://t.co/rUG6hFZCFo", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1438638372176769030", + "professional_type": "Business", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk1NjA3Mw==", + "rest_id": "18956073", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Jan 13 22:16:00 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Political news and commentary from the Washington Examiner. https://t.co/IV2haseKib\n\n#RestoringAmerica", + "entities": { + "description": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "http://washingtonexaminer.com", + "url": "https://t.co/IV2haseKib", + "indices": [ + 60, + 83 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "washingtonexaminer.com", + "expanded_url": "https://www.washingtonexaminer.com", + "url": "https://t.co/rUG6hFZCFo", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 735, + "followers_count": 361174, + "friends_count": 450, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4265, + "location": "Washington, DC", + "media_count": 237447, + "name": "Washington Examiner", + "normal_followers_count": 361174, + "pinned_tweet_ids_str": [ + "1897334389484486872" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/18956073/1719427727", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1049003685639081986/zX2rN7zN_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "dcexaminer", + "statuses_count": 768810, + "translator_type": "regular", + "url": "https://t.co/rUG6hFZCFo", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1438638372176769030", + "professional_type": "Business", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897771794313920861" + ], + "editable_until_msecs": "1741302629000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2203", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Thu Mar 06 22:10:29 +0000 2025", + "conversation_id_str": "1897771794313920861", + "display_text_range": [ + 0, + 276 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "washingtonexaminer.com/opinion/beltwa…", + "expanded_url": "https://www.washingtonexaminer.com/opinion/beltway-confidential/3339920/trump-russia-prostration-great-global-gift-china/", + "url": "https://t.co/DjaFeIAtJi", + "indices": [ + 253, + 276 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 14, + "favorited": false, + "full_text": "Trump suspended intelligence sharing with Ukraine that is crucial in helping it detect, intercept, and protect its people against Russian attacks. Russia promptly thanked Trump for his generosity by firing a missile into a hotel in Zelensky’s hometown. https://t.co/DjaFeIAtJi", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 1, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "55246869", + "id_str": "1897771794313920861" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897769581852103065", + "sortIndex": "1897829059325329329", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897769581852103065", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTc1OTgwOA==", + "rest_id": "19759808", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Jan 30 08:48:24 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Russia- and eastern 🇺🇦-watcher, editor at @liberalemoderne.\nPast @OSCE SMM, @MoscowTimes, @warstudies n.vontwickel@greyfriars.oxon.org | @niktwick elsewhere", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "civicmonitoring.org", + "expanded_url": "https://civicmonitoring.org/", + "url": "https://t.co/qPhvnx5SNW", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1913, + "followers_count": 12907, + "friends_count": 1453, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 897, + "location": "Berlin, Deutschland", + "media_count": 2330, + "name": "Nikolaus von Twickel ", + "normal_followers_count": 12907, + "pinned_tweet_ids_str": [ + "1778849214245503447" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/19759808/1726822992", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1521204755028131840/Xn1rWyRQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "niktwick", + "statuses_count": 47287, + "translator_type": "none", + "url": "https://t.co/qPhvnx5SNW", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1492621647072968707", + "professional_type": "Creator", + "category": [ + { + "id": 956, + "name": "Writer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897769581852103065" + ], + "editable_until_msecs": "1741302101000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "644", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897357824180805888", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTgxMTE5MA==", + "rest_id": "19811190", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 31 10:31:39 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Journalist, The New European. Author of Postcapitalism, How To Stop Fascism. Assoc. Fellow at Council on Geostrategy - find me over at BlueSky", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "paulmason.org", + "expanded_url": "http://www.paulmason.org", + "url": "https://t.co/efOaemvDPy", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 82299, + "followers_count": 594429, + "friends_count": 8316, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5531, + "location": "London, England", + "media_count": 5195, + "name": "Paul Mason", + "normal_followers_count": 594429, + "pinned_tweet_ids_str": [ + "1895832767444963573" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/19811190/1741099408", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1314244400764129280/KWVoqry5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "paulmasonnews", + "statuses_count": 64502, + "translator_type": "none", + "url": "https://t.co/efOaemvDPy", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1509561834440962056", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "patreon_handle": "howtostopfascism" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897357824180805888" + ], + "editable_until_msecs": "1741203931000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1256823", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 1234, + "bookmarked": false, + "created_at": "Wed Mar 05 18:45:31 +0000 2025", + "conversation_id_str": "1897357824180805888", + "display_text_range": [ + 0, + 18 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/QyBcLwLjrF", + "expanded_url": "https://x.com/paulmasonnews/status/1897357824180805888/photo/1", + "id_str": "1897357817666801665", + "indices": [ + 19, + 42 + ], + "media_key": "3_1897357817666801665", + "media_url_https": "https://pbs.twimg.com/media/GlTE4e3XEAE3L8H.jpg", + "type": "photo", + "url": "https://t.co/QyBcLwLjrF", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 896, + "y": 1202, + "h": 402, + "w": 402 + } + ] + }, + "medium": { + "faces": [ + { + "x": 525, + "y": 704, + "h": 235, + "w": 235 + } + ] + }, + "small": { + "faces": [ + { + "x": 297, + "y": 399, + "h": 133, + "w": 133 + } + ] + }, + "orig": { + "faces": [ + { + "x": 896, + "y": 1202, + "h": 402, + "w": 402 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1751 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897357817666801665" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/QyBcLwLjrF", + "expanded_url": "https://x.com/paulmasonnews/status/1897357824180805888/photo/1", + "id_str": "1897357817666801665", + "indices": [ + 19, + 42 + ], + "media_key": "3_1897357817666801665", + "media_url_https": "https://pbs.twimg.com/media/GlTE4e3XEAE3L8H.jpg", + "type": "photo", + "url": "https://t.co/QyBcLwLjrF", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 896, + "y": 1202, + "h": 402, + "w": 402 + } + ] + }, + "medium": { + "faces": [ + { + "x": 525, + "y": 704, + "h": 235, + "w": 235 + } + ] + }, + "small": { + "faces": [ + { + "x": 297, + "y": 399, + "h": 133, + "w": 133 + } + ] + }, + "orig": { + "faces": [ + { + "x": 896, + "y": 1202, + "h": 402, + "w": 402 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1751 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897357817666801665" + } + } + } + ] + }, + "favorite_count": 92091, + "favorited": false, + "full_text": "London, US Embassy https://t.co/QyBcLwLjrF", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 277, + "reply_count": 1859, + "retweet_count": 13791, + "retweeted": false, + "user_id_str": "19811190", + "id_str": "1897357824180805888" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:01:41 +0000 2025", + "conversation_id_str": "1897769581852103065", + "display_text_range": [ + 0, + 5 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "🕴️♀️", + "is_quote_status": true, + "lang": "art", + "quote_count": 0, + "quoted_status_id_str": "1897357824180805888", + "quoted_status_permalink": { + "url": "https://t.co/kD4QmxUIJD", + "expanded": "https://twitter.com/paulmasonnews/status/1897357824180805888", + "display": "x.com/paulmasonnews/…" + }, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "19759808", + "id_str": "1897769581852103065" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897769386317848903", + "sortIndex": "1897829059325329328", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897769386317848903", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897769386317848903" + ], + "editable_until_msecs": "1741302055205", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 22:00:55 +0000 2025", + "conversation_id_str": "1897769386317848903", + "display_text_range": [ + 0, + 73 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "14616610", + "name": "Robert A. George", + "screen_name": "RobGeorge", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @RobGeorge: DOGE thought that \"black site\" was code for a DEI project.", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897728191235543482", + "quoted_status_permalink": { + "url": "https://t.co/QYaue4MmfY", + "expanded": "https://twitter.com/NewsWire_US/status/1897728191235543482", + "display": "x.com/NewsWire_US/st…" + }, + "reply_count": 0, + "retweet_count": 6781, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897769386317848903", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897735640441405864", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDYxNjYxMA==", + "rest_id": "14616610", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu May 01 17:07:18 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "Ex-Bloomberg, Daily News, New York Post; standup, improviser, pun-dit, Trini-Dad jokes, comics nerd, etc. https://t.co/YmN5So4Oeg", + "entities": { + "description": { + "urls": [ + { + "display_url": "thepunstack.substack.com", + "expanded_url": "https://thepunstack.substack.com", + "url": "https://t.co/YmN5So4Oeg", + "indices": [ + 106, + 129 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "linktr.ee/robgeorge29", + "expanded_url": "https://linktr.ee/robgeorge29", + "url": "https://t.co/PjgkWUZKZC", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 246820, + "followers_count": 32760, + "friends_count": 7068, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 679, + "location": "New York City", + "media_count": 4767, + "name": "Robert A. George", + "normal_followers_count": 32760, + "pinned_tweet_ids_str": [ + "1854306062276743183" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/14616610/1651257376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1390002492222627841/RCQszzri_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "RobGeorge", + "statuses_count": 229292, + "translator_type": "none", + "url": "https://t.co/PjgkWUZKZC", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1787577120782262753", + "professional_type": "Business", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "cash_app_handle": "$robgeorge29", + "venmo_handle": "robgeorge29" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897735640441405864" + ], + "editable_until_msecs": "1741294009000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1662914", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897728191235543482", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTc4NzczNzk5Mjg3ODg1ODI1", + "rest_id": "1178773799287885825", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Polymarket", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1789484330638561280/t4Js9UFO_bigger.jpg" + }, + "description": "Polymarket", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Sep 30 20:49:40 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "U.S. and world news aggregator. Direct from AP, Bloomberg, Reuters & others. Turn on Tweet notifications.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "newswireus.com", + "expanded_url": "http://newswireus.com", + "url": "https://t.co/1n3rw5OCCU", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 923, + "followers_count": 59671, + "friends_count": 196, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 639, + "location": "Washington, D.C.", + "media_count": 1454, + "name": "NewsWire", + "normal_followers_count": 59671, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1178773799287885825/1722953661", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1820825737982517248/yDHyolRX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NewsWire_US", + "statuses_count": 15513, + "translator_type": "none", + "url": "https://t.co/1n3rw5OCCU", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1502937719013531651", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897728191235543482" + ], + "editable_until_msecs": "1741292233000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5175646", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 2617, + "bookmarked": false, + "created_at": "Thu Mar 06 19:17:13 +0000 2025", + "conversation_id_str": "1897728191235543482", + "display_text_range": [ + 0, + 115 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 20885, + "favorited": false, + "full_text": "DOGE effort to sell off federal properties inadvertently exposes CIA black site in Northern Virginia — Bloomberg TV", + "is_quote_status": false, + "lang": "en", + "quote_count": 2253, + "reply_count": 993, + "retweet_count": 3723, + "retweeted": false, + "user_id_str": "1178773799287885825", + "id_str": "1897728191235543482" + } + } + }, + "legacy": { + "bookmark_count": 2247, + "bookmarked": false, + "created_at": "Thu Mar 06 19:46:49 +0000 2025", + "conversation_id_str": "1897735640441405864", + "display_text_range": [ + 0, + 58 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 52857, + "favorited": false, + "full_text": "DOGE thought that \"black site\" was code for a DEI project.", + "is_quote_status": true, + "lang": "en", + "quote_count": 195, + "quoted_status_id_str": "1897728191235543482", + "quoted_status_permalink": { + "url": "https://t.co/QYaue4MmfY", + "expanded": "https://twitter.com/NewsWire_US/status/1897728191235543482", + "display": "x.com/NewsWire_US/st…" + }, + "reply_count": 308, + "retweet_count": 6781, + "retweeted": false, + "user_id_str": "14616610", + "id_str": "1897735640441405864" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897768940907991409", + "sortIndex": "1897829059325329327", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897768940907991409", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897768940907991409" + ], + "editable_until_msecs": "1741301949011", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 21:59:09 +0000 2025", + "conversation_id_str": "1897768940907991409", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1178773799287885825", + "name": "NewsWire", + "screen_name": "NewsWire_US", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @NewsWire_US: DOGE effort to sell off federal properties inadvertently exposes CIA black site in Northern Virginia — Bloomberg TV", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 3723, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897768940907991409", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897728191235543482", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTc4NzczNzk5Mjg3ODg1ODI1", + "rest_id": "1178773799287885825", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/Polymarket", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1789484330638561280/t4Js9UFO_bigger.jpg" + }, + "description": "Polymarket", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Sep 30 20:49:40 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "U.S. and world news aggregator. Direct from AP, Bloomberg, Reuters & others. Turn on Tweet notifications.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "newswireus.com", + "expanded_url": "http://newswireus.com", + "url": "https://t.co/1n3rw5OCCU", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 923, + "followers_count": 59671, + "friends_count": 196, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 639, + "location": "Washington, D.C.", + "media_count": 1454, + "name": "NewsWire", + "normal_followers_count": 59671, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1178773799287885825/1722953661", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1820825737982517248/yDHyolRX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NewsWire_US", + "statuses_count": 15513, + "translator_type": "none", + "url": "https://t.co/1n3rw5OCCU", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1502937719013531651", + "professional_type": "Creator", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897728191235543482" + ], + "editable_until_msecs": "1741292233000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "5175646", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 2617, + "bookmarked": false, + "created_at": "Thu Mar 06 19:17:13 +0000 2025", + "conversation_id_str": "1897728191235543482", + "display_text_range": [ + 0, + 115 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 20883, + "favorited": false, + "full_text": "DOGE effort to sell off federal properties inadvertently exposes CIA black site in Northern Virginia — Bloomberg TV", + "is_quote_status": false, + "lang": "en", + "quote_count": 2253, + "reply_count": 993, + "retweet_count": 3723, + "retweeted": false, + "user_id_str": "1178773799287885825", + "id_str": "1897728191235543482" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897768378657292391", + "sortIndex": "1897829059325329326", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897768378657292391", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDA1ODQ2NTAwNTgzMzIxNjAx", + "rest_id": "1005846500583321601", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jun 10 16:17:48 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Dad. Husband. Vet. NYT Best-selling Author. Ex NSC/WH Staff. Senior Advisor @votevets. Dr. & Senior Fellow FPI, SAIS, JHU. @avindman.bsky.social", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "avindman.com", + "expanded_url": "https://avindman.com", + "url": "https://t.co/Zb1dWqElpQ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22353, + "followers_count": 912797, + "friends_count": 1841, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5465, + "location": "Florida, USA", + "media_count": 514, + "name": "Alexander S. Vindman 🇺🇸", + "normal_followers_count": 912797, + "pinned_tweet_ids_str": [ + "1897410895736942676" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1005846500583321601/1732284931", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1438653431837872135/6170zRMd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AVindman", + "statuses_count": 8700, + "translator_type": "none", + "url": "https://t.co/Zb1dWqElpQ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1469829466885132297", + "professional_type": "Business", + "category": [ + { + "id": 956, + "name": "Writer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897768378657292391" + ], + "editable_until_msecs": "1741301814960", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 21:56:54 +0000 2025", + "conversation_id_str": "1897768378657292391", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1005846500583321601", + "name": "Alexander S. Vindman 🇺🇸", + "screen_name": "AVindman", + "indices": [ + 3, + 12 + ] + }, + { + "id_str": "818893114979061761", + "name": "Jo", + "screen_name": "JoJoFromJerz", + "indices": [ + 42, + 55 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @AVindman: Join the Substack Live with @JoJoFromJerz today at 3/6 @ 6pm ET / 3pm PT (I’m in LA!) to talk about my NYT Bestselling book T…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 22, + "retweeted": false, + "user_id_str": "1005846500583321601", + "id_str": "1897768378657292391", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897696031254757564", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDA1ODQ2NTAwNTgzMzIxNjAx", + "rest_id": "1005846500583321601", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sun Jun 10 16:17:48 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Dad. Husband. Vet. NYT Best-selling Author. Ex NSC/WH Staff. Senior Advisor @votevets. Dr. & Senior Fellow FPI, SAIS, JHU. @avindman.bsky.social", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "avindman.com", + "expanded_url": "https://avindman.com", + "url": "https://t.co/Zb1dWqElpQ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 22353, + "followers_count": 912797, + "friends_count": 1841, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5465, + "location": "Florida, USA", + "media_count": 514, + "name": "Alexander S. Vindman 🇺🇸", + "normal_followers_count": 912797, + "pinned_tweet_ids_str": [ + "1897410895736942676" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1005846500583321601/1732284931", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1438653431837872135/6170zRMd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AVindman", + "statuses_count": 8700, + "translator_type": "none", + "url": "https://t.co/Zb1dWqElpQ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1469829466885132297", + "professional_type": "Business", + "category": [ + { + "id": 956, + "name": "Writer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897696031254757564" + ], + "editable_until_msecs": "1741284565000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "20811", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Thu Mar 06 17:09:25 +0000 2025", + "conversation_id_str": "1897696031254757564", + "display_text_range": [ + 0, + 244 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1uPRcbVdn0", + "expanded_url": "https://x.com/AVindman/status/1897696031254757564/photo/1", + "id_str": "1897696023331717122", + "indices": [ + 245, + 268 + ], + "media_key": "3_1897696023331717122", + "media_url_https": "https://pbs.twimg.com/media/GlX4epJbwAIPpno.jpg", + "type": "photo", + "url": "https://t.co/1uPRcbVdn0", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 190, + "y": 680, + "h": 167, + "w": 167 + }, + { + "x": 181, + "y": 213, + "h": 191, + "w": 191 + } + ] + }, + "medium": { + "faces": [ + { + "x": 190, + "y": 680, + "h": 167, + "w": 167 + }, + { + "x": 181, + "y": 213, + "h": 191, + "w": 191 + } + ] + }, + "small": { + "faces": [ + { + "x": 119, + "y": 428, + "h": 105, + "w": 105 + }, + { + "x": 113, + "y": 134, + "h": 120, + "w": 120 + } + ] + }, + "orig": { + "faces": [ + { + "x": 190, + "y": 680, + "h": 167, + "w": 167 + }, + { + "x": 181, + "y": 213, + "h": 191, + "w": 191 + } + ] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1080, + "w": 1080, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1080, + "focus_rects": [ + { + "x": 0, + "y": 373, + "w": 1080, + "h": 605 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 133, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 540, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897696023331717122" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "a.co/d/3bu0Zth", + "expanded_url": "https://a.co/d/3bu0Zth", + "url": "https://t.co/MqFnaA5EwH", + "indices": [ + 221, + 244 + ] + } + ], + "user_mentions": [ + { + "id_str": "818893114979061761", + "name": "Jo", + "screen_name": "JoJoFromJerz", + "indices": [ + 28, + 41 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1uPRcbVdn0", + "expanded_url": "https://x.com/AVindman/status/1897696031254757564/photo/1", + "id_str": "1897696023331717122", + "indices": [ + 245, + 268 + ], + "media_key": "3_1897696023331717122", + "media_url_https": "https://pbs.twimg.com/media/GlX4epJbwAIPpno.jpg", + "type": "photo", + "url": "https://t.co/1uPRcbVdn0", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 190, + "y": 680, + "h": 167, + "w": 167 + }, + { + "x": 181, + "y": 213, + "h": 191, + "w": 191 + } + ] + }, + "medium": { + "faces": [ + { + "x": 190, + "y": 680, + "h": 167, + "w": 167 + }, + { + "x": 181, + "y": 213, + "h": 191, + "w": 191 + } + ] + }, + "small": { + "faces": [ + { + "x": 119, + "y": 428, + "h": 105, + "w": 105 + }, + { + "x": 113, + "y": 134, + "h": 120, + "w": 120 + } + ] + }, + "orig": { + "faces": [ + { + "x": 190, + "y": 680, + "h": 167, + "w": 167 + }, + { + "x": 181, + "y": 213, + "h": 191, + "w": 191 + } + ] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1080, + "w": 1080, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1080, + "focus_rects": [ + { + "x": 0, + "y": 373, + "w": 1080, + "h": 605 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 133, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 540, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897696023331717122" + } + } + } + ] + }, + "favorite_count": 90, + "favorited": false, + "full_text": "Join the Substack Live with @JoJoFromJerz today at 3/6 @ 6pm ET / 3pm PT (I’m in LA!) to talk about my NYT Bestselling book The Folly of Realism: How the West Deceived Itself About Russia and Betrayed Ukraine\nOrder here: https://t.co/MqFnaA5EwH https://t.co/1uPRcbVdn0", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 20, + "retweet_count": 22, + "retweeted": false, + "user_id_str": "1005846500583321601", + "id_str": "1897696031254757564" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897768071541993737", + "sortIndex": "1897829059325329325", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897768071541993737", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDUzMjc0MzI=", + "rest_id": "105327432", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Sat Jan 16 01:34:50 +0000 2010", + "default_profile": false, + "default_profile_image": false, + "description": "Columnist @TheDailyBeast, creator of the Russian Media Monitor, author of a book \"In Their Own Words.\"\n\nI watch Russian state TV, so you don't have to.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Their-Own-Word…", + "expanded_url": "https://www.amazon.com/Their-Own-Words-Propagandists-Intentions/dp/3838219090", + "url": "https://t.co/twAq8cDLQk", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 160041, + "followers_count": 435418, + "friends_count": 1538, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6591, + "location": "United States", + "media_count": 22908, + "name": "Julia Davis", + "normal_followers_count": 435418, + "pinned_tweet_ids_str": [ + "1528031848240140288" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/105327432/1653441376", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1173814137878646784/Gu54B4pc_normal.png", + "profile_interstitial_type": "", + "screen_name": "JuliaDavisNews", + "statuses_count": 125060, + "translator_type": "none", + "url": "https://t.co/twAq8cDLQk", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897768071541993737" + ], + "editable_until_msecs": "1741301741738", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 21:55:41 +0000 2025", + "conversation_id_str": "1897768071541993737", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1537130875296563200", + "name": "Jay in Kyiv", + "screen_name": "JayinKyiv", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @JayinKyiv: Now, who would just LOVE for Musk to stop US ammunition production?\n\nIs there anything that Musk/Trump does that ISN'T for P…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897742179390701987", + "quoted_status_permalink": { + "url": "https://t.co/6Cau7PKLjl", + "expanded": "https://twitter.com/front_ukrainian/status/1897742179390701987", + "display": "x.com/front_ukrainia…" + }, + "reply_count": 0, + "retweet_count": 607, + "retweeted": false, + "user_id_str": "105327432", + "id_str": "1897768071541993737", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897757472573809036", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTM3MTMwODc1Mjk2NTYzMjAw", + "rest_id": "1537130875296563200", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Jun 15 17:54:58 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "American in Ukraine --\n\nDespite 140,000,000 impressions/month, X refuses to monetize this account, citing only that it's been flagged.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "buymeacoffee.com/jayinkyiv", + "expanded_url": "https://buymeacoffee.com/jayinkyiv", + "url": "https://t.co/HDJ17vTTuq", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 55119, + "followers_count": 144434, + "friends_count": 1969, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2231, + "location": "Kyiv", + "media_count": 13813, + "name": "Jay in Kyiv", + "normal_followers_count": 144434, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1895380426530709504/5x7bVC3M_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JayinKyiv", + "statuses_count": 43441, + "translator_type": "none", + "url": "https://t.co/HDJ17vTTuq", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897757472573809036" + ], + "editable_until_msecs": "1741299214000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "36722", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897742179390701987", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTgxOTIzOTMxNDA5Mjg5MjE3", + "rest_id": "1581923931409289217", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Mon Oct 17 08:24:09 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "🇺🇦Ukrainian blogger.. 🪖Military analytics and weapons.Geopolitics.. Monitoring of global conflict zones ||🇺🇦~🇷🇺||🇮🇱~🇮🇷||🇹🇼~🇨🇳|| #BTC", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "buymeacoffee.com/Pachurko3", + "expanded_url": "http://buymeacoffee.com/Pachurko3", + "url": "https://t.co/qYl4Yywgji", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 59728, + "followers_count": 303679, + "friends_count": 155, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2273, + "location": "Україна", + "media_count": 41160, + "name": "🪖MilitaryNewsUA🇺🇦", + "normal_followers_count": 303679, + "pinned_tweet_ids_str": [ + "1897759202522664993" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1581923931409289217/1722801076", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1813987823059374080/DG5nkhaL_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "front_ukrainian", + "statuses_count": 47909, + "translator_type": "none", + "url": "https://t.co/qYl4Yywgji", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": false + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897742179390701987" + ], + "editable_until_msecs": "1741295568000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "245466", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 188, + "bookmarked": false, + "created_at": "Thu Mar 06 20:12:48 +0000 2025", + "conversation_id_str": "1897742179390701987", + "display_text_range": [ + 0, + 166 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/LN9t9GME5i", + "expanded_url": "https://x.com/front_ukrainian/status/1897742179390701987/photo/1", + "id_str": "1897742172293582848", + "indices": [ + 167, + 190 + ], + "media_key": "3_1897742172293582848", + "media_url_https": "https://pbs.twimg.com/media/GlYic3bWUAAehvA.jpg", + "type": "photo", + "url": "https://t.co/LN9t9GME5i", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 427, + "w": 640, + "resize": "fit" + }, + "medium": { + "h": 427, + "w": 640, + "resize": "fit" + }, + "small": { + "h": 427, + "w": 640, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 427, + "width": 640, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 640, + "h": 358 + }, + { + "x": 90, + "y": 0, + "w": 427, + "h": 427 + }, + { + "x": 116, + "y": 0, + "w": 375, + "h": 427 + }, + { + "x": 196, + "y": 0, + "w": 214, + "h": 427 + }, + { + "x": 0, + "y": 0, + "w": 640, + "h": 427 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897742172293582848" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/LN9t9GME5i", + "expanded_url": "https://x.com/front_ukrainian/status/1897742179390701987/photo/1", + "id_str": "1897742172293582848", + "indices": [ + 167, + 190 + ], + "media_key": "3_1897742172293582848", + "media_url_https": "https://pbs.twimg.com/media/GlYic3bWUAAehvA.jpg", + "type": "photo", + "url": "https://t.co/LN9t9GME5i", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 427, + "w": 640, + "resize": "fit" + }, + "medium": { + "h": 427, + "w": 640, + "resize": "fit" + }, + "small": { + "h": 427, + "w": 640, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 427, + "width": 640, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 640, + "h": 358 + }, + { + "x": 90, + "y": 0, + "w": 427, + "h": 427 + }, + { + "x": 116, + "y": 0, + "w": 375, + "h": 427 + }, + { + "x": 196, + "y": 0, + "w": 214, + "h": 427 + }, + { + "x": 0, + "y": 0, + "w": 640, + "h": 427 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1897742172293582848" + } + } + } + ] + }, + "favorite_count": 2466, + "favorited": false, + "full_text": "❗️DOGE (US Department of Government Efficiency) will lay off about a thousand employees at the largest ammunition factory in the 🇺🇸US, McAlester Army Ammunition Plant https://t.co/LN9t9GME5i", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 172, + "reply_count": 288, + "retweet_count": 929, + "retweeted": false, + "user_id_str": "1581923931409289217", + "id_str": "1897742179390701987" + } + } + }, + "legacy": { + "bookmark_count": 45, + "bookmarked": false, + "created_at": "Thu Mar 06 21:13:34 +0000 2025", + "conversation_id_str": "1897757472573809036", + "display_text_range": [ + 0, + 129 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 1601, + "favorited": false, + "full_text": "Now, who would just LOVE for Musk to stop US ammunition production?\n\nIs there anything that Musk/Trump does that ISN'T for Putin?", + "is_quote_status": true, + "lang": "en", + "quote_count": 11, + "quoted_status_id_str": "1897742179390701987", + "quoted_status_permalink": { + "url": "https://t.co/6Cau7PKLjl", + "expanded": "https://twitter.com/front_ukrainian/status/1897742179390701987", + "display": "x.com/front_ukrainia…" + }, + "reply_count": 59, + "retweet_count": 607, + "retweeted": false, + "user_id_str": "1537130875296563200", + "id_str": "1897757472573809036" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897767309105619357", + "sortIndex": "1897829059325329324", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897767309105619357", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQ1NTExMg==", + "rest_id": "47455112", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Jun 15 21:50:27 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Reporting on foreign policy. Current: Diplomatic Substack, Just Security ed bd. Al-Monitor Politico Foreign Policy alum. lkrozen threads, lkrozen.bsky, at gmail", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "diplomatic.substack.com", + "expanded_url": "https://diplomatic.substack.com/", + "url": "https://t.co/VBjgdai1Rl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5236, + "followers_count": 170605, + "friends_count": 10934, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4364, + "location": "Washington, D.C.", + "media_count": 7602, + "name": "Laura Rozen", + "normal_followers_count": 170605, + "pinned_tweet_ids_str": [ + "994000925793628160" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/47455112/1688651088", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/472902811630333952/hvAbmRyN_normal.jpeg", + "profile_interstitial_type": "", + "screen_name": "lrozen", + "statuses_count": 577669, + "translator_type": "none", + "url": "https://t.co/VBjgdai1Rl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587536294372155392", + "professional_type": "Creator", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897767309105619357" + ], + "editable_until_msecs": "1741301559959", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/#!/download/ipad\" rel=\"nofollow\">Twitter for iPad</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Mar 06 21:52:39 +0000 2025", + "conversation_id_str": "1897767309105619357", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "3876356669", + "name": "Evelyn Farkas", + "screen_name": "EvelynNFarkas", + "indices": [ + 3, + 17 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @EvelynNFarkas: I saw my former boss, Secretary Hagel the other night and can pass along some of his kernels of wisdom: “It’s more than…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "47455112", + "id_str": "1897767309105619357", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897766692098351543", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozODc2MzU2NjY5", + "rest_id": "3876356669", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Oct 06 01:58:33 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Exec Dir @McCainInstitute, Fmr. Dep. Asst. Secretary @DeptofDefense, ExecDir WMD Commission, sr Senate staffer, professor, ran for Congress #NY17. Aunt.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 8044, + "followers_count": 34192, + "friends_count": 1478, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "Washington, DC", + "media_count": 415, + "name": "Evelyn Farkas", + "normal_followers_count": 34192, + "pinned_tweet_ids_str": [ + "1895928283889614968" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1198300850189418499/pAuDxMW1_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "EvelynNFarkas", + "statuses_count": 13992, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897766692098351543" + ], + "editable_until_msecs": "1741301412000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "2084", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://sproutsocial.com\" rel=\"nofollow\">Sprout Social</a>", + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Thu Mar 06 21:50:12 +0000 2025", + "conversation_id_str": "1897766692098351543", + "display_text_range": [ + 0, + 279 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/L06wHCJFv5", + "expanded_url": "https://x.com/EvelynNFarkas/status/1897766692098351543/photo/1", + "id_str": "1897766671307218944", + "indices": [ + 280, + 303 + ], + "media_key": "3_1897766671307218944", + "media_url_https": "https://pbs.twimg.com/media/GlY4u5XXoAAi3n7.jpg", + "type": "photo", + "url": "https://t.co/L06wHCJFv5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 506, + "y": 450, + "h": 210, + "w": 210 + }, + { + "x": 263, + "y": 233, + "h": 264, + "w": 264 + } + ] + }, + "medium": { + "faces": [ + { + "x": 449, + "y": 400, + "h": 186, + "w": 186 + }, + { + "x": 233, + "y": 207, + "h": 234, + "w": 234 + } + ] + }, + "small": { + "faces": [ + { + "x": 254, + "y": 226, + "h": 105, + "w": 105 + }, + { + "x": 132, + "y": 117, + "h": 132, + "w": 132 + } + ] + }, + "orig": { + "faces": [ + { + "x": 506, + "y": 450, + "h": 210, + "w": 210 + }, + { + "x": 263, + "y": 233, + "h": 264, + "w": 264 + } + ] + } + }, + "sizes": { + "large": { + "h": 1350, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1350, + "width": 1080, + "focus_rects": [ + { + "x": 0, + "y": 271, + "w": 1080, + "h": 605 + }, + { + "x": 0, + "y": 33, + "w": 1080, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1231 + }, + { + "x": 304, + "y": 0, + "w": 675, + "h": 1350 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1350 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897766671307218944" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/L06wHCJFv5", + "expanded_url": "https://x.com/EvelynNFarkas/status/1897766692098351543/photo/1", + "id_str": "1897766671307218944", + "indices": [ + 280, + 303 + ], + "media_key": "3_1897766671307218944", + "media_url_https": "https://pbs.twimg.com/media/GlY4u5XXoAAi3n7.jpg", + "type": "photo", + "url": "https://t.co/L06wHCJFv5", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 506, + "y": 450, + "h": 210, + "w": 210 + }, + { + "x": 263, + "y": 233, + "h": 264, + "w": 264 + } + ] + }, + "medium": { + "faces": [ + { + "x": 449, + "y": 400, + "h": 186, + "w": 186 + }, + { + "x": 233, + "y": 207, + "h": 234, + "w": 234 + } + ] + }, + "small": { + "faces": [ + { + "x": 254, + "y": 226, + "h": 105, + "w": 105 + }, + { + "x": 132, + "y": 117, + "h": 132, + "w": 132 + } + ] + }, + "orig": { + "faces": [ + { + "x": 506, + "y": 450, + "h": 210, + "w": 210 + }, + { + "x": 263, + "y": 233, + "h": 264, + "w": 264 + } + ] + } + }, + "sizes": { + "large": { + "h": 1350, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 544, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1350, + "width": 1080, + "focus_rects": [ + { + "x": 0, + "y": 271, + "w": 1080, + "h": 605 + }, + { + "x": 0, + "y": 33, + "w": 1080, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1231 + }, + { + "x": 304, + "y": 0, + "w": 675, + "h": 1350 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1350 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897766671307218944" + } + } + } + ] + }, + "favorite_count": 20, + "favorited": false, + "full_text": "I saw my former boss, Secretary Hagel the other night and can pass along some of his kernels of wisdom: “It’s more than courage—it’s character.” And “Trust is the coin of the realm. If a country loses trust in its military there will be active conflict, breakdown of discipline.” https://t.co/L06wHCJFv5", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 4, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "3876356669", + "id_str": "1897766692098351543" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329493", + "sortIndex": "1897829059325329323", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "list-conversation-1897829059325329493-tweet-1897766793311326475", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897766793311326475", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMDc1NjIwMDQ=", + "rest_id": "307562004", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun May 29 21:30:40 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Ukrainian journalist, chief editor of @KyivIndependent. Support our work: https://t.co/zG0qTgeSHI 💙💛", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership", + "expanded_url": "http://kyivindependent.com/membership", + "url": "https://t.co/zG0qTgeSHI", + "indices": [ + 74, + 97 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://www.kyivindependent.com", + "url": "https://t.co/7s6ldtiJER", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2342, + "followers_count": 176709, + "friends_count": 336, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3564, + "location": "Kyiv, Ukraine", + "media_count": 297, + "name": "Olga Rudenko", + "normal_followers_count": 176709, + "pinned_tweet_ids_str": [ + "1524858892961710080" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/307562004/1641906557", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683247711129071616/FBrOyIhE_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olya_rudenko", + "statuses_count": 1495, + "translator_type": "none", + "url": "https://t.co/7s6ldtiJER", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897766793311326475" + ], + "editable_until_msecs": "1741301436000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4253", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3NjY3OTMwMjYwNzY2NzI=", + "text": "A couple of days ago I delivered a keynote speech at the UK Media Freedom Forum in London’s City University, an honor I shared with the brilliant @caoilfhionnanna. \n\nHere’s what I had to say: \n\n“When you’re a Ukrainian journalist writing in English, you are driven by a very simple mission: you want to get the truth out there.\n\nYou want to make sure that the English-speaking world knows what is really going on in Ukraine. You want to help them avoid misconceptions and navigate complex issues — such as, you know, who invaded whom.\n\nSo you may understand why it was very frustrating for me to watch the news in the past few weeks. \n\nTo see the world’s most powerful people spreading lies about Ukraine and the war — it was a bit like seeing my life’s work getting dismantled live on air.\n\nBut I think that the real problem here goes beyond Ukraine, and beyond the war. I don’t think that it’s all about a bunch of powerful people randomly hating my country while also desperately trying to start a bromance with Vladimir Putin. I don’t think this crisis is purely about Ukraine, or about Zelensky, or about Zelensky not wearing a suit to the Oval Office. \n\nI think what we have witnessed in the past few weeks is an assault on the truth and on democracy. \n\nThat assault makes all the sense — after all, if all you care about is power, grabbing and preserving power — then both of these things, truth and democracy, are your enemies, because they empower people. \n\nAnd I think that if your goal is to dismantle the whole concept of truth or facts, it makes a lot of sense to focus your attack on the issue of Ukraine and Russia’s war. \n\nBecause you’re not trying to make people believe a lie — instead, you want to make them confused, to make the truth seem so elusive that it may as well not exist. \n\nAnd to do that, you take the most obvious, indisputable fact that is out there in everyone’s face — like the fact that Russia invaded Ukraine — and you dispute it. You attack it, you turn it upside down, brazenly, confidently, with everyone watching you. And there, it’s undermined. That solid fact has just cracked. \n\nThat fact that was so obvious is suddenly not a fact — not it’s a version of events. A point of view. An opinion. Just like that, “Russia invaded Ukraine” becomes an opinion. Some people say it did, and some people say it didn’t. Some say it was provoked, making it as good as innocent. How confusing. How helpfully confusing. \n\nConfused people, who don’t know the right from wrong, are easier to control. Confusion protects leaders from scrutiny, from being held accountable. If people aren’t sure that Russia invaded Ukraine which is all over the news, why would they believe a story that points out corruption or a conflict interests, like the U.S. government ordering a $400 million supply of Tesla vehicles from a guy who is tasked with cutting the government spending.” 1/2 \n\n(photo by @docAvelar)", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "313890182", + "name": "Caoilfhionn Gallagher KC", + "screen_name": "caoilfhionnanna", + "indices": [ + 146, + 162 + ] + }, + { + "id_str": "129686910", + "name": "Ricardo Avelar", + "screen_name": "docAvelar", + "indices": [ + 2915, + 2925 + ] + } + ] + } + } + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Thu Mar 06 21:50:36 +0000 2025", + "conversation_id_str": "1897766793311326475", + "display_text_range": [ + 0, + 274 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/SdGqLRruEb", + "expanded_url": "https://x.com/olya_rudenko/status/1897766793311326475/photo/1", + "id_str": "1897766784867966976", + "indices": [ + 275, + 298 + ], + "media_key": "3_1897766784867966976", + "media_url_https": "https://pbs.twimg.com/media/GlY41gaXIAAqt7Y.jpg", + "type": "photo", + "url": "https://t.co/SdGqLRruEb", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 332, + "y": 346, + "h": 115, + "w": 115 + }, + { + "x": 677, + "y": 339, + "h": 145, + "w": 145 + } + ] + }, + "medium": { + "faces": [ + { + "x": 332, + "y": 346, + "h": 115, + "w": 115 + }, + { + "x": 677, + "y": 339, + "h": 145, + "w": 145 + } + ] + }, + "small": { + "faces": [ + { + "x": 188, + "y": 196, + "h": 65, + "w": 65 + }, + { + "x": 384, + "y": 192, + "h": 82, + "w": 82 + } + ] + }, + "orig": { + "faces": [ + { + "x": 332, + "y": 346, + "h": 115, + "w": 115 + }, + { + "x": 677, + "y": 339, + "h": 145, + "w": 145 + } + ] + } + }, + "sizes": { + "large": { + "h": 1198, + "w": 1198, + "resize": "fit" + }, + "medium": { + "h": 1198, + "w": 1198, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1198, + "width": 1198, + "focus_rects": [ + { + "x": 0, + "y": 527, + "w": 1198, + "h": 671 + }, + { + "x": 0, + "y": 0, + "w": 1198, + "h": 1198 + }, + { + "x": 0, + "y": 0, + "w": 1051, + "h": 1198 + }, + { + "x": 0, + "y": 0, + "w": 599, + "h": 1198 + }, + { + "x": 0, + "y": 0, + "w": 1198, + "h": 1198 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897766784867966976" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "313890182", + "name": "Caoilfhionn Gallagher KC", + "screen_name": "caoilfhionnanna", + "indices": [ + 146, + 162 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/SdGqLRruEb", + "expanded_url": "https://x.com/olya_rudenko/status/1897766793311326475/photo/1", + "id_str": "1897766784867966976", + "indices": [ + 275, + 298 + ], + "media_key": "3_1897766784867966976", + "media_url_https": "https://pbs.twimg.com/media/GlY41gaXIAAqt7Y.jpg", + "type": "photo", + "url": "https://t.co/SdGqLRruEb", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 332, + "y": 346, + "h": 115, + "w": 115 + }, + { + "x": 677, + "y": 339, + "h": 145, + "w": 145 + } + ] + }, + "medium": { + "faces": [ + { + "x": 332, + "y": 346, + "h": 115, + "w": 115 + }, + { + "x": 677, + "y": 339, + "h": 145, + "w": 145 + } + ] + }, + "small": { + "faces": [ + { + "x": 188, + "y": 196, + "h": 65, + "w": 65 + }, + { + "x": 384, + "y": 192, + "h": 82, + "w": 82 + } + ] + }, + "orig": { + "faces": [ + { + "x": 332, + "y": 346, + "h": 115, + "w": 115 + }, + { + "x": 677, + "y": 339, + "h": 145, + "w": 145 + } + ] + } + }, + "sizes": { + "large": { + "h": 1198, + "w": 1198, + "resize": "fit" + }, + "medium": { + "h": 1198, + "w": 1198, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1198, + "width": 1198, + "focus_rects": [ + { + "x": 0, + "y": 527, + "w": 1198, + "h": 671 + }, + { + "x": 0, + "y": 0, + "w": 1198, + "h": 1198 + }, + { + "x": 0, + "y": 0, + "w": 1051, + "h": 1198 + }, + { + "x": 0, + "y": 0, + "w": 599, + "h": 1198 + }, + { + "x": 0, + "y": 0, + "w": 1198, + "h": 1198 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1897766784867966976" + } + } + } + ] + }, + "favorite_count": 43, + "favorited": false, + "full_text": "A couple of days ago I delivered a keynote speech at the UK Media Freedom Forum in London’s City University, an honor I shared with the brilliant @caoilfhionnanna. \n\nHere’s what I had to say: \n\n“When you’re a Ukrainian journalist writing in English, you are driven by a very https://t.co/SdGqLRruEb", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 3, + "retweet_count": 12, + "retweeted": false, + "user_id_str": "307562004", + "id_str": "1897766793311326475" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "list-conversation-1897829059325329493-tweet-1897766798860394676", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897766798860394676", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMDc1NjIwMDQ=", + "rest_id": "307562004", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun May 29 21:30:40 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Ukrainian journalist, chief editor of @KyivIndependent. Support our work: https://t.co/zG0qTgeSHI 💙💛", + "entities": { + "description": { + "urls": [ + { + "display_url": "kyivindependent.com/membership", + "expanded_url": "http://kyivindependent.com/membership", + "url": "https://t.co/zG0qTgeSHI", + "indices": [ + 74, + 97 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "kyivindependent.com", + "expanded_url": "http://www.kyivindependent.com", + "url": "https://t.co/7s6ldtiJER", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2342, + "followers_count": 176709, + "friends_count": 336, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 3564, + "location": "Kyiv, Ukraine", + "media_count": 297, + "name": "Olga Rudenko", + "normal_followers_count": 176709, + "pinned_tweet_ids_str": [ + "1524858892961710080" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/307562004/1641906557", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683247711129071616/FBrOyIhE_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "olya_rudenko", + "statuses_count": 1495, + "translator_type": "none", + "url": "https://t.co/7s6ldtiJER", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897766798860394676" + ], + "editable_until_msecs": "1741301438000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "4255", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3NjY3OTg3MjYyMDk1MzY=", + "text": "“In this war on truth that we are witnessing, it just so happened that Ukraine is a key battle. \n\nFor three years, the public opinion in most of the Western countries has been overwhelmingly on the side of Ukraine, and condemning Russia and its invasion. Now we are seeing a major effort to change that. We have witnessed many disinformation campaigns, some of them very big. But never before have we seen one that was spearheaded by the president of the United States. \n\nI think this is a major test for global journalism, but it goes beyond that. This war on truth is a global issue that affects all of you. It affects me in a more immediate way, because I will be back in Ukraine soon, but that’s just geography, and the truth is — it affects you all, and you know it. \n\nIt is in the democratic world’s interests that confusion doesn’t win this one. That the truth about this war is not muzzled. That facts remain facts. \n\nAnd I wish I could tell you exactly how to do it, how to preserve the truth about the war in Ukraine. But I think it’s something that you will have to figure out on your own. Ask yourself — what can I do, in my role, right now, to defend the truth about this war. \n\nBecause whether we want it or not — right now, this issue is the frontier and our battleground. We can’t afford to lose this one. And it’s not a hopeless fight at all — we can win it. But it takes acknowledging that this is a major assault — not a threat, we are always talking about threats — but an ongoing assault on truth. And we — each and every one of us — must come together and respond to it, today, before it’s too late.” 2/2", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Thu Mar 06 21:50:38 +0000 2025", + "conversation_id_str": "1897766793311326475", + "display_text_range": [ + 0, + 280 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 41, + "favorited": false, + "full_text": "“In this war on truth that we are witnessing, it just so happened that Ukraine is a key battle. \n\nFor three years, the public opinion in most of the Western countries has been overwhelmingly on the side of Ukraine, and condemning Russia and its invasion. Now we are seeing a major", + "in_reply_to_screen_name": "olya_rudenko", + "in_reply_to_status_id_str": "1897766793311326475", + "in_reply_to_user_id_str": "307562004", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "307562004", + "id_str": "1897766798860394676" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1897766793311326475", + "1897766798860394676" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "tweet-1897766658594250923", + "sortIndex": "1897829059325329322", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897766658594250923", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTQzNjY0MDY0", + "rest_id": "1543664064", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Jun 24 17:01:34 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Affiliated with Stanford's CISAC & Brookings. retired Foreign Service officer; former US ambassador to Ukraine. Interests include nukes, Europe & mountains.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "brookings.edu/experts/pifers", + "expanded_url": "http://www.brookings.edu/experts/pifers", + "url": "https://t.co/iPslu83DNV", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 85600, + "followers_count": 37295, + "friends_count": 906, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1088, + "location": "Morgan Hill, CA", + "media_count": 1391, + "name": "Steven Pifer", + "normal_followers_count": 37295, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1543664064/1645934672", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1179260391496372224/rHqbrNME_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "steven_pifer", + "statuses_count": 23033, + "translator_type": "none", + "url": "https://t.co/iPslu83DNV", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897766658594250923" + ], + "editable_until_msecs": "1741301404000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "38303", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897755194386964843", + "birdwatch_pivot": { + "callToAction": { + "prompt": "Do you find this helpful?", + "title": "Rate it", + "destinationUrl": "https://twitter.com/i/birdwatch/n/1897763616319062028" + }, + "destinationUrl": "https://twitter.com/i/birdwatch/n/1897763616319062028", + "footer": { + "text": "Context is written by people who use X, and appears when rated helpful by others. Find out more.", + "entities": [ + { + "fromIndex": 83, + "toIndex": 96, + "ref": { + "type": "TimelineUrl", + "url": "https://twitter.com/i/flow/join-birdwatch", + "urlType": "ExternalUrl" + } + } + ] + }, + "note": { + "rest_id": "1897763616319062028" + }, + "subtitle": { + "text": "The only time NATO's Article 5, the collective defense provision, has been invoked was following the 9/11/2001 attack against the United States. In response, the NATO countries joined the United States in its war against the Taliban and al-Qaeda in Afghanistan.\nnato.int/cps/bu/natohq/…", + "entities": [ + { + "fromIndex": 262, + "toIndex": 286, + "ref": { + "type": "TimelineUrl", + "url": "https://t.co/1XcRgnt54B", + "urlType": "ExternalUrl" + } + } + ] + }, + "title": "Readers added context to this video on another post\t", + "shorttitle": "Readers added context", + "visualStyle": "Default", + "iconType": "BirdwatchV1Icon" + }, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyODgyNzcxNjc=", + "rest_id": "288277167", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Apr 26 15:22:47 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "journalist. sign up for my newsletter, Public Notice (link below). Powered by @SnapStream (more info: https://t.co/2oHPuuFBnN).", + "entities": { + "description": { + "urls": [ + { + "display_url": "go.snapstream.com/moments/aaron?…", + "expanded_url": "https://go.snapstream.com/moments/aaron?utm_source=partn", + "url": "https://t.co/2oHPuuFBnN", + "indices": [ + 102, + 125 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "publicnotice.co/subscribe", + "expanded_url": "https://www.publicnotice.co/subscribe", + "url": "https://t.co/H5kvTa6Tzt", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 223517, + "followers_count": 935574, + "friends_count": 4033, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 9491, + "location": "", + "media_count": 55441, + "name": "Aaron Rupar", + "normal_followers_count": 935574, + "pinned_tweet_ids_str": [ + "1897658416278995111" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/288277167/1469538346", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1335565046290804738/eGXNmTvg_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "atrupar", + "statuses_count": 155317, + "translator_type": "none", + "url": "https://t.co/H5kvTa6Tzt", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "atrupar" + }, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897755194386964843" + ], + "editable_until_msecs": "1741298671000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1064207", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://www.snapstream.com\" rel=\"nofollow\">SnapStream TV Search</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4OTc3NTUxOTQzMDczMjU5NTI=", + "text": "Trump on NATO: \"If the United States was in trouble and we called them. We said, 'We got a problem, France.' Do you think they're gonna come and protect us? Hmm. They're supposed to. I'm not so sure.\" (Literally the only time NATO Article 5 was invoked was after 9/11 on behalf of the US.)", + "entity_set": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 679, + "bookmarked": false, + "created_at": "Thu Mar 06 21:04:31 +0000 2025", + "conversation_id_str": "1897755194386964843", + "display_text_range": [ + 0, + 280 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/XqNnPn0MkP", + "expanded_url": "https://x.com/atrupar/status/1897755194386964843/video/1", + "id_str": "1897755156751462400", + "indices": [ + 281, + 304 + ], + "media_key": "13_1897755156751462400", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897755156751462400/img/IhvuT-44Obtp9-6n.jpg", + "type": "video", + "url": "https://t.co/XqNnPn0MkP", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 47781, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/pl/tRoQQZVnHVbwglV3.m3u8?tag=14&v=890" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/vid/avc1/480x270/U5zkDX5bss7d-8Ty.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/vid/avc1/640x360/zuxquzeA8fJwZ-Dv.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/vid/avc1/1280x720/6IxXMfT-HHCE0beR.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897755156751462400" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/XqNnPn0MkP", + "expanded_url": "https://x.com/atrupar/status/1897755194386964843/video/1", + "id_str": "1897755156751462400", + "indices": [ + 281, + 304 + ], + "media_key": "13_1897755156751462400", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1897755156751462400/img/IhvuT-44Obtp9-6n.jpg", + "type": "video", + "url": "https://t.co/XqNnPn0MkP", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 47781, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/pl/tRoQQZVnHVbwglV3.m3u8?tag=14&v=890" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/vid/avc1/480x270/U5zkDX5bss7d-8Ty.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/vid/avc1/640x360/zuxquzeA8fJwZ-Dv.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1897755156751462400/vid/avc1/1280x720/6IxXMfT-HHCE0beR.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1897755156751462400" + } + } + } + ] + }, + "favorite_count": 9521, + "favorited": false, + "full_text": "Trump on NATO: \"If the United States was in trouble and we called them. We said, 'We got a problem, France.' Do you think they're gonna come and protect us? Hmm. They're supposed to. I'm not so sure.\" (Literally the only time NATO Article 5 was invoked was after 9/11 on behalf of https://t.co/XqNnPn0MkP", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 398, + "reply_count": 892, + "retweet_count": 1748, + "retweeted": false, + "user_id_str": "288277167", + "id_str": "1897755194386964843" + } + } + }, + "legacy": { + "bookmark_count": 31, + "bookmarked": false, + "created_at": "Thu Mar 06 21:50:04 +0000 2025", + "conversation_id_str": "1897766658594250923", + "display_text_range": [ + 0, + 206 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 956, + "favorited": false, + "full_text": "90 French soldiers died in Afghanistan (along with more than 900 soldiers from other NATO members).\n\nThey were only there because they were US allies.\n\nWhy do Trump and Vance persist in trashing US friends?", + "is_quote_status": true, + "lang": "en", + "quote_count": 12, + "quoted_status_id_str": "1897755194386964843", + "quoted_status_permalink": { + "url": "https://t.co/hEidqTQ4YO", + "expanded": "https://twitter.com/atrupar/status/1897755194386964843", + "display": "x.com/atrupar/status…" + }, + "reply_count": 53, + "retweet_count": 295, + "retweeted": false, + "user_id_str": "1543664064", + "id_str": "1897766658594250923" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "suggest_organic_list_tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "OrganicListTweet" + } + } + } + } + }, + { + "entryId": "cursor-top-1897829059325329409", + "sortIndex": "1897829059325329409", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxeW2AJxEKAAIaVnA5UReBLggAAwAAAAEAAA", + "cursorType": "Top" + } + }, + { + "entryId": "cursor-bottom-1897829059325329321", + "sortIndex": "1897829059325329321", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxeW1__6cKAAIaVji4oBcgqwgAAwAAAAIAAA", + "cursorType": "Bottom" + } + } + ] + } + ], + "metadata": { + "scribeConfig": { + "page": "list_tweets" + } + } + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_retweeters.json b/apps/twscrape/tests/mocked-data/raw_retweeters.json new file mode 100644 index 0000000..bc371d6 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_retweeters.json @@ -0,0 +1,1263 @@ +{ + "data": { + "retweeters_timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "user-1695060774765416448", + "sortIndex": "1824662277954727467", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjk1MDYwNzc0NzY1NDE2NDQ4", + "rest_id": "1695060774765416448", + "affiliates_highlighted_label": {}, + "has_graduated_access": false, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Aug 25 13:09:24 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 25, + "followers_count": 43, + "friends_count": 52, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Eckland Jerrold 🐉 $MON", + "normal_followers_count": 43, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1695060858139734018/tG2Nd3Nd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "EJerrold4545", + "statuses_count": 104, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1689780808452816898", + "sortIndex": "1820077254487319406", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjg5NzgwODA4NDUyODE2ODk4", + "rest_id": "1689780808452816898", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Aug 10 23:28:42 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": ".", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3657, + "followers_count": 517, + "friends_count": 742, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 1, + "name": "Tina", + "normal_followers_count": 517, + "pinned_tweet_ids_str": [ + "1837907774451470396" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1689780808452816898/1735668707", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1874238848823418881/4lm40x8F_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "me22y__d", + "statuses_count": 747, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-190207978", + "sortIndex": "1816215765185050596", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxOTAyMDc5Nzg=", + "rest_id": "190207978", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Sep 13 10:54:41 +0000 2010", + "default_profile": true, + "default_profile_image": false, + "description": "🌻career, the pursuit of success🌻. shopping preferences👜Beach travel 🌊play golf 🏌️♀️ and reading 📚 .❌scammers, PORN stay away from me❌", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1283, + "followers_count": 54, + "friends_count": 14, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "California", + "media_count": 2, + "name": "Lydia", + "normal_followers_count": 54, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/190207978/1731875048", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1857826143866626048/vAwMzAvQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Lydia870818", + "statuses_count": 2325, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1693640288", + "sortIndex": "1816215154333972303", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjkzNjQwMjg4", + "rest_id": "1693640288", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Aug 23 11:52:18 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Playing golf🏌️♀️Reading📚Beach🌊Traveling, cooking, music, hiking🌻🌻\nLove nature and most outdoor sports\n❌Reposting does not represent my opinion", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 3, + "followers_count": 33, + "friends_count": 3, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "California", + "media_count": 0, + "name": "Angelina", + "normal_followers_count": 33, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1693640288/1731875126", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1857826767869968384/pTHkP6Kw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Angelina1986714", + "statuses_count": 2615, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-901182779517534208", + "sortIndex": "1815788220083419917", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5MDExODI3Nzk1MTc1MzQyMDg=", + "rest_id": "901182779517534208", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Aug 25 20:41:32 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Biomedical Scientist 👨🏾🔬🧪🔬🥼. \nCatholic. Ambivert.\nProudly Igbo. \nA TIRED @manutd fan. 😫\n#GGMU🔴🇾🇪\nYOLO ✌🏾", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 350733, + "followers_count": 2144, + "friends_count": 3429, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "In the Realms💨", + "media_count": 1793, + "name": "Dera-Jenkins🤴🏿🇨🇦", + "normal_followers_count": 2144, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/901182779517534208/1723840399", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1666926947987869698/KaBKIHLV_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GENTLE_JENKINS", + "statuses_count": 195364, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1464943860052901890", + "professional_type": "Business", + "category": [ + { + "id": 584, + "name": "Medical & Health", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "bitcoin_handle": "146eonMEynuyn7jWLUQNbw7nZi4eSc2cwD" + } + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1556679442096857089", + "sortIndex": "1814135760417942103", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTU2Njc5NDQyMDk2ODU3MDg5", + "rest_id": "1556679442096857089", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Aug 08 16:31:16 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "I love my family 👨👩👧👦 Patriot 🇺🇸 Living the good life in California 🌴 Coffee lover ☕ Yoga fan 🧘♀️ Only believe in positive energy ✌️", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2583, + "followers_count": 1962, + "friends_count": 1776, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "L A", + "media_count": 45, + "name": "VioletSkies 🌸☁️", + "normal_followers_count": 1962, + "pinned_tweet_ids_str": [ + "1856794271875305776" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1556679442096857089/1729316643", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1847514019135180801/qs2LZsuC_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "VioletSkies987", + "statuses_count": 1645, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1557054697252524032", + "sortIndex": "1812403375373031783", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTU3MDU0Njk3MjUyNTI0MDMy", + "rest_id": "1557054697252524032", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 09 17:22:24 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "🤍A plant lover, pet lover, foodie, traveler, fashion lover, straightforward talker, I blog what I love🤍", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 155, + "followers_count": 1376, + "friends_count": 1433, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "New York ", + "media_count": 8, + "name": "Anika Mortel", + "normal_followers_count": 1376, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1557054697252524032/1728831040", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1886815367080894468/hvsGF3LX_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "AnikaMortel", + "statuses_count": 1526, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1811394867223728128", + "sortIndex": "1809579449238305170", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODExMzk0ODY3MjIzNzI4MTI4", + "rest_id": "1811394867223728128", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Jul 11 13:39:49 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 24885, + "followers_count": 336, + "friends_count": 949, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 2194, + "name": "Al Mi", + "normal_followers_count": 336, + "pinned_tweet_ids_str": [ + "1851718002062037409" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1811394867223728128/1732686083", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1861646469180084224/rdHp4rO7_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "aikency689", + "statuses_count": 48650, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-2930110410", + "sortIndex": "1802821949192546266", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTMwMTEwNDEw", + "rest_id": "2930110410", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Dec 14 18:29:17 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "每日分享各种素人流出视频,喜欢的给个关注。\n【 出售各种针孔设备探花手机 @gaizhuangchengg 】", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "t.me/gaizhuangcheng…", + "expanded_url": "https://t.me/gaizhuangcheng123", + "url": "https://t.co/l8tGQQoJ0d", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 19, + "followers_count": 8876, + "friends_count": 67, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 8, + "name": "奶酪【互推私信】", + "normal_followers_count": 8876, + "pinned_tweet_ids_str": [ + "1805317807036678312" + ], + "possibly_sensitive": true, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2930110410/1719303351", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1805515227418836995/CB_EKMTn_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "almothanna1998", + "statuses_count": 2956, + "translator_type": "none", + "url": "https://t.co/l8tGQQoJ0d", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1748684313057538048", + "sortIndex": "1796006548691708429", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": {}, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1680405461277855744", + "sortIndex": "1792656974825608770", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjgwNDA1NDYxMjc3ODU1NzQ0", + "rest_id": "1680405461277855744", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Jul 16 02:34:29 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "God bless u all", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 39, + "followers_count": 5, + "friends_count": 46, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 2, + "name": "Evan MacGuffie", + "normal_followers_count": 5, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1758980371532976128/QsPqSIXR_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "evanmacguffie", + "statuses_count": 55, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1764894647313166748", + "professional_type": "Creator", + "category": [ + { + "id": 15, + "name": "Entertainment & Recreation", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1750876558745907200", + "sortIndex": "1789887534942965099", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzUwODc2NTU4NzQ1OTA3MjAw", + "rest_id": "1750876558745907200", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Jan 26 13:41:51 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "𝕏 - Is media now? 🖤", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 930, + "followers_count": 46, + "friends_count": 39, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 5, + "name": "ASA", + "normal_followers_count": 46, + "pinned_tweet_ids_str": [ + "1854129053013545176" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1750876558745907200/1730957757", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1815566195443036160/drhDWrU3_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "X_User_ASA", + "statuses_count": 3536, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1706929807328706560", + "sortIndex": "1789531183850347197", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzA2OTI5ODA3MzI4NzA2NTYw", + "rest_id": "1706929807328706560", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Sep 27 07:14:02 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Byte by byte, I'm decoding the language of computers. Let's explore the syntax and semantics of the digital world together! 🤖💬 #DigitalExplorer", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15, + "followers_count": 5, + "friends_count": 28, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Christopher Cameron", + "normal_followers_count": 5, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1706929807328706560/1705679588", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1748373013148446720/xDqxtCUx_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ChristCamerons", + "statuses_count": 48, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1706876370268422144", + "sortIndex": "1789528920218777434", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzA2ODc2MzcwMjY4NDIyMTQ0", + "rest_id": "1706876370268422144", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Wed Sep 27 03:40:35 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Compiler of dreams, debugger of reality. Passionate about programming and the endless potential it brings to life. 🚀💻 #DreamCompiler #ProgrammingDreamer", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 22, + "followers_count": 3, + "friends_count": 48, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Elijah Montgomery", + "normal_followers_count": 3, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1706876370268422144/1705678757", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1748369534061281280/Uq7kCY_m_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ElijahMontgome", + "statuses_count": 45, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1706571709682503680", + "sortIndex": "1789525086122709595", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzA2NTcxNzA5NjgyNTAzNjgw", + "rest_id": "1706571709682503680", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Sep 26 07:29:49 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "From algorithms to syntax, I love the poetry of programming. Embracing the digital dance of logic and creativity. 💃🖥️ #CodePoet #ProgrammingEnthusiast", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15, + "followers_count": 6, + "friends_count": 29, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Joseph Griffin", + "normal_followers_count": 6, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1706571709682503680/1705673806", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1748348766296432640/MS1VwyMf_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JosephGriffins", + "statuses_count": 44, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1672593779545763840", + "sortIndex": "1789308884519346573", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjcyNTkzNzc5NTQ1NzYzODQw", + "rest_id": "1672593779545763840", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jun 24 13:13:34 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 94, + "followers_count": 23, + "friends_count": 64, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 8, + "name": "Dong Regn", + "normal_followers_count": 23, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1672593859107233792/H3qlwWDJ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DongRegn42047", + "statuses_count": 64, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1720674052715790336", + "sortIndex": "1788539976664731927", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzIwNjc0MDUyNzE1NzkwMzM2", + "rest_id": "1720674052715790336", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Nov 04 05:27:22 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Art|Fashion|Design🎓Marketing/Advertising 📜 nPhoto|Gunpla|Graffiti enthusiastnn@BadInfluence0xn@ColonyNFTn@augmintedlabs Scientist", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 9, + "followers_count": 17, + "friends_count": 34, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": " Glenview, IL ", + "media_count": 0, + "name": "The Wolf of Memes Street 🚀", + "normal_followers_count": 17, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1720674052715790336/1699561883", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1734356958675685376/HpcVGQYJ_normal.png", + "profile_interstitial_type": "", + "screen_name": "0xSmartSloth", + "statuses_count": 56, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-901892598259953668", + "sortIndex": "1788117037484101639", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5MDE4OTI1OTgyNTk5NTM2Njg=", + "rest_id": "901892598259953668", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Aug 27 19:42:06 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Supernatural, Cyber Security Researcher, Gamer, Freelancer.\n\n☦ ☦️\n\nChrist is King!\n\n🔻 Ƶ ∞ 🇷🇺 💖 🇵🇸 𓂆 ☧\n\nI am the Alpha and the Omega..\n\nRevelation 22:13", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 18948, + "followers_count": 900, + "friends_count": 6881, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 7, + "location": "London, England", + "media_count": 288, + "name": "♰🔻☦︎ Ορθόδοξος Христос 🇷🇺𓂆 🇵🇸 ☧", + "normal_followers_count": 900, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/901892598259953668/1737294362", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1880974919984652288/cBdqHayP_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "ARMG9854XZ59", + "statuses_count": 20927, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "bitcoin_handle": "16QinnX2GELSRZ5H8PthBLYq7fary5qEdH", + "ethereum_handle": "0xf31D985b0BEDD53876dD6DdFCb36eFC3cd959750" + } + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-2534108054", + "sortIndex": "1785992523155570443", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTM0MTA4MDU0", + "rest_id": "2534108054", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri May 30 04:15:49 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "I never wanted luxury, I just wanted to be understood and trusted.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 270, + "followers_count": 316, + "friends_count": 3705, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 5, + "name": "one heart", + "normal_followers_count": 316, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2534108054/1704819706", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1863637297486499840/Oj48Ers9_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "liaherawati705", + "statuses_count": 535, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "user-1698255639015727104", + "sortIndex": "1784793114941263245", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjk4MjU1NjM5MDE1NzI3MTA0", + "rest_id": "1698255639015727104", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Sep 03 08:44:46 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "frog (formerly) online", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 21, + "followers_count": 18, + "friends_count": 66, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Allison Simmons", + "normal_followers_count": 18, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1698255639015727104/1702111228", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1733406221191778304/kOqTZUS9_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "hugesenpaiv", + "statuses_count": 31, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + } + } + }, + { + "entryId": "cursor-top-1824662277954727468", + "sortIndex": "1824662277954727468", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "HCbWuN+IlKvA0jIAAA==", + "cursorType": "Top" + } + }, + { + "entryId": "cursor-bottom-1784793114941263244", + "sortIndex": "1784793114941263244", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "HBaatpjat/jtxDEAAA==", + "cursorType": "Bottom", + "stopOnEmptyResponse": true + } + } + ] + } + ], + "responseObjects": { + "feedbackActions": [], + "immediateReactions": [] + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_search.json b/apps/twscrape/tests/mocked-data/raw_search.json new file mode 100644 index 0000000..d468397 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_search.json @@ -0,0 +1,2869 @@ +{ + "data": { + "search_by_raw_query": { + "search_timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1897829051819016464", + "sortIndex": "1897829055328157696", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829051819016464", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzk3Nzg3NzE3ODg5MTE0MTEz", + "rest_id": "1797787717889114113", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Jun 04 00:30:02 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1248, + "followers_count": 33, + "friends_count": 28, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "Stan Pengelly", + "normal_followers_count": 33, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1797788178541072384/EK1--ZEM_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "PengellySt72806", + "statuses_count": 22, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829051819016464" + ], + "editable_until_msecs": "1741316280000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:58:00 +0000 2025", + "conversation_id_str": "1897626454109901157", + "display_text_range": [ + 15, + 135 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "985243593538338816", + "name": "Teslaconomics", + "screen_name": "Teslaconomics", + "indices": [ + 0, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@Teslaconomics Elon Musk will have an order of magnitude greater positive effect on humanity than Steve Jobs and Jobs was over the top.", + "in_reply_to_screen_name": "Teslaconomics", + "in_reply_to_status_id_str": "1897626454109901157", + "in_reply_to_user_id_str": "985243593538338816", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1797787717889114113", + "id_str": "1897829051819016464" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 15, + "endIndex": 19 + }, + { + "startIndex": 20, + "endIndex": 24 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829041345880146", + "sortIndex": "1897829055328157695", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829041345880146", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NzQyMzkxNzU=", + "rest_id": "474239175", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Jan 25 19:59:46 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "Crypto trader", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 11175, + "followers_count": 179, + "friends_count": 236, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4, + "location": "Stavanger, Norway", + "media_count": 5, + "name": "Brian Jønsson", + "normal_followers_count": 179, + "pinned_tweet_ids_str": [ + "1515025662742044689" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1525557724351807489/7BuskIOS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "BrianJnsson", + "statuses_count": 2141, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1534166395444989954", + "professional_type": "Creator", + "category": [ + { + "id": 132, + "name": "Commercial & Industrial", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829041345880146" + ], + "editable_until_msecs": "1741316278000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:58 +0000 2025", + "conversation_id_str": "1897828940309229993", + "display_text_range": [ + 0, + 39 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "Elon Musk is not an American citizens 🤔", + "in_reply_to_screen_name": "BrianJnsson", + "in_reply_to_status_id_str": "1897828940309229993", + "in_reply_to_user_id_str": "474239175", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "474239175", + "id_str": "1897829041345880146" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 0, + "endIndex": 4 + }, + { + "startIndex": 5, + "endIndex": 9 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829021809099021", + "sortIndex": "1897829055328157694", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829021809099021", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjY5NTA1MTcyMjgyOTcwMTEz", + "rest_id": "1669505172282970113", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Jun 16 00:41:20 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "“A lie is a lie even if everyone believes it. The truth is the truth even if no one believes it.” Trust no one. Think for yourself 🤔 IFBAP 🇺🇸", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 32123, + "followers_count": 1720, + "friends_count": 2007, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "United States", + "media_count": 146, + "name": "Rayette", + "normal_followers_count": 1720, + "pinned_tweet_ids_str": [ + "1888298303324041634" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1669505172282970113/1701936021", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1672323112703229952/ZbH7PdNo_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NWOIsForCommies", + "statuses_count": 4613, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829021809099021" + ], + "editable_until_msecs": "1741316273000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:53 +0000 2025", + "conversation_id_str": "1897698478601719841", + "display_text_range": [ + 12, + 31 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "776503480144031744", + "name": "Retro Coast", + "screen_name": "RetroCoast", + "indices": [ + 0, + 11 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@RetroCoast Elon Musk for one 😏", + "in_reply_to_screen_name": "RetroCoast", + "in_reply_to_status_id_str": "1897698478601719841", + "in_reply_to_user_id_str": "776503480144031744", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1669505172282970113", + "id_str": "1897829021809099021" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 12, + "endIndex": 16 + }, + { + "startIndex": 17, + "endIndex": 21 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829020483354770", + "sortIndex": "1897829055328157693", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829020483354770", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NzQ2Nzc0ODM3Nzc1MTU1MjA=", + "rest_id": "874677483777515520", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Jun 13 17:18:57 +0000 2017", + "default_profile": false, + "default_profile_image": false, + "description": "Total Neural System Failure: The Weight of the Body on the Mind is the Soul (Introduction to the Divina Imperatrix) https://t.co/usg9xH4t2Y", + "entities": { + "description": { + "urls": [ + { + "display_url": "a.co/d/1W3YCjb", + "expanded_url": "https://a.co/d/1W3YCjb", + "url": "https://t.co/usg9xH4t2Y", + "indices": [ + 116, + 139 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com/@divinaimperat…", + "expanded_url": "https://youtube.com/@divinaimperatrixhi?si=XF5rMENJk3jwQS0l", + "url": "https://t.co/U8uxQT8Rjf", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 27571, + "followers_count": 529, + "friends_count": 240, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "Moscow New Jerusalem, Jannah", + "media_count": 14991, + "name": "Divina Imperatrix H", + "normal_followers_count": 529, + "pinned_tweet_ids_str": [ + "1837577282300334515" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/874677483777515520/1734969650", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1894191607622045696/h_yTVN3K_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Platinum_H1", + "statuses_count": 59440, + "translator_type": "regular", + "url": "https://t.co/U8uxQT8Rjf", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1683573987287130118", + "professional_type": "Creator", + "category": [ + { + "id": 477, + "name": "Professional Services", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829020483354770" + ], + "editable_until_msecs": "1741316273000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897785926178206135", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTkyOTc1MTAzNjQ1NTgxMzE1", + "rest_id": "1592975103645581315", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Nov 16 20:17:31 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "US Homeland Security News with Updates About US National Security, Border Security and News from DC! Stay Informed! 🇺🇸", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 79028, + "followers_count": 327365, + "friends_count": 430, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1140, + "location": "Austin, TX", + "media_count": 21612, + "name": "US Homeland Security News", + "normal_followers_count": 327365, + "pinned_tweet_ids_str": [ + "1897807525698797726" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1592975103645581315/1737036454", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1880478194827948032/Z_6FMRrQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "defense_civil25", + "statuses_count": 30604, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1629458844173627393", + "professional_type": "Business", + "category": [ + { + "id": 579, + "name": "Media & News", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897785926178206135" + ], + "editable_until_msecs": "1741305998000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "7865", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quotedRefResult": { + "result": { + "__typename": "Tweet", + "rest_id": "1897717119292493988" + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Thu Mar 06 23:06:38 +0000 2025", + "conversation_id_str": "1897785926178206135", + "display_text_range": [ + 0, + 47 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 156, + "favorited": false, + "full_text": "Yes. Intelligence involvement is highly likely.", + "is_quote_status": true, + "lang": "en", + "quote_count": 2, + "quoted_status_id_str": "1897717119292493988", + "quoted_status_permalink": { + "url": "https://t.co/S8ZBp9NHWu", + "expanded": "https://twitter.com/gunthereagleman/status/1897717119292493988", + "display": "x.com/gunthereaglema…" + }, + "reply_count": 29, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "1592975103645581315", + "id_str": "1897785926178206135" + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:53 +0000 2025", + "conversation_id_str": "1897829020483354770", + "display_text_range": [ + 0, + 260 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "That was a fully stage event that was a cabal Sacrifice on live t v anybody that followed him is damed\nSame with gay prison bot elon\nSemper Fidelis \nSemper Paratus \n-President H.A. MUSK I 51 57 SS 0044 11911\nHEATHER14K@GMAIL.COM \nUSMC CLERGY \n01 01101110110 10", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1897785926178206135", + "quoted_status_permalink": { + "url": "https://t.co/2ApUiCSC8Y", + "expanded": "https://twitter.com/defense_civil25/status/1897785926178206135", + "display": "x.com/defense_civil2…" + }, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "874677483777515520", + "id_str": "1897829020483354770" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 128, + "endIndex": 132 + }, + { + "startIndex": 181, + "endIndex": 185 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829018247876673", + "sortIndex": "1897829055328157692", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829018247876673", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTY1MDI0ODcxNjI3MzUwMDE2", + "rest_id": "1165024871627350016", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Aug 23 22:33:26 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Summer gardens, watching the moon and stars", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 326567, + "followers_count": 2117, + "friends_count": 2249, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 7, + "location": "", + "media_count": 4954, + "name": "moonbreeze", + "normal_followers_count": 2117, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1192569988277850112/MjXaYFnA_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "moonbreeze2", + "statuses_count": 421774, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/zNq11SdLE0", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 200, + "width": 400, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=400x400" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Musk suddenly doesn’t want credit for how much DOGE has slashed.", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "newrepublic.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 300, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=600x600" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 600, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "82689705", + "path": [] + } + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 72, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=144x144" + }, + "type": "IMAGE" + } + }, + { + "key": "creator", + "value": { + "type": "USER", + "user_value": { + "id_str": "970497102", + "path": [] + } + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 600, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 600, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "newrepublic.com", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 22, + "green": 18, + "red": 17 + }, + "percentage": 49.96 + }, + { + "rgb": { + "blue": 181, + "green": 185, + "red": 197 + }, + "percentage": 25.01 + }, + { + "rgb": { + "blue": 86, + "green": 116, + "red": 155 + }, + "percentage": 12.23 + }, + { + "rgb": { + "blue": 93, + "green": 154, + "red": 190 + }, + "percentage": 2.39 + }, + { + "rgb": { + "blue": 51, + "green": 59, + "red": 84 + }, + "percentage": 1.56 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Elon Musk Warns Republicans to Stop Blaming DOGE for Job Cuts", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 22, + "green": 18, + "red": 17 + }, + "percentage": 49.96 + }, + { + "rgb": { + "blue": 181, + "green": 185, + "red": 197 + }, + "percentage": 25.01 + }, + { + "rgb": { + "blue": 86, + "green": 116, + "red": 155 + }, + "percentage": 12.23 + }, + { + "rgb": { + "blue": 93, + "green": 154, + "red": 190 + }, + "percentage": 2.39 + }, + { + "rgb": { + "blue": 51, + "green": 59, + "red": 84 + }, + "percentage": 1.56 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 600, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 22, + "green": 18, + "red": 17 + }, + "percentage": 49.96 + }, + { + "rgb": { + "blue": 181, + "green": 185, + "red": 197 + }, + "percentage": 25.01 + }, + { + "rgb": { + "blue": 86, + "green": 116, + "red": 155 + }, + "percentage": 12.23 + }, + { + "rgb": { + "blue": 93, + "green": 154, + "red": 190 + }, + "percentage": 2.39 + }, + { + "rgb": { + "blue": 51, + "green": 59, + "red": 84 + }, + "percentage": 1.56 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 600, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/zNq11SdLE0", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 600, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1897685117792841733/x3Y3XbS7?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/zNq11SdLE0", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjo5NzA0OTcxMDI=", + "rest_id": "970497102", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Nov 25 18:10:43 +0000 2012", + "default_profile": false, + "default_profile_image": false, + "description": "associate writer @newrepublic", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "edieolmsted.com", + "expanded_url": "http://edieolmsted.com", + "url": "https://t.co/Pqb1yJswVZ", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 48038, + "followers_count": 1135, + "friends_count": 1365, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8, + "location": "Brooklyn, NY", + "media_count": 613, + "name": "edie olmsted", + "normal_followers_count": 1135, + "pinned_tweet_ids_str": [ + "1784261921434222741" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/970497102/1566525896", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1876489746681151488/oFpPmq1K_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "edieocre", + "statuses_count": 7542, + "translator_type": "none", + "url": "https://t.co/Pqb1yJswVZ", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + { + "result": { + "__typename": "User", + "id": "VXNlcjo4MjY4OTcwNQ==", + "rest_id": "82689705", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Oct 15 19:15:18 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Ideas. Influence. Impact.\n\nTNR is a must-read if you want to know the ideas impacting politics and culture today.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "tnr.com/subscribe", + "expanded_url": "http://tnr.com/subscribe", + "url": "https://t.co/XiAWbx1eh9", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2046, + "followers_count": 181683, + "friends_count": 1700, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5529, + "location": "New York, NY", + "media_count": 48037, + "name": "The New Republic", + "normal_followers_count": 181683, + "pinned_tweet_ids_str": [ + "1897426590138515606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/82689705/1582234641", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1230590491965652997/V_c9TZOr_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "newrepublic", + "statuses_count": 270668, + "translator_type": "none", + "url": "https://t.co/XiAWbx1eh9", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829018247876673" + ], + "editable_until_msecs": "1741316272000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:52 +0000 2025", + "conversation_id_str": "1897829018247876673", + "display_text_range": [ + 0, + 107 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "newrepublic.com/post/192415/el…", + "expanded_url": "https://newrepublic.com/post/192415/elon-musk-warns-republicans-doge-job-cuts", + "url": "https://t.co/zNq11SdLE0", + "indices": [ + 67, + 90 + ] + } + ], + "user_mentions": [ + { + "id_str": "82689705", + "name": "The New Republic", + "screen_name": "newrepublic", + "indices": [ + 95, + 107 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "Elon Musk Suddenly Doesn’t Want Credit for Disastrous DOGE Cuts \n\n https://t.co/zNq11SdLE0 via @newrepublic", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1165024871627350016", + "id_str": "1897829018247876673" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 0, + "endIndex": 4 + }, + { + "startIndex": 5, + "endIndex": 9 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829014670070020", + "sortIndex": "1897829055328157691", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829014670070020", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzgyODMzMjQ4MDI4NDc1Mzk4", + "rest_id": "1382833248028475398", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Apr 15 23:09:05 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Lic. Criminología y Victimología, Ing. Sistemas Computacionales y Músico.\n(Análisis, Investigación y Diagnóstico de Criminología-Victimología Geopolítica)", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 15070, + "followers_count": 48, + "friends_count": 515, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "", + "media_count": 2744, + "name": "Saúl Morales R.", + "normal_followers_count": 48, + "pinned_tweet_ids_str": [ + "1468849071888740355" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1382833248028475398/1674010940", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1817518062171828224/La5pf4B5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "WRSN101", + "statuses_count": 39147, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/stdms0hfcW", + "legacy": { + "binding_values": [ + { + "key": "photo_image_full_size_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 150, + "width": 184, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=280x150" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "Elon Musk, an American billionaire close to Donald Trump and head of the US Department of Government Effectiveness (DOGE), accused European leaders of not wanting to achieve peace and of striving for...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "en.topwar.ru", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 320, + "width": 393, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=800x320_1" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 652, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 82, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=100x100" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 652, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_original", + "value": { + "image_value": { + "height": 652, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "en.topwar.ru", + "type": "STRING" + } + }, + { + "key": "photo_image_full_size", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 15, + "green": 19, + "red": 23 + }, + "percentage": 53.06 + }, + { + "rgb": { + "blue": 29, + "green": 63, + "red": 137 + }, + "percentage": 31.34 + }, + { + "rgb": { + "blue": 155, + "green": 166, + "red": 226 + }, + "percentage": 8.28 + }, + { + "rgb": { + "blue": 226, + "green": 219, + "red": 222 + }, + "percentage": 2.44 + }, + { + "rgb": { + "blue": 170, + "green": 214, + "red": 245 + }, + "percentage": 0.72 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Elon Musk Accuses Europe of Seeking 'Eternal War' in Ukraine", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 15, + "green": 19, + "red": 23 + }, + "percentage": 53.06 + }, + { + "rgb": { + "blue": 29, + "green": 63, + "red": 137 + }, + "percentage": 31.34 + }, + { + "rgb": { + "blue": 155, + "green": 166, + "red": 226 + }, + "percentage": 8.28 + }, + { + "rgb": { + "blue": 226, + "green": 219, + "red": 222 + }, + "percentage": 2.44 + }, + { + "rgb": { + "blue": 170, + "green": 214, + "red": 245 + }, + "percentage": 0.72 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "summary_photo_image_x_large", + "value": { + "image_value": { + "height": 652, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "summary_photo_image", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "photo_image_full_size_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 15, + "green": 19, + "red": 23 + }, + "percentage": 53.06 + }, + { + "rgb": { + "blue": 29, + "green": 63, + "red": 137 + }, + "percentage": 31.34 + }, + { + "rgb": { + "blue": 155, + "green": 166, + "red": 226 + }, + "percentage": 8.28 + }, + { + "rgb": { + "blue": 226, + "green": 219, + "red": 222 + }, + "percentage": 2.44 + }, + { + "rgb": { + "blue": 170, + "green": 214, + "red": 245 + }, + "percentage": 0.72 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "photo_image_full_size_x_large", + "value": { + "image_value": { + "height": 652, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/stdms0hfcW", + "type": "STRING" + } + }, + { + "key": "summary_photo_image_original", + "value": { + "image_value": { + "height": 652, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897645971649044481/BOj5_yLa?format=jpg&name=orig" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/stdms0hfcW", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829014670070020" + ], + "editable_until_msecs": "1741316271000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:51 +0000 2025", + "conversation_id_str": "1897829014670070020", + "display_text_range": [ + 0, + 84 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "en.topwar.ru/260650-ilon-ma…", + "expanded_url": "https://en.topwar.ru/260650-ilon-mask-obvinil-evropu-v-stremlenii-k-vechnoj-vojne-na-ukraine.html", + "url": "https://t.co/stdms0hfcW", + "indices": [ + 61, + 84 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "Elon Musk Accuses Europe of Seeking 'Eternal War' in Ukraine\nhttps://t.co/stdms0hfcW", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1382833248028475398", + "id_str": "1897829014670070020" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 0, + "endIndex": 4 + }, + { + "startIndex": 5, + "endIndex": 9 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829005325209718", + "sortIndex": "1897829055328157690", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829005325209718", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTg2NjYyODc3NDc3MzM5MTM3", + "rest_id": "1586662877477339137", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Oct 30 10:14:57 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Proud Yoruba man, No-nonsense fellow.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 220998, + "followers_count": 399, + "friends_count": 394, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "", + "media_count": 226, + "name": "Enlọ Mosque(ẹ̀yán Elon Musk)", + "normal_followers_count": 399, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1626082375191896064/2DJWKC2X_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "billzonmedude", + "statuses_count": 22655, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829005325209718" + ], + "editable_until_msecs": "1741316269000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:49 +0000 2025", + "conversation_id_str": "1897646112292401585", + "display_text_range": [ + 48, + 112 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "3125982888", + "name": "emmanuel brown", + "screen_name": "brownemmanuel43", + "indices": [ + 0, + 16 + ] + }, + { + "id_str": "1266608901346209793", + "name": "Man of Letters.", + "screen_name": "Letter_to_Jack", + "indices": [ + 17, + 32 + ] + }, + { + "id_str": "1302466529758515200", + "name": "Izutex💯", + "screen_name": "aniogovictorr", + "indices": [ + 33, + 47 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@brownemmanuel43 @Letter_to_Jack @aniogovictorr Chimapanda remains a useless olosho nonsensical writer for life.", + "in_reply_to_screen_name": "brownemmanuel43", + "in_reply_to_status_id_str": "1897769191563739526", + "in_reply_to_user_id_str": "3125982888", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1586662877477339137", + "id_str": "1897829005325209718" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829003081195727", + "sortIndex": "1897829055328157689", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829003081195727", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4MTM0NDEyMA==", + "rest_id": "81344120", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Oct 10 12:30:01 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Certified Kametic Yoga insructor, Also trained as a Transformational Hypnotist", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "g7Thinkyoga.com", + "expanded_url": "http://g7Thinkyoga.com", + "url": "https://t.co/GtiQIsKoN7", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 286, + "followers_count": 220, + "friends_count": 811, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "New York, NY & CT", + "media_count": 869, + "name": "G7", + "normal_followers_count": 220, + "pinned_tweet_ids_str": [ + "1424708121197416450" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/81344120/1485082630", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/778234270888431617/3vAVZAK__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Misterg7", + "statuses_count": 3688, + "translator_type": "none", + "url": "https://t.co/GtiQIsKoN7", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/evLgM5fRSJ", + "legacy": { + "binding_values": [ + { + "key": "player_url", + "value": { + "string_value": "https://www.youtube.com/embed/yjrOW4rHNzk", + "type": "STRING" + } + }, + { + "key": "player_image_large", + "value": { + "image_value": { + "height": 627, + "width": 1200, + "url": "https://pbs.twimg.com/card_img/1896665374982049792/4TBDL-u_?format=jpg&name=1200x627" + }, + "type": "IMAGE" + } + }, + { + "key": "player_image", + "value": { + "image_value": { + "height": 600, + "width": 338, + "url": "https://pbs.twimg.com/card_img/1896665374982049792/4TBDL-u_?format=jpg&name=600x600" + }, + "type": "IMAGE" + } + }, + { + "key": "app_star_rating", + "value": { + "string_value": "4.67807", + "type": "STRING" + } + }, + { + "key": "description", + "value": { + "string_value": "#elonmusk took a hit to his #networth last year after his #twitter takeover destroyed the brand and lost billions, while alienating his most important custom...", + "type": "STRING" + } + }, + { + "key": "player_width", + "value": { + "string_value": "1280", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "www.youtube.com", + "type": "STRING" + } + }, + { + "key": "app_is_free", + "value": { + "string_value": "true", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "10228272", + "path": [] + } + } + }, + { + "key": "player_image_original", + "value": { + "image_value": { + "height": 720, + "width": 405, + "url": "https://pbs.twimg.com/card_img/1896665374982049792/4TBDL-u_?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "app_num_ratings", + "value": { + "string_value": "40,715,425", + "type": "STRING" + } + }, + { + "key": "app_price_amount", + "value": { + "string_value": "0.0", + "type": "STRING" + } + }, + { + "key": "player_height", + "value": { + "string_value": "720", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "youtube.com", + "type": "STRING" + } + }, + { + "key": "app_name", + "value": { + "string_value": "YouTube", + "type": "STRING" + } + }, + { + "key": "player_image_small", + "value": { + "image_value": { + "height": 240, + "width": 135, + "url": "https://pbs.twimg.com/card_img/1896665374982049792/4TBDL-u_?format=jpg&name=240x240" + }, + "type": "IMAGE" + } + }, + { + "key": "title", + "value": { + "string_value": "Elon Musk just went into the Oval Office and lied to our faces, while...", + "type": "STRING" + } + }, + { + "key": "app_price_currency", + "value": { + "string_value": "USD", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/evLgM5fRSJ", + "type": "STRING" + } + }, + { + "key": "player_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 138, + "green": 164, + "red": 170 + }, + "percentage": 49.86 + }, + { + "rgb": { + "blue": 53, + "green": 58, + "red": 60 + }, + "percentage": 19.25 + }, + { + "rgb": { + "blue": 150, + "green": 159, + "red": 221 + }, + "percentage": 8.15 + }, + { + "rgb": { + "blue": 58, + "green": 62, + "red": 147 + }, + "percentage": 4.17 + }, + { + "rgb": { + "blue": 216, + "green": 223, + "red": 217 + }, + "percentage": 3.37 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "player_image_x_large", + "value": { + "image_value": { + "height": 720, + "width": 405, + "url": "https://pbs.twimg.com/card_img/1896665374982049792/4TBDL-u_?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "player", + "url": "https://t.co/evLgM5fRSJ", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDIyODI3Mg==", + "rest_id": "10228272", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Nov 13 21:43:46 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "like and subscribe.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com", + "expanded_url": "http://youtube.com", + "url": "https://t.co/bUisN3Y1A6", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 6111, + "followers_count": 79542978, + "friends_count": 1152, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 77914, + "location": "San Bruno, CA", + "media_count": 15962, + "name": "YouTube", + "normal_followers_count": 79542978, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/10228272/1739383556", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1427292844612595720/RC1YSvuT_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "YouTube", + "statuses_count": 59845, + "translator_type": "regular", + "url": "https://t.co/bUisN3Y1A6", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829003081195727" + ], + "editable_until_msecs": "1741316268000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:48 +0000 2025", + "conversation_id_str": "1897829003081195727", + "display_text_range": [ + 0, + 112 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtube.com/shorts/yjrOW4r…", + "expanded_url": "https://youtube.com/shorts/yjrOW4rHNzk?si=Ti40nqUn_VUabbxg", + "url": "https://t.co/evLgM5fRSJ", + "indices": [ + 76, + 99 + ] + } + ], + "user_mentions": [ + { + "id_str": "10228272", + "name": "YouTube", + "screen_name": "YouTube", + "indices": [ + 104, + 112 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "Elon Musk just went into the Oval Office and lied to our faces, while in... https://t.co/evLgM5fRSJ via @YouTube", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "81344120", + "id_str": "1897829003081195727" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 0, + "endIndex": 4 + }, + { + "startIndex": 5, + "endIndex": 9 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897829000463925287", + "sortIndex": "1897829055328157688", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897829000463925287", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNDg5NTA1Mzk3", + "rest_id": "3489505397", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Aug 30 09:11:11 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Retired D1 and international sportsman. Previously antitrust, now macro, economist.\n\nA real doctor, not one of those fake medical ones.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 47519, + "followers_count": 422, + "friends_count": 229, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "The South (US & UK)", + "media_count": 17, + "name": "Rohan", + "normal_followers_count": 422, + "pinned_tweet_ids_str": [ + "1831356908365885940" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3489505397/1642890746", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1254917284600184834/EWyuZUoF_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "RPShah_econ", + "statuses_count": 217, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897829000463925287" + ], + "editable_until_msecs": "1741316268000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:48 +0000 2025", + "conversation_id_str": "1897717635401597042", + "display_text_range": [ + 10, + 190 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2402225466", + "name": "Santi Ruiz", + "screen_name": "rSanti97", + "indices": [ + 0, + 9 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@rSanti97 You don't need 50 points, you only need 1: Elon Musk has an IQ of less than 100 and should be sectioned for his safety and others.\n\nAll other points are irrelevant and nonsensical.", + "in_reply_to_screen_name": "rSanti97", + "in_reply_to_status_id_str": "1897717635401597042", + "in_reply_to_user_id_str": "2402225466", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "3489505397", + "id_str": "1897829000463925287" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 53, + "endIndex": 57 + }, + { + "startIndex": 58, + "endIndex": 62 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "tweet-1897828994847756389", + "sortIndex": "1897829055328157687", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897828994847756389", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5Njg4OTYyNzY0OTM0MjY2ODg=", + "rest_id": "968896276493426688", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Feb 28 17:10:48 +0000 2018", + "default_profile": false, + "default_profile_image": false, + "description": "A wise old bastard who's absolutely had it", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1587, + "followers_count": 173, + "friends_count": 557, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 36, + "name": "Socrates", + "normal_followers_count": 173, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/968976147835846657/09O2rqDP_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "TheGadfly21", + "statuses_count": 3150, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897828994847756389" + ], + "editable_until_msecs": "1741316266000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Mar 07 01:57:46 +0000 2025", + "conversation_id_str": "1897828994847756389", + "display_text_range": [ + 0, + 184 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "Elon Musk wants to create a sustainable situation on Mars to ultimately set up a human trafficking operation. There's no jurisdiction in space. He's really not that hard to figure out.", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "968896276493426688", + "id_str": "1897828994847756389" + } + } + }, + "tweetDisplayType": "Tweet", + "highlights": { + "textHighlights": [ + { + "startIndex": 0, + "endIndex": 4 + }, + { + "startIndex": 5, + "endIndex": 9 + } + ] + } + }, + "clientEventInfo": { + "component": "result", + "element": "tweet", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAFDAABDAABDAABCgABAAAAAAAAAAAAAAwAAgoAAQAAAAAAAAABCgACPIiWiLbW1BILAAMAAAARZWxvbiBtdXNrIGxhbmc6ZW4KAAUKp5+pVChJ3wgABgAAAAEKAAeQnAqW5nbW7wAAAAAA" + } + } + } + } + }, + { + "entryId": "cursor-top-9223372036854775807", + "sortIndex": "9223372036854775807", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAADDAABCgABGlZxd64WwRAKAAIaVnFqalZQZQAIAAIAAAABCAADAAAAAAgABAAAAAAKAAUaVnF4f0AnEAoABhpWcXh_P9jwAAA", + "cursorType": "Top" + } + }, + { + "entryId": "cursor-bottom-0", + "sortIndex": "0", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAADDAABCgABGlZxd64WwRAKAAIaVnFqalZQZQAIAAIAAAACCAADAAAAAAgABAAAAAAKAAUaVnF4f0AnEAoABhpWcXh_P9jwAAA", + "cursorType": "Bottom" + } + } + ] + } + ] + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_subscriptions.json b/apps/twscrape/tests/mocked-data/raw_subscriptions.json new file mode 100644 index 0000000..29cc28a --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_subscriptions.json @@ -0,0 +1,1120 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Bottom" + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "user-38813274", + "sortIndex": "1897829019747876864", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozODgxMzI3NA==", + "rest_id": "38813274", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat May 09 06:43:43 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Author, *Israel and Civilization* (March 18). Host, \"The Josh Hammer Show\" & \"America on Trial.\" Syndicated columnist. @Newsweek, @Article3Project, @NatConTalk.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "amazon.com/Israel-Civiliz…", + "expanded_url": "https://www.amazon.com/Israel-Civilization-Jewish-Nation-Destiny/dp/1635769736/", + "url": "https://t.co/ZJuEb5N07U", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 58558, + "followers_count": 142933, + "friends_count": 1999, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1037, + "location": "South Florida 🌴☀️", + "media_count": 1596, + "name": "Josh Hammer", + "normal_followers_count": 142933, + "pinned_tweet_ids_str": [ + "1879240746391515438" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/38813274/1736868918", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1679057501591879680/MDq0RImj_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "josh_hammer", + "statuses_count": 65666, + "translator_type": "none", + "url": "https://t.co/ZJuEb5N07U", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1475229654134968326", + "professional_type": "Creator", + "category": [ + { + "id": 933, + "name": "Media Personality", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "josh-hammer" + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-44196397", + "sortIndex": "1897829019747876863", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0NDE5NjM5Nw==", + "rest_id": "44196397", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Tue Jun 02 20:12:29 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 131626, + "followers_count": 219357868, + "friends_count": 1085, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 161139, + "location": "", + "media_count": 3564, + "name": "Elon Musk", + "normal_followers_count": 219357868, + "pinned_tweet_ids_str": [ + "1896995745280266333" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/44196397/1739948056", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1893803697185910784/Na5lOWi5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "elonmusk", + "statuses_count": 73588, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1679729435447275522", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": false + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-953298828253384704", + "sortIndex": "1897829019747876862", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5NTMyOTg4MjgyNTMzODQ3MDQ=", + "rest_id": "953298828253384704", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Jan 16 16:12:06 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Clout Diablo| Booker/Scriptwriter The Matt Gaetz Show| Frmr. @RepSantosNY03 @FmrRepMattGaetz @WarRoomPandemic @NYYRC| “Scandal’s Right Hand Man” - @PlaybookDC", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "v.cameo.com/e/NwMM67xswFb", + "expanded_url": "https://v.cameo.com/e/NwMM67xswFb", + "url": "https://t.co/eycTJdRKl1", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 91354, + "followers_count": 46164, + "friends_count": 13985, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 219, + "location": "Shaolin To SoCal", + "media_count": 4162, + "name": "VISH BURRA 🏴☠️", + "normal_followers_count": 46164, + "pinned_tweet_ids_str": [ + "1871782594523840753" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/953298828253384704/1689890572", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1880695371346878465/RAsGyuKA_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "VishBurra", + "statuses_count": 104077, + "translator_type": "none", + "url": "https://t.co/eycTJdRKl1", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "vish-burra" + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-526653893", + "sortIndex": "1897829019747876861", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo1MjY2NTM4OTM=", + "rest_id": "526653893", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Mar 16 18:12:36 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "Comedian Filmmaker Documentarian. Husband to @lovelilahart - Immune to the System Films - American History of Voter Fraud - World Death Organization #Faucifilm", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "youtube.com/@ImmunetotheSy…", + "expanded_url": "https://www.youtube.com/@ImmunetotheSystem", + "url": "https://t.co/tm2VnYBPTA", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 33049, + "followers_count": 131871, + "friends_count": 1021, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 541, + "location": "Texas", + "media_count": 6589, + "name": "Eric Abbenante", + "normal_followers_count": 131871, + "pinned_tweet_ids_str": [ + "1676184084316340224" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1882782888703262720/ghVAtOmP_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "EricAbbenante", + "statuses_count": 30460, + "translator_type": "none", + "url": "https://t.co/tm2VnYBPTA", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-21397275", + "sortIndex": "1897829019747876860", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTM5NzI3NQ==", + "rest_id": "21397275", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Feb 20 13:50:40 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "News Anchor 📺 Emmy Award Winning Journalist🏆 #OAN. Previously on CBS & ABC 👨👩👧👧 #GirlMom Proud ✡️Refugee #FightOn ✌️USC/ RT’s not endorsements", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "oann.com", + "expanded_url": "https://www.oann.com", + "url": "https://t.co/PEEqbQDmzN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 9852, + "followers_count": 24686, + "friends_count": 5068, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 287, + "location": "USA", + "media_count": 7719, + "name": "Stella Escobedo", + "normal_followers_count": 24686, + "pinned_tweet_ids_str": [ + "1824272433567715414" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/21397275/1640230310", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1860926582996525056/yh7M5grm_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "StellaEscoTV", + "statuses_count": 46526, + "translator_type": "none", + "url": "https://t.co/PEEqbQDmzN", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1467257784471150593", + "professional_type": "Business", + "category": [ + { + "id": 933, + "name": "Media Personality", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2438831503", + "sortIndex": "1897829019747876859", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDM4ODMxNTAz", + "rest_id": "2438831503", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Fri Apr 11 17:19:00 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "Primetime Host Fine Point @OANN | President & Founder, Nat. White House Correspondents’ Assoc. https://t.co/fVnWe4Bcqi | https://t.co/P3jXVKzIWN | https://t.co/KVTBCA0Ccl", + "entities": { + "description": { + "urls": [ + { + "display_url": "NWHCA.press", + "expanded_url": "http://NWHCA.press", + "url": "https://t.co/fVnWe4Bcqi", + "indices": [ + 95, + 118 + ] + }, + { + "display_url": "ChanelRion.com", + "expanded_url": "http://ChanelRion.com", + "url": "https://t.co/P3jXVKzIWN", + "indices": [ + 121, + 144 + ] + }, + { + "display_url": "Wordebys.com", + "expanded_url": "http://Wordebys.com", + "url": "https://t.co/KVTBCA0Ccl", + "indices": [ + 147, + 170 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "OANN.com", + "expanded_url": "http://www.OANN.com", + "url": "https://t.co/Dc40ktBda5", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 15854, + "followers_count": 610981, + "friends_count": 15599, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2046, + "location": "Washington, DC 🇺🇸🇰🇷", + "media_count": 1675, + "name": "Chanel Rion OAN", + "normal_followers_count": 610981, + "pinned_tweet_ids_str": [ + "1810857231795024085" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2438831503/1736374575", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1148367530437808135/e4LVGJeT_normal.png", + "profile_interstitial_type": "", + "screen_name": "ChanelRion", + "statuses_count": 24849, + "translator_type": "none", + "url": "https://t.co/Dc40ktBda5", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1606652920388354048", + "professional_type": "Creator", + "category": [ + { + "id": 933, + "name": "Media Personality", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1242258668638236672", + "sortIndex": "1897829019747876858", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjQyMjU4NjY4NjM4MjM2Njcy", + "rest_id": "1242258668638236672", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Mar 24 01:15:36 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "AI for good ✨ Ephesians 4:6 🕊️ Wifey to Matt 🇺🇸", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "instagram.com/gingergaetz/", + "expanded_url": "https://www.instagram.com/gingergaetz/", + "url": "https://t.co/nUU4egN2r2", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 8269, + "followers_count": 146277, + "friends_count": 761, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 196, + "location": "FL-1", + "media_count": 1352, + "name": "Ginger Gaetz", + "normal_followers_count": 146277, + "pinned_tweet_ids_str": [ + "1847735612155044173" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1242258668638236672/1726024953", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1723044342648983552/J7wd0SvP_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GingerLGaetz", + "statuses_count": 3936, + "translator_type": "none", + "url": "https://t.co/nUU4egN2r2", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1475580963191091201", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-875856268056969216", + "sortIndex": "1897829019747876857", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NzU4NTYyNjgwNTY5NjkyMTY=", + "rest_id": "875856268056969216", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Jun 16 23:23:01 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Rogan O’Handley • Lawyer • Patriot 🇺🇸", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "dcdraino.com", + "expanded_url": "http://dcdraino.com", + "url": "https://t.co/xCJw2nXBn2", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 9296, + "followers_count": 2157848, + "friends_count": 663, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4857, + "location": "Tampa, FL", + "media_count": 2782, + "name": "DC_Draino", + "normal_followers_count": 2157848, + "pinned_tweet_ids_str": [ + "1897692807558521310" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/875856268056969216/1732626168", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1865046713829875712/36ZyH2J__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DC_Draino", + "statuses_count": 11920, + "translator_type": "none", + "url": "https://t.co/xCJw2nXBn2", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1603834789471059971", + "professional_type": "Business", + "category": [ + { + "id": 580, + "name": "Media & News Company", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "RoganOHandley" + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2874102076", + "sortIndex": "1897829019747876856", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyODc0MTAyMDc2", + "rest_id": "2874102076", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Nov 12 18:29:17 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "Occasionally funny. Author. Director. Press inquiries: don’t inquire.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 118283, + "followers_count": 1119930, + "friends_count": 1195, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2877, + "location": "NYC", + "media_count": 3627, + "name": "Ashley St. Clair", + "normal_followers_count": 1119930, + "pinned_tweet_ids_str": [ + "1890602503068123539" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2874102076/1670904669", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1884399721772466176/YuyVEkev_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "stclairashley", + "statuses_count": 31526, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1530604503438876673", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1031747223569227776", + "sortIndex": "1897829019747876855", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMDMxNzQ3MjIzNTY5MjI3Nzc2", + "rest_id": "1031747223569227776", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Tue Aug 21 03:38:01 +0000 2018", + "default_profile": true, + "default_profile_image": false, + "description": "Grothendieckian Centrist; Former @WhiteHouse official; Theory @DukeU; Math @Uchicago; Proud Jew", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "dukespace.lib.duke.edu/dspace/handle/…", + "expanded_url": "https://dukespace.lib.duke.edu/dspace/handle/10161/12223", + "url": "https://t.co/dDpsh5TM86", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 29948, + "followers_count": 362355, + "friends_count": 94, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1513, + "location": "North Miami Beach", + "media_count": 981, + "name": "Darren J. Beattie 🌐", + "normal_followers_count": 362355, + "pinned_tweet_ids_str": [ + "1867323873454076027" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1031747223569227776/1633194150", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1253395412188188674/_GCa6GLL_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DarrenJBeattie", + "statuses_count": 39703, + "translator_type": "none", + "url": "https://t.co/dDpsh5TM86", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1355721251180961792", + "sortIndex": "1897829019747876854", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzU1NzIxMjUxMTgwOTYxNzky", + "rest_id": "1355721251180961792", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Jan 31 03:35:19 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "David J. Freeman - Political Commentator - America First - MAGA - Trump Supporter - Unfiltered", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 906586, + "followers_count": 1344341, + "friends_count": 100953, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3293, + "location": "Hill Country, Texas ", + "media_count": 19964, + "name": "Gunther Eagleman™", + "normal_followers_count": 1344341, + "pinned_tweet_ids_str": [ + "1897660620033478814" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1355721251180961792/1740358024", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1606836521784512512/Xb-_cXXi_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "GuntherEagleman", + "statuses_count": 243714, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "bitcoin_handle": "3BtB9rMnpnoscZZU9MyVe8sycchW8R3ZXt", + "cash_app_handle": "$Gunthereagleman" + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1145866561271554048", + "sortIndex": "1897829019747876853", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTQ1ODY2NTYxMjcxNTU0MDQ4", + "rest_id": "1145866561271554048", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Jul 02 01:27:32 +0000 2019", + "default_profile": false, + "default_profile_image": false, + "description": "Co-Host of Steve Bannon's War Room | WH Correspondent | UChicago | Support my work here 👇🏻", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "buymeacoffee.com/nataliegwinters", + "expanded_url": "https://buymeacoffee.com/nataliegwinters", + "url": "https://t.co/Q9SxhO8wi1", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12981, + "followers_count": 600141, + "friends_count": 1673, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1455, + "location": "", + "media_count": 2055, + "name": "Natalie Winters", + "normal_followers_count": 600141, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1145866561271554048/1740195371", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1885313048073633792/7x3bDI-s_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "nataliegwinters", + "statuses_count": 8946, + "translator_type": "none", + "url": "https://t.co/Q9SxhO8wi1", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1587155537027801089", + "professional_type": "Business", + "category": [ + { + "id": 955, + "name": "Journalist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "venmo_handle": "nataliewinters12" + }, + "super_follow_eligible": true + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "CreatorSubscriptionsSgs", + "element": "user" + } + } + }, + { + "entryId": "cursor-bottom-1897829019747876852", + "sortIndex": "1897829019747876852", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "0|1897829019747876850", + "cursorType": "Bottom" + } + }, + { + "entryId": "cursor-top-1897829019747876865", + "sortIndex": "1897829019747876865", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "-1|1897829019747876865", + "cursorType": "Top" + } + } + ] + } + ] + } + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_trends.json b/apps/twscrape/tests/mocked-data/raw_trends.json new file mode 100644 index 0000000..fd76424 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_trends.json @@ -0,0 +1,564 @@ +{ + "data": { + "timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Bottom" + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "trend-Hield", + "sortIndex": "1897838079637454848", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTrend", + "__typename": "TimelineTrend", + "name": "Hield", + "trend_url": { + "url": "twitter://search/?query=Hield&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgFSGllbGQAAA==" + } + ] + } + }, + "trend_metadata": { + "domain_context": "Trending in Sports", + "meta_description": "1,699 posts", + "url": { + "url": "twitter://search/?query=Hield&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgFSGllbGQAAA==" + } + ] + } + } + } + }, + "feedbackInfo": { + "clientEventInfo": { + "action": "click", + "component": "trends", + "element": "feedback" + }, + "feedbackKeys": [ + "-1336659320", + "1628041751", + "15718569", + "-619311538", + "-1457103155", + "2103484841" + ], + "feedbackMetadata": "DwABCwAAAAEAAAAFSGllbGQGAAQAAQgABgAAAAMA" + }, + "clientEventInfo": { + "component": "unified_events", + "element": "trend", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAQDAABCgABo8eUwO2g7DYAAAAA" + } + } + } + } + }, + { + "entryId": "trend-Marchand", + "sortIndex": "1897838079637454847", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTrend", + "__typename": "TimelineTrend", + "name": "Marchand", + "trend_url": { + "url": "twitter://search/?query=Marchand&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgITWFyY2hhbmQAAA==" + } + ] + } + }, + "trend_metadata": { + "domain_context": "Trending in Sports", + "meta_description": "3,157 posts", + "url": { + "url": "twitter://search/?query=Marchand&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgITWFyY2hhbmQAAA==" + } + ] + } + } + } + }, + "feedbackInfo": { + "clientEventInfo": { + "action": "click", + "component": "trends", + "element": "feedback" + }, + "feedbackKeys": [ + "-1336659320", + "1628041751", + "15718569", + "-619311538", + "-1457103155", + "2103484841" + ], + "feedbackMetadata": "DwABCwAAAAEAAAAITWFyY2hhbmQGAAQAAggABgAAAAMA" + }, + "clientEventInfo": { + "component": "unified_events", + "element": "trend", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAQDAABCgABo8eUwO2g7DYAAAAA" + } + } + } + } + }, + { + "entryId": "trend-Draymond", + "sortIndex": "1897838079637454846", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTrend", + "__typename": "TimelineTrend", + "name": "Draymond", + "trend_url": { + "url": "twitter://search/?query=Draymond&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgIRHJheW1vbmQAAA==" + } + ] + } + }, + "trend_metadata": { + "domain_context": "Trending in Sports", + "meta_description": "9,409 posts", + "url": { + "url": "twitter://search/?query=Draymond&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgIRHJheW1vbmQAAA==" + } + ] + } + } + } + }, + "feedbackInfo": { + "clientEventInfo": { + "action": "click", + "component": "trends", + "element": "feedback" + }, + "feedbackKeys": [ + "-1336659320", + "1628041751", + "15718569", + "-619311538", + "-1457103155", + "2103484841" + ], + "feedbackMetadata": "DwABCwAAAAEAAAAIRHJheW1vbmQGAAQAAwgABgAAAAMA" + }, + "clientEventInfo": { + "component": "unified_events", + "element": "trend", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAQDAABCgABo8eUwO2g7DYAAAAA" + } + } + } + } + }, + { + "entryId": "trend-Shaq", + "sortIndex": "1897838079637454845", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTrend", + "__typename": "TimelineTrend", + "name": "Shaq", + "trend_url": { + "url": "twitter://search/?query=Shaq&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgEU2hhcQAA" + } + ] + } + }, + "trend_metadata": { + "domain_context": "Trending in Sports", + "meta_description": "12K posts", + "url": { + "url": "twitter://search/?query=Shaq&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgEU2hhcQAA" + } + ] + } + } + } + }, + "feedbackInfo": { + "clientEventInfo": { + "action": "click", + "component": "trends", + "element": "feedback" + }, + "feedbackKeys": [ + "-1336659320", + "1628041751", + "15718569", + "-619311538", + "-1457103155", + "2103484841" + ], + "feedbackMetadata": "DwABCwAAAAEAAAAEU2hhcQYABAAECAAGAAAAAwA=" + }, + "clientEventInfo": { + "component": "unified_events", + "element": "trend", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAQDAABCgABo8eUwO2g7DYAAAAA" + } + } + } + } + }, + { + "entryId": "trend-Chuck", + "sortIndex": "1897838079637454844", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTrend", + "__typename": "TimelineTrend", + "name": "Chuck", + "trend_url": { + "url": "twitter://search/?query=Chuck&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgFQ2h1Y2sAAA==" + } + ] + } + }, + "trend_metadata": { + "domain_context": "Trending in Sports", + "meta_description": "37.6K posts", + "url": { + "url": "twitter://search/?query=Chuck&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgFQ2h1Y2sAAA==" + } + ] + } + } + } + }, + "feedbackInfo": { + "clientEventInfo": { + "action": "click", + "component": "trends", + "element": "feedback" + }, + "feedbackKeys": [ + "-1336659320", + "1628041751", + "15718569", + "-619311538", + "-1457103155", + "2103484841" + ], + "feedbackMetadata": "DwABCwAAAAEAAAAFQ2h1Y2sGAAQABQgABgAAAAMA" + }, + "clientEventInfo": { + "component": "unified_events", + "element": "trend", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAQDAABCgABo8eUwO2g7DYAAAAA" + } + } + } + } + }, + { + "entryId": "trend-Nets", + "sortIndex": "1897838079637454843", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTrend", + "__typename": "TimelineTrend", + "name": "Nets", + "trend_url": { + "url": "twitter://search/?query=Nets&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgETmV0cwAA" + } + ] + } + }, + "trend_metadata": { + "domain_context": "Trending in Sports", + "meta_description": "12K posts", + "url": { + "url": "twitter://search/?query=Nets&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgETmV0cwAA" + } + ] + } + } + } + }, + "feedbackInfo": { + "clientEventInfo": { + "action": "click", + "component": "trends", + "element": "feedback" + }, + "feedbackKeys": [ + "-1336659320", + "1628041751", + "15718569", + "-619311538", + "-1457103155", + "2103484841" + ], + "feedbackMetadata": "DwABCwAAAAEAAAAETmV0cwYABAAGCAAGAAAAAwA=" + }, + "clientEventInfo": { + "component": "unified_events", + "element": "trend", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAQDAABCgABo8eUwO2g7DYAAAAA" + } + } + } + } + }, + { + "entryId": "trend-Bengals", + "sortIndex": "1897838079637454842", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTrend", + "__typename": "TimelineTrend", + "name": "Bengals", + "trend_url": { + "url": "twitter://search/?query=Bengals&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgHQmVuZ2FscwAA" + } + ] + } + }, + "trend_metadata": { + "domain_context": "Trending in Sports", + "meta_description": "21.9K posts", + "url": { + "url": "twitter://search/?query=Bengals&src=trend_click&pc=true&vertical=trends", + "urlType": "DeepLink", + "urtEndpointOptions": { + "requestParams": [ + { + "key": "cd", + "value": "HBgHQmVuZ2FscwAA" + } + ] + } + } + } + }, + "feedbackInfo": { + "clientEventInfo": { + "action": "click", + "component": "trends", + "element": "feedback" + }, + "feedbackKeys": [ + "-1336659320", + "1628041751", + "15718569", + "-619311538", + "-1457103155", + "2103484841" + ], + "feedbackMetadata": "DwABCwAAAAEAAAAHQmVuZ2FscwYABAAHCAAGAAAAAwA=" + }, + "clientEventInfo": { + "component": "unified_events", + "element": "trend", + "details": { + "timelinesDetails": { + "controllerData": "DAACDAAQDAABCgABo8eUwO2g7DYAAAAA" + } + } + } + } + }, + { + "entryId": "cursor-top-1897838079637454849", + "sortIndex": "1897838079637454849", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAAJAAA", + "cursorType": "Top" + } + } + ] + } + ], + "responseObjects": { + "feedbackActions": [ + { + "key": "-619311538", + "value": { + "feedbackType": "SeeFewer", + "prompt": "Not interested in this", + "confirmation": "Thanks. Refresh this page to update these trends.", + "feedbackUrl": "/2/guide/insert_feedback/trend_not_interested_in_this_feedback_key.json", + "hasUndoAction": false, + "confirmationDisplayType": "Inline" + } + }, + { + "key": "15718569", + "value": { + "feedbackType": "SeeFewer", + "prompt": "This trend is abusive or harmful", + "confirmation": "Thanks. Refresh this page to update these trends.", + "feedbackUrl": "/2/guide/insert_feedback/trend_abusive_feedback_key.json", + "hasUndoAction": false, + "confirmationDisplayType": "Inline" + } + }, + { + "key": "-1457103155", + "value": { + "feedbackType": "SeeFewer", + "prompt": "This trend is a duplicate", + "confirmation": "Thanks. Refresh this page to update these trends.", + "feedbackUrl": "/2/guide/insert_feedback/trend_duplicate_feedback_key.json", + "hasUndoAction": false, + "confirmationDisplayType": "Inline" + } + }, + { + "key": "-1336659320", + "value": { + "feedbackType": "SeeFewer", + "prompt": "The associated content is not relevant", + "confirmation": "Thanks. Refresh this page to update these trends.", + "feedbackUrl": "/2/guide/insert_feedback/trend_irrelevant_content_feedback_key.json", + "hasUndoAction": false, + "confirmationDisplayType": "BottomSheet" + } + }, + { + "key": "1628041751", + "value": { + "feedbackType": "SeeFewer", + "prompt": "This trend is spam", + "confirmation": "Thanks. Refresh this page to update these trends.", + "feedbackUrl": "/2/guide/insert_feedback/trend_spam_feedback_key.json", + "hasUndoAction": false, + "confirmationDisplayType": "Inline" + } + }, + { + "key": "2103484841", + "value": { + "feedbackType": "SeeFewer", + "prompt": "This trend is harmful or spammy", + "confirmation": "Thanks. Refresh this page to update these trends.", + "feedbackUrl": "/2/guide/insert_feedback/trend_abusive_or_harmful_feedback_key.json", + "hasUndoAction": false, + "confirmationDisplayType": "BottomSheet" + } + } + ] + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_tweet_details.json b/apps/twscrape/tests/mocked-data/raw_tweet_details.json new file mode 100644 index 0000000..f4fc533 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_tweet_details.json @@ -0,0 +1,2026 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1649191520250245121", + "sortIndex": "7574180516604530686", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191520250245121", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191520250245121" + ], + "editable_until_msecs": "1682034673000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "935947", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 73, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:13 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 98 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 453, + "favorited": false, + "full_text": "Today, we are deprecating our Premium v1.1 API, including Premium Search and Account Activity API.", + "is_quote_status": false, + "lang": "en", + "quote_count": 117, + "reply_count": 100, + "retweet_count": 220, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191520250245121" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "conversationthread-1649191521323995138", + "sortIndex": "7574180516604530676", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1649191521323995138-tweet-1649191521323995138", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191521323995138", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191521323995138" + ], + "editable_until_msecs": "1682034673000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "212317", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 14, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:13 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 190 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "On 3/29 we announced that deprecations across our legacy Twitter API access tiers would be completed by 4/29. Unwinding Premium is one step closer to full deprecation of those legacy tiers.", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 37, + "reply_count": 8, + "retweet_count": 49, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191521323995138" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCCADg4UKAAIAAAAAGACgCAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1649191521323995138-tweet-1649191522485817345", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191522485817345", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191522485817345" + ], + "editable_until_msecs": "1682034674000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "238808", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:14 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 256 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "shorturl.at/uwAKZ", + "expanded_url": "https://shorturl.at/uwAKZ", + "url": "https://t.co/A2FQP2DWuy", + "indices": [ + 233, + 256 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 144, + "favorited": false, + "full_text": "If you are a Twitter developer with a commercial use case, we recommend that you apply for our Enterprise tier.\nEnterprise Search and Account Activity API continue to be available to developers on that Enterprise tier. \n\nApply here: https://t.co/A2FQP2DWuy", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191521323995138", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 13, + "reply_count": 33, + "retweet_count": 47, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191522485817345" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACECADg4EKAAIAAAAAGACgCAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1649191521323995138-tweet-1649191523697979392", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191523697979392", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191523697979392" + ], + "editable_until_msecs": "1682034674000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "206562", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:14 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 193 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com/", + "url": "https://t.co/iGTdPXTp2D", + "indices": [ + 170, + 193 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 139, + "favorited": false, + "full_text": "Thank you to those who have already migrated to our new API offerings. We hope you can continue to seamlessly use the Twitter API via our new access tiers. \n\nLearn more: https://t.co/iGTdPXTp2D", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191522485817345", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 37, + "retweet_count": 45, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191523697979392" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACICADg4EKAAIAAAAAGACgCAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1670963982851612672", + "sortIndex": "7574180516604530666", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1670963982851612672-tweet-1670963982851612672", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1670963982851612672", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyOTgzMzMzOA==", + "rest_id": "29833338", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Apr 08 21:57:02 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Love in spite of all.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "worldclassmedia.com", + "expanded_url": "http://worldclassmedia.com", + "url": "https://t.co/CXexMrODJl", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 603, + "followers_count": 93, + "friends_count": 256, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 2, + "location": "Austin, TX", + "media_count": 27, + "name": "CharlesVerhoeff", + "normal_followers_count": 93, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/29833338/1651025048", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1519134806344445953/oheGVM5C_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "CharlesVerhoeff", + "statuses_count": 822, + "translator_type": "none", + "url": "https://t.co/CXexMrODJl", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1670963982851612672" + ], + "editable_until_msecs": "1687227433000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "152", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Jun 20 01:17:13 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 179 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/8Z18R54r8W", + "expanded_url": "https://x.com/CharlesVerhoeff/status/1670963982851612672/photo/1", + "id_str": "1670963980594999298", + "indices": [ + 180, + 203 + ], + "media_key": "3_1670963980594999298", + "media_url_https": "https://pbs.twimg.com/media/FzB04x_WcAIuKoy.jpg", + "type": "photo", + "url": "https://t.co/8Z18R54r8W", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1119, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1080, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 656, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1119, + "width": 1080, + "focus_rects": [ + { + "x": 0, + "y": 5, + "w": 1080, + "h": 605 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 982, + "h": 1119 + }, + { + "x": 0, + "y": 0, + "w": 560, + "h": 1119 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1119 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1670963980594999298" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/8Z18R54r8W", + "expanded_url": "https://x.com/CharlesVerhoeff/status/1670963982851612672/photo/1", + "id_str": "1670963980594999298", + "indices": [ + 180, + 203 + ], + "media_key": "3_1670963980594999298", + "media_url_https": "https://pbs.twimg.com/media/FzB04x_WcAIuKoy.jpg", + "type": "photo", + "url": "https://t.co/8Z18R54r8W", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1119, + "w": 1080, + "resize": "fit" + }, + "medium": { + "h": 1119, + "w": 1080, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 656, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1119, + "width": 1080, + "focus_rects": [ + { + "x": 0, + "y": 5, + "w": 1080, + "h": 605 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 982, + "h": 1119 + }, + { + "x": 0, + "y": 0, + "w": 560, + "h": 1119 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1119 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1670963980594999298" + } + } + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@TwitterDev These Twitter link redirects on Android are broken, should just expand on the app when clicked but redirect to a web browser and kicks me off the app - losing traffic. https://t.co/8Z18R54r8W", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "29833338", + "id_str": "1670963982851612672" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCGAHgAUKAAIAAAAACACECAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1649367462897500160", + "sortIndex": "7574180516604530656", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1649367462897500160-tweet-1649367462897500160", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649367462897500160", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzAxMDM2Mzkx", + "rest_id": "1701036391", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Aug 26 05:23:01 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 320, + "followers_count": 78, + "friends_count": 89, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 127, + "name": "NJG009", + "normal_followers_count": 78, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/831751839184015360/0mdD3-_c_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "njg009", + "statuses_count": 3456, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649367462897500160" + ], + "editable_until_msecs": "1682076621000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1416", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Apr 21 11:00:21 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 78 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@TwitterDev Can y’all do me a solid ? Throw me a blue check off the strength ?", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1701036391", + "id_str": "1649367462897500160" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSACCKIDgAUKAAIAAAAACADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1649315713671385090", + "sortIndex": "7574180516604530646", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1649315713671385090-tweet-1649315713671385090", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649315713671385090", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3MTUxODM3OTI2OTczMDMwNDE=", + "rest_id": "715183792697303041", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Mar 30 14:27:58 +0000 2016", + "default_profile": true, + "default_profile_image": false, + "description": "在推文中提及@HuoQubot 将在几秒回复你相关视频下载链接。 请关注我 获取通知。", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 30, + "followers_count": 791619, + "friends_count": 117, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 397, + "location": "", + "media_count": 1, + "name": "获取影片机器人", + "normal_followers_count": 791619, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/715183792697303041/1693686201", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1805124494555750400/A_atuS58_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "HuoQubot", + "statuses_count": 413035, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1649846747844468736", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649315713671385090" + ], + "editable_until_msecs": "1682064283000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1139", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Apr 21 07:34:43 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 16 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@TwitterDev 🤢🤢🤢🤢", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "qme", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "715183792697303041", + "id_str": "1649315713671385090" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKACCSQDgAUKAAIAAAAACADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1651968114295463937", + "sortIndex": "7574180516604530636", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1651968114295463937-tweet-1651968114295463937", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1651968114295463937", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0ODg2OTgzMzY2", + "rest_id": "4886983366", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Feb 08 05:40:20 +0000 2016", + "default_profile": true, + "default_profile_image": false, + "description": "当世事再无完美 可愿在岁月如歌中找你", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 734, + "followers_count": 27, + "friends_count": 431, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 3, + "location": "Yuen Long District, Hong Kong", + "media_count": 2, + "name": "ThatsMe", + "normal_followers_count": 27, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1793665247674613760/ALblM85P_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Allinmylove3162", + "statuses_count": 111, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1653035799338942465", + "professional_type": "Business", + "category": [ + { + "id": 192, + "name": "Financial Services", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1651968114295463937" + ], + "editable_until_msecs": "1682696665000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "123", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Apr 28 15:14:25 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 136 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 2, + "favorited": false, + "full_text": "@TwitterDev such a stupid decision for $42000 per month, you shouldn't own the tweets, they are created by twitter users, not elon musk.", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "4886983366", + "id_str": "1651968114295463937" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKACCigDgAUKAAIAAAAACACgCAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1659389331600035842", + "sortIndex": "7574180516604530626", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1659389331600035842-tweet-1659389331600035842", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1659389331600035842", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNTgwNzMzMTU0NTg2OTI3MTA0", + "rest_id": "1580733154586927104", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Oct 14 01:35:59 +0000 2022", + "default_profile": true, + "default_profile_image": false, + "description": "Leandrinho já rodou o 🌎..estou aqui para seguir a profissão..que é chofe de caminhão!!", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 5, + "followers_count": 3, + "friends_count": 45, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2, + "location": "Patos de Minas, Brasil", + "media_count": 25, + "name": "Leandro estradao", + "normal_followers_count": 3, + "pinned_tweet_ids_str": [ + "1668438701423181826" + ], + "possibly_sensitive": true, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1580733154586927104/1685052128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1624565713187766272/eLscjEko_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Leandro35684581", + "statuses_count": 61, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1660004607169314819", + "professional_type": "Business", + "category": [ + { + "id": 1017, + "name": "Artist", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "patreon_handle": "leandrinho" + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1659389331600035842" + ], + "editable_until_msecs": "1684466021000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "135", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri May 19 02:43:41 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 18 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@TwitterDev Top 10", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "und", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1580733154586927104", + "id_str": "1659389331600035842" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKACDDADgAUKAAIAAAAACACICAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1664148856903446528", + "sortIndex": "7574180516604530616", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1664148856903446528-tweet-1664148856903446528", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1664148856903446528", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyODkxNzAzMjY2", + "rest_id": "2891703266", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Thu Nov 06 04:02:46 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1, + "followers_count": 3, + "friends_count": 30, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "", + "media_count": 0, + "name": "Damu•Kon•Tan", + "normal_followers_count": 3, + "pinned_tweet_ids_str": [ + "1699234847955534155" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1371467320015552526/TJNArt0t_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DamuKonTan", + "statuses_count": 4, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1664148856903446528" + ], + "editable_until_msecs": "1685600780000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "233", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Jun 01 05:56:20 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 285 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@TwitterDev My Twitter developer account was at the Elevated level. However, I noticed that the Elevated level no longer exists. Despite that, I am still able to access the APIs for both v1.1 and v2 under the Elevated level. Will I lose access to the Elevated privileges in the future?", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "2891703266", + "id_str": "1664148856903446528" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKACCCADgAUKAAIAAAAACACICAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1667373163150278657", + "sortIndex": "7574180516604530606", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1667373163150278657-tweet-1667373163150278657", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1667373163150278657", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjM4MzgzMTExNTQwMDE1MTA1", + "rest_id": "1638383111540015105", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Mar 22 03:32:46 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "conceptual artist w/ a philosophical undertone founder/ceo @outsider_supply effectively accelerating consciousness through art, fashion, tech & wellbeing", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "outsidersupply.com", + "expanded_url": "https://www.outsidersupply.com", + "url": "https://t.co/klkX9Vf3c1", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 65209, + "followers_count": 1160, + "friends_count": 867, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 12, + "location": "The Art World", + "media_count": 1732, + "name": "McKenzie Girl", + "normal_followers_count": 1160, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1638383111540015105/1729780171", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1872386384167649280/jHQNxBIC_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "therealmck3nzie", + "statuses_count": 26089, + "translator_type": "none", + "url": "https://t.co/klkX9Vf3c1", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1729359557208441136", + "professional_type": "Business", + "category": [ + { + "id": 958, + "name": "Entrepreneur", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": false + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1667373163150278657" + ], + "editable_until_msecs": "1686371315000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1776", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE2NjczNzMxNjMwMzcwNTI5Mjk=", + "text": "Hey @TwitterDev 💕 not too sure how to give feedback, but in my ‘For You’ tab, I keep seeing tweets written by my self 🤷♀️ \n\nIt was also feeling easier to engage and grow a few weeks ago, but maybe I just haven’t been saying interesting things! 🤷♀️\n\nAnyhow, thanks! And yea. Id rather not see my own tweets in my ‘for you’ 💕", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Sat Jun 10 03:28:35 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 291 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 4, + "favorited": false, + "full_text": "@TwitterDev Hey @TwitterDev 💕 not too sure how to give feedback, but in my ‘For You’ tab, I keep seeing tweets written by my self 🤷♀️ \n\nIt was also feeling easier to engage and grow a few weeks ago, but maybe I just haven’t been saying interesting things! 🤷♀️\n\nAnyhow, thanks! And yea. Id", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1638383111540015105", + "id_str": "1667373163150278657" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKACCCADgAUKAAIAAAAAGACICAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "cursor-bottom-7883484533282210185", + "sortIndex": "7574180516604530605", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "UgAAAPAxHBmGgIC-oYC-3eMthMDSse28jeMtgoDTjeuP_OwtgoC8mdnD2aMugIC95fS4urAugMDR0a-kn5guhMDSveb5xTYA4L7hxPOqhy4lAhIVBAAA", + "cursorType": "Bottom" + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ], + "metadata": { + "reader_mode_config": { + "is_reader_mode_available": true + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_tweet_replies.json b/apps/twscrape/tests/mocked-data/raw_tweet_replies.json new file mode 100644 index 0000000..cbe1051 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_tweet_replies.json @@ -0,0 +1,1892 @@ +{ + "data": { + "threaded_conversation_with_injections_v2": { + "instructions": [ + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1649191520250245121", + "sortIndex": "7574180516604530686", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191520250245121", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700154, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700154, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191520250245121" + ], + "editable_until_msecs": "1682034673000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "935946", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 73, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:13 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 98 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 453, + "favorited": false, + "full_text": "Today, we are deprecating our Premium v1.1 API, including Premium Search and Account Activity API.", + "is_quote_status": false, + "lang": "en", + "quote_count": 117, + "reply_count": 100, + "retweet_count": 220, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191520250245121" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread", + "hasModeratedReplies": false + } + } + }, + { + "entryId": "conversationthread-1649191521323995138", + "sortIndex": "7574180516604530676", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1649191521323995138-tweet-1649191521323995138", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191521323995138", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700154, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700154, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191521323995138" + ], + "editable_until_msecs": "1682034673000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "212317", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 14, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:13 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 190 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "On 3/29 we announced that deprecations across our legacy Twitter API access tiers would be completed by 4/29. Unwinding Premium is one step closer to full deprecation of those legacy tiers.", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 37, + "reply_count": 8, + "retweet_count": 49, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191521323995138" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABCCADg4UKAAIAAAAAGACgCAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1649191521323995138-tweet-1649191522485817345", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191522485817345", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700154, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700154, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191522485817345" + ], + "editable_until_msecs": "1682034674000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "238808", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:14 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 256 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "shorturl.at/uwAKZ", + "expanded_url": "https://shorturl.at/uwAKZ", + "url": "https://t.co/A2FQP2DWuy", + "indices": [ + 233, + 256 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 144, + "favorited": false, + "full_text": "If you are a Twitter developer with a commercial use case, we recommend that you apply for our Enterprise tier.\nEnterprise Search and Account Activity API continue to be available to developers on that Enterprise tier. \n\nApply here: https://t.co/A2FQP2DWuy", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191521323995138", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 13, + "reply_count": 33, + "retweet_count": 47, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191522485817345" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABECADg4EKAAIAAAAAGACgCAAAAAA=" + } + } + } + } + }, + { + "entryId": "conversationthread-1649191521323995138-tweet-1649191523697979392", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649191523697979392", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700154, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700154, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649191523697979392" + ], + "editable_until_msecs": "1682034674000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "206562", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Thu Apr 20 23:21:14 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 0, + 193 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com", + "expanded_url": "https://developer.twitter.com/", + "url": "https://t.co/iGTdPXTp2D", + "indices": [ + 170, + 193 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 139, + "favorited": false, + "full_text": "Thank you to those who have already migrated to our new API offerings. We hope you can continue to seamlessly use the Twitter API via our new access tiers. \n\nLearn more: https://t.co/iGTdPXTp2D", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191522485817345", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 37, + "retweet_count": 45, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1649191523697979392" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "SelfThread" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABICADg4EKAAIAAAAAGACgCAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1667373163150278657", + "sortIndex": "7574180516604530666", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1667373163150278657-tweet-1667373163150278657", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1667373163150278657", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjM4MzgzMTExNTQwMDE1MTA1", + "rest_id": "1638383111540015105", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Wed Mar 22 03:32:46 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "conceptual artist w/ a philosophical undertone founder/ceo @outsider_supply effectively accelerating consciousness through art, fashion, tech & wellbeing", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "outsidersupply.com", + "expanded_url": "https://www.outsidersupply.com", + "url": "https://t.co/klkX9Vf3c1", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 65208, + "followers_count": 1160, + "friends_count": 867, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 12, + "location": "The Art World", + "media_count": 1732, + "name": "McKenzie Girl", + "normal_followers_count": 1160, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1638383111540015105/1729780171", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1872386384167649280/jHQNxBIC_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "therealmck3nzie", + "statuses_count": 26089, + "translator_type": "none", + "url": "https://t.co/klkX9Vf3c1", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1729359557208441136", + "professional_type": "Business", + "category": [ + { + "id": 958, + "name": "Entrepreneur", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": false + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1667373163150278657" + ], + "editable_until_msecs": "1686371315000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1776", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE2NjczNzMxNjMwMzcwNTI5Mjk=", + "text": "Hey @TwitterDev 💕 not too sure how to give feedback, but in my ‘For You’ tab, I keep seeing tweets written by my self 🤷♀️ \n\nIt was also feeling easier to engage and grow a few weeks ago, but maybe I just haven’t been saying interesting things! 🤷♀️\n\nAnyhow, thanks! And yea. Id rather not see my own tweets in my ‘for you’ 💕", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + } + } + } + }, + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Sat Jun 10 03:28:35 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 291 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 4, + "favorited": false, + "full_text": "@TwitterDev Hey @TwitterDev 💕 not too sure how to give feedback, but in my ‘For You’ tab, I keep seeing tweets written by my self 🤷♀️ \n\nIt was also feeling easier to engage and grow a few weeks ago, but maybe I just haven’t been saying interesting things! 🤷♀️\n\nAnyhow, thanks! And yea. Id", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 1, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1638383111540015105", + "id_str": "1667373163150278657" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFKABCGAHgAUKAAIAAAAAGACICAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1649294040985157633", + "sortIndex": "7574180516604530656", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1649294040985157633-tweet-1649294040985157633", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649294040985157633", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2NzI5MTQ2Mw==", + "rest_id": "67291463", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Aug 20 11:37:23 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Technical Dev 👊 Anti-woke 🇬🇧 🏴🙏 Aikidoka 🥋#SupportUkraine 🇺🇦 #MushroomFella", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 22647, + "followers_count": 4274, + "friends_count": 4036, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 15, + "location": "England, United Kingdom", + "media_count": 4402, + "name": "Mr Kodama 🇺🇦🇬🇧🇺🇸", + "normal_followers_count": 4274, + "pinned_tweet_ids_str": [ + "1510004885722476546" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/67291463/1627848214", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1693018205797625856/AFmX95cj_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "charlesr1971", + "statuses_count": 31393, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649294040985157633" + ], + "editable_until_msecs": "1682059116000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1817", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Apr 21 06:08:36 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 213 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 6, + "favorited": false, + "full_text": "@TwitterDev What exactly is your definition of deprecation?\nBecause normally it means a period of time where users can still access a service, before it is retired?\nI doubt anyone from Twitter, will answer this. 😞", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 3, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "67291463", + "id_str": "1649294040985157633" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABCKIDgAUKAAIAAAAACADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1649294965783109640", + "sortIndex": "7574180516604530646", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1649294965783109640-tweet-1649294965783109640", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1649294965783109640", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2NzI5MTQ2Mw==", + "rest_id": "67291463", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Thu Aug 20 11:37:23 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Technical Dev 👊 Anti-woke 🇬🇧 🏴🙏 Aikidoka 🥋#SupportUkraine 🇺🇦 #MushroomFella", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 22647, + "followers_count": 4274, + "friends_count": 4036, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 15, + "location": "England, United Kingdom", + "media_count": 4402, + "name": "Mr Kodama 🇺🇦🇬🇧🇺🇸", + "normal_followers_count": 4274, + "pinned_tweet_ids_str": [ + "1510004885722476546" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/67291463/1627848214", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1693018205797625856/AFmX95cj_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "charlesr1971", + "statuses_count": 31393, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1649294965783109640" + ], + "editable_until_msecs": "1682059336000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1297", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Apr 21 06:12:16 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 291 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 7, + "favorited": false, + "full_text": "@TwitterDev The best thing is for no one to sign up for any of the new tiers. This will force Twitter to rethink their insane new pricing structure. \nCurrently, my Twitter App will be retired on 29/4/2023, thanks to Twitter’s impossible new prices. \nMy app was free to use for everyone. 🤷♀️", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "67291463", + "id_str": "1649294965783109640" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABCSQDgAUKAAIAAAAACADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1685683951480795136", + "sortIndex": "7574180516604530636", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1685683951480795136-tweet-1685683951480795136", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1685683951480795136", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo3NDAxMjEy", + "rest_id": "7401212", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Jul 11 13:15:45 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Host of #Top20Posts - https://t.co/HlYSjXgRsZ\n\nMy blog: https://t.co/JUT6aC9nr0\n\nAlways 75% snark-free.", + "entities": { + "description": { + "urls": [ + { + "display_url": "tinyurl.com/TheTop20Tweets", + "expanded_url": "https://tinyurl.com/TheTop20Tweets", + "url": "https://t.co/HlYSjXgRsZ", + "indices": [ + 22, + 45 + ] + }, + { + "display_url": "directorblue.blogspot.com", + "expanded_url": "http://directorblue.blogspot.com", + "url": "https://t.co/JUT6aC9nr0", + "indices": [ + 56, + 79 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "directorblue.substack.com", + "expanded_url": "http://directorblue.substack.com", + "url": "https://t.co/o9CO1LP6Lg", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 350972, + "followers_count": 9534, + "friends_count": 1194, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 246, + "location": "Opinions expressed are my own.", + "media_count": 10168, + "name": "Doug Ross", + "normal_followers_count": 9534, + "pinned_tweet_ids_str": [ + "1894127118709067871" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/7401212/1635699715", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1454854536548470787/U9Z4U3Wx_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "directorblue", + "statuses_count": 353514, + "translator_type": "none", + "url": "https://t.co/o9CO1LP6Lg", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1685683951480795136" + ], + "editable_until_msecs": "1690736947000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1295", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Sun Jul 30 16:09:07 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 13, + 189 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 9, + "favorited": false, + "full_text": "@XDevelopers Turning off very modest search access for the free tier has really disrupted some devs. They (we) have no business case to pay $1,000 a month or whatever.\nThanks for listening.", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "7401212", + "id_str": "1685683951480795136" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABCigDgAUKAAIAAAAAGADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1740593424510665158", + "sortIndex": "7574180516604530626", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1740593424510665158-tweet-1740593424510665158", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1740593424510665158", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzQ5Njg0MjcxNTg2NDE0NTkz", + "rest_id": "1349684271586414593", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Jan 14 11:47:13 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "| DeFi Enthusiast 🚀 | $Hex $PLS $PLSX $INC | Blockchain Advocate | Exploring innovation in asset management & crypto tech - GO SAINTS", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 105149, + "followers_count": 3029, + "friends_count": 1553, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 17, + "location": "YYZ @3.69 km ", + "media_count": 631, + "name": "HEXimus ⬣ ↗️3️⃣6️⃣9️⃣", + "normal_followers_count": 3029, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1349684271586414593/1725223240", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1746714570209611776/xCCV2rim_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "HexMeridius369", + "statuses_count": 16334, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1490325717757972484", + "professional_type": "Creator", + "category": [ + { + "id": 1094, + "name": "Blockchain", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1740593424510665158" + ], + "editable_until_msecs": "1703828385000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "71", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Dec 29 04:39:45 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 13, + 23 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "@XDevelopers That sucks", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "1349684271586414593", + "id_str": "1740593424510665158" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABDDADgAUKAAIAAAAAGADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1689925489043894273", + "sortIndex": "7574180516604530616", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1689925489043894273-tweet-1689925489043894273", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1689925489043894273", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozNTAyNjU4ODQy", + "rest_id": "3502658842", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Aug 31 14:27:53 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "\"Großartige Kultur! Warum sie wohl untergegangen ist?\" (Andreas Eschbach in \"Solarstation\", über Europa) | Satire", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 141239, + "followers_count": 2462, + "friends_count": 2300, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 1, + "location": "Zwischen Lethe und Styx", + "media_count": 5959, + "name": "St. Lindner", + "normal_followers_count": 2462, + "pinned_tweet_ids_str": [ + "1892647156722303326" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3502658842/1704487899", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1097428611076894720/K_ve5L4Q_normal.png", + "profile_interstitial_type": "", + "screen_name": "st_lindner", + "statuses_count": 43808, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1689925489043894273" + ], + "editable_until_msecs": "1691748208000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "178", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Aug 11 09:03:28 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 13, + 29 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 1, + "favorited": false, + "full_text": "@XDevelopers Such a bullXhit!", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "3502658842", + "id_str": "1689925489043894273" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABCCADgAUKAAIAAAAAGADACAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "conversationthread-1650582904844480512", + "sortIndex": "7574180516604530606", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "conversationthread-1650582904844480512-tweet-1650582904844480512", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1650582904844480512", + "has_birdwatch_notes": false, + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNDExMzQwMzM0MDQzNDgwMDY2", + "rest_id": "1411340334043480066", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Jul 03 15:06:21 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Get more followers, retweets, and sales with Twitter workflows. ✨ Follow and like the pinned tweet to see how it works. ⚠️ No longer operating due to API cost.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "birdflow.io", + "expanded_url": "https://birdflow.io", + "url": "https://t.co/WCnd84nQp4", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 15, + "followers_count": 203, + "friends_count": 1, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "Twitter", + "media_count": 35, + "name": "Birdflow 😇", + "normal_followers_count": 203, + "pinned_tweet_ids_str": [ + "1413209639324377095" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1411340334043480066/1626710710", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1417153546995261444/JFzXlRmI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "BirdflowIO", + "statuses_count": 79, + "translator_type": "none", + "url": "https://t.co/WCnd84nQp4", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1455573881926864896", + "professional_type": "Business", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1650582904844480512" + ], + "editable_until_msecs": "1682366405000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "895", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Apr 24 19:30:05 +0000 2023", + "conversation_id_str": "1649191520250245121", + "display_text_range": [ + 12, + 192 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 6, + "favorited": false, + "full_text": "@TwitterDev The Account Activity API went from a reasonable $15/user/month to $42,000/month. Why not just shut the whole thing down? There is absolutely no incentive to build on your platform.", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1649191520250245121", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "1411340334043480066", + "id_str": "1650582904844480512" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + }, + "timelinesDetails": { + "controllerData": "DAACDAAEDAABCgABFSABCCADgAUKAAIAAAAACACCCAAAAAA=" + } + } + } + } + } + ], + "displayType": "VerticalConversation", + "clientEventInfo": { + "details": { + "conversationDetails": { + "conversationSection": "HighQuality" + } + } + } + } + }, + { + "entryId": "cursor-bottom-5628829547104993239", + "sortIndex": "7574180516604530605", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "UgAAAPBDHBmGgsC39eqR6fMukIC91Y7CvOMthMDSse28jeMtgMC3ue2n4OQugMCzuYSahugtgoC8mdnD2aMujIe25euf6qcwgoC2saSMvOMtJQISFQQAAA", + "cursorType": "Bottom" + } + } + } + ] + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + } + ], + "metadata": { + "reader_mode_config": { + "is_reader_mode_available": true + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_user_by_id.json b/apps/twscrape/tests/mocked-data/raw_user_by_id.json new file mode 100644 index 0000000..2828510 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_user_by_id.json @@ -0,0 +1,100 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {}, + "business_account": {}, + "highlights_info": { + "can_highlight_tweets": true, + "highlighted_tweets": "2" + }, + "creator_subscriptions_count": 0, + "has_hidden_subscriptions_on_profile": false + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_user_by_login.json b/apps/twscrape/tests/mocked-data/raw_user_by_login.json new file mode 100644 index 0000000..9f7b1df --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_user_by_login.json @@ -0,0 +1,128 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {}, + "legacy_extended_profile": {}, + "is_profile_translatable": false, + "has_hidden_subscriptions_on_profile": false, + "verification_info": { + "reason": { + "description": { + "text": "This account is verified because it's an affiliate of @X on X. Learn more", + "entities": [ + { + "from_index": 54, + "to_index": 56, + "ref": { + "url": "https://twitter.com/X", + "url_type": "ExternalUrl" + } + }, + { + "from_index": 63, + "to_index": 73, + "ref": { + "url": "https://help.twitter.com/en/rules-and-policies/profile-labels", + "url_type": "ExternalUrl" + } + } + ] + }, + "verified_since_msec": "1395425700472" + } + }, + "highlights_info": { + "can_highlight_tweets": true, + "highlighted_tweets": "2" + }, + "business_account": {}, + "creator_subscriptions_count": 0 + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_user_media.json b/apps/twscrape/tests/mocked-data/raw_user_media.json new file mode 100644 index 0000000..384fc73 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_user_media.json @@ -0,0 +1,14481 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "timeline_v2": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "profile-grid-0", + "sortIndex": "1897829046318792704", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-grid-0-tweet-1845258780788834795", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1845258780788834795", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1845258780788834795" + ], + "editable_until_msecs": "1728782551000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "196706", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 136, + "bookmarked": false, + "created_at": "Sun Oct 13 00:22:31 +0000 2024", + "conversation_id_str": "1845258780788834795", + "display_text_range": [ + 0, + 53 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/M4HDq3UCz9", + "expanded_url": "https://x.com/XDevelopers/status/1845258780788834795/photo/1", + "id_str": "1845257793231548423", + "indices": [ + 54, + 77 + ], + "media_key": "3_1845257793231548423", + "media_url_https": "https://pbs.twimg.com/media/GZusL7SWcAc47NV.jpg", + "type": "photo", + "url": "https://t.co/M4HDq3UCz9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 873, + "y": 605, + "h": 69, + "w": 69 + }, + { + "x": 541, + "y": 607, + "h": 79, + "w": 79 + }, + { + "x": 1167, + "y": 1206, + "h": 113, + "w": 113 + }, + { + "x": 1027, + "y": 787, + "h": 155, + "w": 155 + }, + { + "x": 659, + "y": 827, + "h": 171, + "w": 171 + }, + { + "x": 269, + "y": 909, + "h": 203, + "w": 203 + }, + { + "x": 589, + "y": 1205, + "h": 545, + "w": 545 + } + ] + }, + "medium": { + "faces": [ + { + "x": 511, + "y": 354, + "h": 40, + "w": 40 + }, + { + "x": 317, + "y": 355, + "h": 46, + "w": 46 + }, + { + "x": 684, + "y": 707, + "h": 66, + "w": 66 + }, + { + "x": 601, + "y": 461, + "h": 91, + "w": 91 + }, + { + "x": 386, + "y": 484, + "h": 100, + "w": 100 + }, + { + "x": 157, + "y": 532, + "h": 119, + "w": 119 + }, + { + "x": 345, + "y": 706, + "h": 319, + "w": 319 + } + ] + }, + "small": { + "faces": [ + { + "x": 289, + "y": 200, + "h": 23, + "w": 23 + }, + { + "x": 179, + "y": 201, + "h": 26, + "w": 26 + }, + { + "x": 387, + "y": 400, + "h": 37, + "w": 37 + }, + { + "x": 340, + "y": 261, + "h": 51, + "w": 51 + }, + { + "x": 218, + "y": 274, + "h": 56, + "w": 56 + }, + { + "x": 89, + "y": 301, + "h": 67, + "w": 67 + }, + { + "x": 195, + "y": 399, + "h": 180, + "w": 180 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1044, + "y": 724, + "h": 83, + "w": 83 + }, + { + "x": 647, + "y": 726, + "h": 95, + "w": 95 + }, + { + "x": 1396, + "y": 1443, + "h": 136, + "w": 136 + }, + { + "x": 1228, + "y": 941, + "h": 186, + "w": 186 + }, + { + "x": 788, + "y": 989, + "h": 205, + "w": 205 + }, + { + "x": 322, + "y": 1087, + "h": 243, + "w": 243 + }, + { + "x": 705, + "y": 1441, + "h": 652, + "w": 652 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1534, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 899, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 509, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2448, + "width": 1834, + "focus_rects": [ + { + "x": 0, + "y": 159, + "w": 1834, + "h": 1027 + }, + { + "x": 0, + "y": 0, + "w": 1834, + "h": 1834 + }, + { + "x": 0, + "y": 0, + "w": 1834, + "h": 2091 + }, + { + "x": 610, + "y": 0, + "w": 1224, + "h": 2448 + }, + { + "x": 0, + "y": 0, + "w": 1834, + "h": 2448 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1845257793231548423" + } + } + }, + { + "display_url": "pic.x.com/M4HDq3UCz9", + "expanded_url": "https://x.com/XDevelopers/status/1845258780788834795/photo/1", + "id_str": "1845257793231589386", + "indices": [ + 54, + 77 + ], + "media_key": "3_1845257793231589386", + "media_url_https": "https://pbs.twimg.com/media/GZusL7SXEAo-UbQ.jpg", + "type": "photo", + "url": "https://t.co/M4HDq3UCz9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4096, + "width": 3072, + "focus_rects": [ + { + "x": 0, + "y": 1290, + "w": 3072, + "h": 1720 + }, + { + "x": 0, + "y": 614, + "w": 3072, + "h": 3072 + }, + { + "x": 0, + "y": 399, + "w": 3072, + "h": 3502 + }, + { + "x": 0, + "y": 0, + "w": 2048, + "h": 4096 + }, + { + "x": 0, + "y": 0, + "w": 3072, + "h": 4096 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1845257793231589386" + } + } + }, + { + "display_url": "pic.x.com/M4HDq3UCz9", + "expanded_url": "https://x.com/XDevelopers/status/1845258780788834795/photo/1", + "id_str": "1845257889679589385", + "indices": [ + 54, + 77 + ], + "media_key": "3_1845257889679589385", + "media_url_https": "https://pbs.twimg.com/media/GZusRilWwAkp1s6.jpg", + "type": "photo", + "url": "https://t.co/M4HDq3UCz9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 1674, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 1008, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 585, + "w": 3024, + "h": 3447 + }, + { + "x": 0, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1845257889679589385" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1661523610111193088", + "name": "xAI", + "screen_name": "xai", + "indices": [ + 19, + 23 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/M4HDq3UCz9", + "expanded_url": "https://x.com/XDevelopers/status/1845258780788834795/photo/1", + "id_str": "1845257793231548423", + "indices": [ + 54, + 77 + ], + "media_key": "3_1845257793231548423", + "media_url_https": "https://pbs.twimg.com/media/GZusL7SWcAc47NV.jpg", + "type": "photo", + "url": "https://t.co/M4HDq3UCz9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 873, + "y": 605, + "h": 69, + "w": 69 + }, + { + "x": 541, + "y": 607, + "h": 79, + "w": 79 + }, + { + "x": 1167, + "y": 1206, + "h": 113, + "w": 113 + }, + { + "x": 1027, + "y": 787, + "h": 155, + "w": 155 + }, + { + "x": 659, + "y": 827, + "h": 171, + "w": 171 + }, + { + "x": 269, + "y": 909, + "h": 203, + "w": 203 + }, + { + "x": 589, + "y": 1205, + "h": 545, + "w": 545 + } + ] + }, + "medium": { + "faces": [ + { + "x": 511, + "y": 354, + "h": 40, + "w": 40 + }, + { + "x": 317, + "y": 355, + "h": 46, + "w": 46 + }, + { + "x": 684, + "y": 707, + "h": 66, + "w": 66 + }, + { + "x": 601, + "y": 461, + "h": 91, + "w": 91 + }, + { + "x": 386, + "y": 484, + "h": 100, + "w": 100 + }, + { + "x": 157, + "y": 532, + "h": 119, + "w": 119 + }, + { + "x": 345, + "y": 706, + "h": 319, + "w": 319 + } + ] + }, + "small": { + "faces": [ + { + "x": 289, + "y": 200, + "h": 23, + "w": 23 + }, + { + "x": 179, + "y": 201, + "h": 26, + "w": 26 + }, + { + "x": 387, + "y": 400, + "h": 37, + "w": 37 + }, + { + "x": 340, + "y": 261, + "h": 51, + "w": 51 + }, + { + "x": 218, + "y": 274, + "h": 56, + "w": 56 + }, + { + "x": 89, + "y": 301, + "h": 67, + "w": 67 + }, + { + "x": 195, + "y": 399, + "h": 180, + "w": 180 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1044, + "y": 724, + "h": 83, + "w": 83 + }, + { + "x": 647, + "y": 726, + "h": 95, + "w": 95 + }, + { + "x": 1396, + "y": 1443, + "h": 136, + "w": 136 + }, + { + "x": 1228, + "y": 941, + "h": 186, + "w": 186 + }, + { + "x": 788, + "y": 989, + "h": 205, + "w": 205 + }, + { + "x": 322, + "y": 1087, + "h": 243, + "w": 243 + }, + { + "x": 705, + "y": 1441, + "h": 652, + "w": 652 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1534, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 899, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 509, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2448, + "width": 1834, + "focus_rects": [ + { + "x": 0, + "y": 159, + "w": 1834, + "h": 1027 + }, + { + "x": 0, + "y": 0, + "w": 1834, + "h": 1834 + }, + { + "x": 0, + "y": 0, + "w": 1834, + "h": 2091 + }, + { + "x": 610, + "y": 0, + "w": 1224, + "h": 2448 + }, + { + "x": 0, + "y": 0, + "w": 1834, + "h": 2448 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1845257793231548423" + } + } + }, + { + "display_url": "pic.x.com/M4HDq3UCz9", + "expanded_url": "https://x.com/XDevelopers/status/1845258780788834795/photo/1", + "id_str": "1845257793231589386", + "indices": [ + 54, + 77 + ], + "media_key": "3_1845257793231589386", + "media_url_https": "https://pbs.twimg.com/media/GZusL7SXEAo-UbQ.jpg", + "type": "photo", + "url": "https://t.co/M4HDq3UCz9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4096, + "width": 3072, + "focus_rects": [ + { + "x": 0, + "y": 1290, + "w": 3072, + "h": 1720 + }, + { + "x": 0, + "y": 614, + "w": 3072, + "h": 3072 + }, + { + "x": 0, + "y": 399, + "w": 3072, + "h": 3502 + }, + { + "x": 0, + "y": 0, + "w": 2048, + "h": 4096 + }, + { + "x": 0, + "y": 0, + "w": 3072, + "h": 4096 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1845257793231589386" + } + } + }, + { + "display_url": "pic.x.com/M4HDq3UCz9", + "expanded_url": "https://x.com/XDevelopers/status/1845258780788834795/photo/1", + "id_str": "1845257889679589385", + "indices": [ + 54, + 77 + ], + "media_key": "3_1845257889679589385", + "media_url_https": "https://pbs.twimg.com/media/GZusRilWwAkp1s6.jpg", + "type": "photo", + "url": "https://t.co/M4HDq3UCz9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 1674, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 1008, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 585, + "w": 3024, + "h": 3447 + }, + { + "x": 0, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1845257889679589385" + } + } + } + ] + }, + "favorite_count": 2706, + "favorited": false, + "full_text": "it's heating up at @xai hackathon ⌨️\nlet them cook! 🔥 https://t.co/M4HDq3UCz9", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 41, + "reply_count": 102, + "retweet_count": 190, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1845258780788834795" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1782199752874246406", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1782199752874246406", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1782199752874246406" + ], + "editable_until_msecs": "1713748107000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "387633", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 155, + "bookmarked": false, + "created_at": "Mon Apr 22 00:08:27 +0000 2024", + "conversation_id_str": "1782199752874246406", + "display_text_range": [ + 0, + 97 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/7QSBd3N3kg", + "expanded_url": "https://x.com/XDevelopers/status/1782199752874246406/video/1", + "id_str": "1782198818010021888", + "indices": [ + 98, + 121 + ], + "media_key": "7_1782198818010021888", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1782198818010021888/pu/img/FKkxXTZ4a72qdzlt.jpg", + "type": "video", + "url": "https://t.co/7QSBd3N3kg", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1280, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 720, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 9, + 16 + ], + "duration_millis": 8166, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/pl/3bx8RJZqUgsZawJd.m3u8?tag=12" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/vid/avc1/320x568/0Zgn72bPKVvsk2-O.mp4?tag=12" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/vid/avc1/480x852/2V90aHkGJLg-i4yZ.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/vid/avc1/720x1280/1RUeVVMjdB2cVqKm.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1782198818010021888" + } + } + }, + { + "display_url": "pic.x.com/7QSBd3N3kg", + "expanded_url": "https://x.com/XDevelopers/status/1782199752874246406/video/1", + "id_str": "1782198863635656705", + "indices": [ + 98, + 121 + ], + "media_key": "3_1782198863635656705", + "media_url_https": "https://pbs.twimg.com/media/GLukbIobsAEzj01.jpg", + "type": "photo", + "url": "https://t.co/7QSBd3N3kg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 247, + "y": 577, + "h": 67, + "w": 67 + } + ] + }, + "medium": { + "faces": [ + { + "x": 145, + "y": 338, + "h": 39, + "w": 39 + } + ] + }, + "small": { + "faces": [ + { + "x": 82, + "y": 191, + "h": 22, + "w": 22 + } + ] + }, + "orig": { + "faces": [ + { + "x": 488, + "y": 1137, + "h": 133, + "w": 133 + } + ] + } + }, + "sizes": { + "large": { + "h": 1536, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 510, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3024, + "width": 4032, + "focus_rects": [ + { + "x": 0, + "y": 181, + "w": 4032, + "h": 2258 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3024 + }, + { + "x": 186, + "y": 0, + "w": 2653, + "h": 3024 + }, + { + "x": 756, + "y": 0, + "w": 1512, + "h": 3024 + }, + { + "x": 0, + "y": 0, + "w": 4032, + "h": 3024 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782198863635656705" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/7QSBd3N3kg", + "expanded_url": "https://x.com/XDevelopers/status/1782199752874246406/video/1", + "id_str": "1782198818010021888", + "indices": [ + 98, + 121 + ], + "media_key": "7_1782198818010021888", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1782198818010021888/pu/img/FKkxXTZ4a72qdzlt.jpg", + "type": "video", + "url": "https://t.co/7QSBd3N3kg", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1280, + "w": 720, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 675, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 383, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1280, + "width": 720, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 9, + 16 + ], + "duration_millis": 8166, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/pl/3bx8RJZqUgsZawJd.m3u8?tag=12" + }, + { + "bitrate": 632000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/vid/avc1/320x568/0Zgn72bPKVvsk2-O.mp4?tag=12" + }, + { + "bitrate": 950000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/vid/avc1/480x852/2V90aHkGJLg-i4yZ.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1782198818010021888/pu/vid/avc1/720x1280/1RUeVVMjdB2cVqKm.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1782198818010021888" + } + } + }, + { + "display_url": "pic.x.com/7QSBd3N3kg", + "expanded_url": "https://x.com/XDevelopers/status/1782199752874246406/video/1", + "id_str": "1782198863635656705", + "indices": [ + 98, + 121 + ], + "media_key": "3_1782198863635656705", + "media_url_https": "https://pbs.twimg.com/media/GLukbIobsAEzj01.jpg", + "type": "photo", + "url": "https://t.co/7QSBd3N3kg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 247, + "y": 577, + "h": 67, + "w": 67 + } + ] + }, + "medium": { + "faces": [ + { + "x": 145, + "y": 338, + "h": 39, + "w": 39 + } + ] + }, + "small": { + "faces": [ + { + "x": 82, + "y": 191, + "h": 22, + "w": 22 + } + ] + }, + "orig": { + "faces": [ + { + "x": 488, + "y": 1137, + "h": 133, + "w": 133 + } + ] + } + }, + "sizes": { + "large": { + "h": 1536, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 900, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 510, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 3024, + "width": 4032, + "focus_rects": [ + { + "x": 0, + "y": 181, + "w": 4032, + "h": 2258 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3024 + }, + { + "x": 186, + "y": 0, + "w": 2653, + "h": 3024 + }, + { + "x": 756, + "y": 0, + "w": 1512, + "h": 3024 + }, + { + "x": 0, + "y": 0, + "w": 4032, + "h": 3024 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782198863635656705" + } + } + } + ] + }, + "favorite_count": 2216, + "favorited": false, + "full_text": "Wrapping up the 𝕏 Developer Challenge event with a special guest. Final Presentations with Elon! https://t.co/7QSBd3N3kg", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 25, + "reply_count": 108, + "retweet_count": 172, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1782199752874246406" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1782123880381051254", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1782123880381051254", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1782123880381051254" + ], + "editable_until_msecs": "1713730018000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "333765", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 76, + "bookmarked": false, + "created_at": "Sun Apr 21 19:06:58 +0000 2024", + "conversation_id_str": "1782123880381051254", + "display_text_range": [ + 0, + 77 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123278578159616", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123278578159616", + "media_url_https": "https://pbs.twimg.com/media/GLtfrgWbEAAtc6O.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 576, + "y": 649, + "h": 85, + "w": 85 + }, + { + "x": 416, + "y": 1001, + "h": 73, + "w": 73 + }, + { + "x": 563, + "y": 1035, + "h": 73, + "w": 73 + }, + { + "x": 965, + "y": 1037, + "h": 79, + "w": 79 + }, + { + "x": 675, + "y": 1081, + "h": 81, + "w": 81 + }, + { + "x": 576, + "y": 789, + "h": 83, + "w": 83 + }, + { + "x": 1280, + "y": 1111, + "h": 117, + "w": 117 + } + ] + }, + "medium": { + "faces": [ + { + "x": 337, + "y": 380, + "h": 50, + "w": 50 + }, + { + "x": 243, + "y": 586, + "h": 43, + "w": 43 + }, + { + "x": 330, + "y": 606, + "h": 43, + "w": 43 + }, + { + "x": 565, + "y": 608, + "h": 46, + "w": 46 + }, + { + "x": 395, + "y": 633, + "h": 47, + "w": 47 + }, + { + "x": 337, + "y": 462, + "h": 49, + "w": 49 + }, + { + "x": 750, + "y": 651, + "h": 69, + "w": 69 + } + ] + }, + "small": { + "faces": [ + { + "x": 191, + "y": 215, + "h": 28, + "w": 28 + }, + { + "x": 138, + "y": 332, + "h": 24, + "w": 24 + }, + { + "x": 187, + "y": 343, + "h": 24, + "w": 24 + }, + { + "x": 320, + "y": 344, + "h": 26, + "w": 26 + }, + { + "x": 224, + "y": 359, + "h": 27, + "w": 27 + }, + { + "x": 191, + "y": 262, + "h": 27, + "w": 27 + }, + { + "x": 425, + "y": 369, + "h": 39, + "w": 39 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1134, + "y": 1279, + "h": 169, + "w": 169 + }, + { + "x": 819, + "y": 1972, + "h": 145, + "w": 145 + }, + { + "x": 1110, + "y": 2039, + "h": 145, + "w": 145 + }, + { + "x": 1901, + "y": 2043, + "h": 157, + "w": 157 + }, + { + "x": 1330, + "y": 2130, + "h": 161, + "w": 161 + }, + { + "x": 1134, + "y": 1555, + "h": 165, + "w": 165 + }, + { + "x": 2520, + "y": 2189, + "h": 232, + "w": 232 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 1472, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 806, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 585, + "w": 3024, + "h": 3447 + }, + { + "x": 0, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123278578159616" + } + } + }, + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123324761661440", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123324761661440", + "media_url_https": "https://pbs.twimg.com/media/GLtfuMZbYAAMrHJ.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 867, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 201, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3447 + }, + { + "x": 302, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123324761661440" + } + } + }, + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123362124541952", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123362124541952", + "media_url_https": "https://pbs.twimg.com/media/GLtfwXlbsAA7qDS.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 977, + "y": 559, + "h": 117, + "w": 117 + } + ] + }, + "medium": { + "faces": [ + { + "x": 572, + "y": 327, + "h": 69, + "w": 69 + } + ] + }, + "small": { + "faces": [ + { + "x": 324, + "y": 185, + "h": 39, + "w": 39 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1925, + "y": 1102, + "h": 232, + "w": 232 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 1472, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 806, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 585, + "w": 3024, + "h": 3447 + }, + { + "x": 705, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123362124541952" + } + } + }, + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123390704447489", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123390704447489", + "media_url_https": "https://pbs.twimg.com/media/GLtfyCDacAE_7fc.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 869, + "y": 1743, + "h": 125, + "w": 125 + }, + { + "x": 597, + "y": 903, + "h": 163, + "w": 163 + }, + { + "x": 751, + "y": 847, + "h": 193, + "w": 193 + } + ] + }, + "medium": { + "faces": [ + { + "x": 509, + "y": 1021, + "h": 73, + "w": 73 + }, + { + "x": 350, + "y": 529, + "h": 95, + "w": 95 + }, + { + "x": 440, + "y": 496, + "h": 113, + "w": 113 + } + ] + }, + "small": { + "faces": [ + { + "x": 288, + "y": 578, + "h": 41, + "w": 41 + }, + { + "x": 198, + "y": 300, + "h": 54, + "w": 54 + }, + { + "x": 249, + "y": 281, + "h": 64, + "w": 64 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1712, + "y": 3433, + "h": 248, + "w": 248 + }, + { + "x": 1177, + "y": 1779, + "h": 322, + "w": 322 + }, + { + "x": 1480, + "y": 1669, + "h": 381, + "w": 381 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 666, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3447 + }, + { + "x": 302, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123390704447489" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123278578159616", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123278578159616", + "media_url_https": "https://pbs.twimg.com/media/GLtfrgWbEAAtc6O.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 576, + "y": 649, + "h": 85, + "w": 85 + }, + { + "x": 416, + "y": 1001, + "h": 73, + "w": 73 + }, + { + "x": 563, + "y": 1035, + "h": 73, + "w": 73 + }, + { + "x": 965, + "y": 1037, + "h": 79, + "w": 79 + }, + { + "x": 675, + "y": 1081, + "h": 81, + "w": 81 + }, + { + "x": 576, + "y": 789, + "h": 83, + "w": 83 + }, + { + "x": 1280, + "y": 1111, + "h": 117, + "w": 117 + } + ] + }, + "medium": { + "faces": [ + { + "x": 337, + "y": 380, + "h": 50, + "w": 50 + }, + { + "x": 243, + "y": 586, + "h": 43, + "w": 43 + }, + { + "x": 330, + "y": 606, + "h": 43, + "w": 43 + }, + { + "x": 565, + "y": 608, + "h": 46, + "w": 46 + }, + { + "x": 395, + "y": 633, + "h": 47, + "w": 47 + }, + { + "x": 337, + "y": 462, + "h": 49, + "w": 49 + }, + { + "x": 750, + "y": 651, + "h": 69, + "w": 69 + } + ] + }, + "small": { + "faces": [ + { + "x": 191, + "y": 215, + "h": 28, + "w": 28 + }, + { + "x": 138, + "y": 332, + "h": 24, + "w": 24 + }, + { + "x": 187, + "y": 343, + "h": 24, + "w": 24 + }, + { + "x": 320, + "y": 344, + "h": 26, + "w": 26 + }, + { + "x": 224, + "y": 359, + "h": 27, + "w": 27 + }, + { + "x": 191, + "y": 262, + "h": 27, + "w": 27 + }, + { + "x": 425, + "y": 369, + "h": 39, + "w": 39 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1134, + "y": 1279, + "h": 169, + "w": 169 + }, + { + "x": 819, + "y": 1972, + "h": 145, + "w": 145 + }, + { + "x": 1110, + "y": 2039, + "h": 145, + "w": 145 + }, + { + "x": 1901, + "y": 2043, + "h": 157, + "w": 157 + }, + { + "x": 1330, + "y": 2130, + "h": 161, + "w": 161 + }, + { + "x": 1134, + "y": 1555, + "h": 165, + "w": 165 + }, + { + "x": 2520, + "y": 2189, + "h": 232, + "w": 232 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 1472, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 806, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 585, + "w": 3024, + "h": 3447 + }, + { + "x": 0, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123278578159616" + } + } + }, + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123324761661440", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123324761661440", + "media_url_https": "https://pbs.twimg.com/media/GLtfuMZbYAAMrHJ.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 867, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 201, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3447 + }, + { + "x": 302, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123324761661440" + } + } + }, + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123362124541952", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123362124541952", + "media_url_https": "https://pbs.twimg.com/media/GLtfwXlbsAA7qDS.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 977, + "y": 559, + "h": 117, + "w": 117 + } + ] + }, + "medium": { + "faces": [ + { + "x": 572, + "y": 327, + "h": 69, + "w": 69 + } + ] + }, + "small": { + "faces": [ + { + "x": 324, + "y": 185, + "h": 39, + "w": 39 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1925, + "y": 1102, + "h": 232, + "w": 232 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 1472, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 806, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 585, + "w": 3024, + "h": 3447 + }, + { + "x": 705, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123362124541952" + } + } + }, + { + "display_url": "pic.x.com/rsOAkEikCl", + "expanded_url": "https://x.com/XDevelopers/status/1782123880381051254/photo/1", + "id_str": "1782123390704447489", + "indices": [ + 78, + 101 + ], + "media_key": "3_1782123390704447489", + "media_url_https": "https://pbs.twimg.com/media/GLtfyCDacAE_7fc.jpg", + "type": "photo", + "url": "https://t.co/rsOAkEikCl", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 869, + "y": 1743, + "h": 125, + "w": 125 + }, + { + "x": 597, + "y": 903, + "h": 163, + "w": 163 + }, + { + "x": 751, + "y": 847, + "h": 193, + "w": 193 + } + ] + }, + "medium": { + "faces": [ + { + "x": 509, + "y": 1021, + "h": 73, + "w": 73 + }, + { + "x": 350, + "y": 529, + "h": 95, + "w": 95 + }, + { + "x": 440, + "y": 496, + "h": 113, + "w": 113 + } + ] + }, + "small": { + "faces": [ + { + "x": 288, + "y": 578, + "h": 41, + "w": 41 + }, + { + "x": 198, + "y": 300, + "h": 54, + "w": 54 + }, + { + "x": 249, + "y": 281, + "h": 64, + "w": 64 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1712, + "y": 3433, + "h": 248, + "w": 248 + }, + { + "x": 1177, + "y": 1779, + "h": 322, + "w": 322 + }, + { + "x": 1480, + "y": 1669, + "h": 381, + "w": 381 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 4032, + "width": 3024, + "focus_rects": [ + { + "x": 0, + "y": 666, + "w": 3024, + "h": 1693 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3024 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 3447 + }, + { + "x": 302, + "y": 0, + "w": 2016, + "h": 4032 + }, + { + "x": 0, + "y": 0, + "w": 3024, + "h": 4032 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782123390704447489" + } + } + } + ] + }, + "favorite_count": 1661, + "favorited": false, + "full_text": "𝕏 Developer Challenge Update: \nFinal hour before demos & presentations! 🚨 https://t.co/rsOAkEikCl", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 39, + "reply_count": 116, + "retweet_count": 158, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1782123880381051254" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1782073003628757362", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1782073003628757362", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1782073003628757362" + ], + "editable_until_msecs": "1713717888000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "177141", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 58, + "bookmarked": false, + "created_at": "Sun Apr 21 15:44:48 +0000 2024", + "conversation_id_str": "1782073003628757362", + "display_text_range": [ + 0, + 138 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/n6A4RVFrIx", + "expanded_url": "https://x.com/XDevelopers/status/1782073003628757362/photo/1", + "id_str": "1782072999010828288", + "indices": [ + 139, + 162 + ], + "media_key": "3_1782072999010828288", + "media_url_https": "https://pbs.twimg.com/media/GLsx82XbAAAMmgt.jpg", + "type": "photo", + "url": "https://t.co/n6A4RVFrIx", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 266, + "y": 342, + "h": 96, + "w": 96 + }, + { + "x": 136, + "y": 878, + "h": 190, + "w": 190 + } + ] + }, + "medium": { + "faces": [ + { + "x": 155, + "y": 200, + "h": 56, + "w": 56 + }, + { + "x": 79, + "y": 514, + "h": 111, + "w": 111 + } + ] + }, + "small": { + "faces": [ + { + "x": 88, + "y": 113, + "h": 31, + "w": 31 + }, + { + "x": 45, + "y": 291, + "h": 63, + "w": 63 + } + ] + }, + "orig": { + "faces": [ + { + "x": 266, + "y": 342, + "h": 96, + "w": 96 + }, + { + "x": 136, + "y": 878, + "h": 190, + "w": 190 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 440, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 102, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1751 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782072999010828288" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/n6A4RVFrIx", + "expanded_url": "https://x.com/XDevelopers/status/1782073003628757362/photo/1", + "id_str": "1782072999010828288", + "indices": [ + 139, + 162 + ], + "media_key": "3_1782072999010828288", + "media_url_https": "https://pbs.twimg.com/media/GLsx82XbAAAMmgt.jpg", + "type": "photo", + "url": "https://t.co/n6A4RVFrIx", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 266, + "y": 342, + "h": 96, + "w": 96 + }, + { + "x": 136, + "y": 878, + "h": 190, + "w": 190 + } + ] + }, + "medium": { + "faces": [ + { + "x": 155, + "y": 200, + "h": 56, + "w": 56 + }, + { + "x": 79, + "y": 514, + "h": 111, + "w": 111 + } + ] + }, + "small": { + "faces": [ + { + "x": 88, + "y": 113, + "h": 31, + "w": 31 + }, + { + "x": 45, + "y": 291, + "h": 63, + "w": 63 + } + ] + }, + "orig": { + "faces": [ + { + "x": 266, + "y": 342, + "h": 96, + "w": 96 + }, + { + "x": 136, + "y": 878, + "h": 190, + "w": 190 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 440, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 102, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1751 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1782072999010828288" + } + } + } + ] + }, + "favorite_count": 1089, + "favorited": false, + "full_text": "𝕏 Developer Challenge Day 2! \n\nParticipants have been cooking all night into the morning & ideas are coming to life. \n\nWho will win? 🏆 https://t.co/n6A4RVFrIx", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 16, + "reply_count": 80, + "retweet_count": 128, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1782073003628757362" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1781803526538379416", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1781803526538379416", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1781803526538379416" + ], + "editable_until_msecs": "1713653639000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "3023395", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 329, + "bookmarked": false, + "created_at": "Sat Apr 20 21:53:59 +0000 2024", + "conversation_id_str": "1781803526538379416", + "display_text_range": [ + 0, + 108 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518741114880", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518741114880", + "media_url_https": "https://pbs.twimg.com/media/GLo83CIa8AAJOfF.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1240, + "y": 1002, + "h": 112, + "w": 112 + }, + { + "x": 214, + "y": 1180, + "h": 216, + "w": 216 + }, + { + "x": 790, + "y": 810, + "h": 370, + "w": 370 + } + ] + }, + "medium": { + "faces": [ + { + "x": 726, + "y": 587, + "h": 65, + "w": 65 + }, + { + "x": 125, + "y": 691, + "h": 126, + "w": 126 + }, + { + "x": 462, + "y": 474, + "h": 216, + "w": 216 + } + ] + }, + "small": { + "faces": [ + { + "x": 411, + "y": 332, + "h": 37, + "w": 37 + }, + { + "x": 71, + "y": 391, + "h": 71, + "w": 71 + }, + { + "x": 262, + "y": 268, + "h": 122, + "w": 122 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1240, + "y": 1002, + "h": 112, + "w": 112 + }, + { + "x": 214, + "y": 1180, + "h": 216, + "w": 216 + }, + { + "x": 790, + "y": 810, + "h": 370, + "w": 370 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 747, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 409, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 460, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518741114880" + } + } + }, + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518732673024", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518732673024", + "media_url_https": "https://pbs.twimg.com/media/GLo83CGaIAA_SmS.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1072, + "y": 1196, + "h": 68, + "w": 68 + }, + { + "x": 56, + "y": 1208, + "h": 68, + "w": 68 + } + ] + }, + "medium": { + "faces": [ + { + "x": 628, + "y": 700, + "h": 39, + "w": 39 + }, + { + "x": 32, + "y": 707, + "h": 39, + "w": 39 + } + ] + }, + "small": { + "faces": [ + { + "x": 355, + "y": 397, + "h": 22, + "w": 22 + }, + { + "x": 18, + "y": 401, + "h": 22, + "w": 22 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1072, + "y": 1196, + "h": 68, + "w": 68 + }, + { + "x": 56, + "y": 1208, + "h": 68, + "w": 68 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 747, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 409, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518732673024" + } + } + }, + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518720196608", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518720196608", + "media_url_https": "https://pbs.twimg.com/media/GLo83CDbwAAcDiv.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 476, + "y": 594, + "h": 90, + "w": 90 + } + ] + }, + "medium": { + "faces": [ + { + "x": 278, + "y": 348, + "h": 52, + "w": 52 + } + ] + }, + "small": { + "faces": [ + { + "x": 158, + "y": 197, + "h": 29, + "w": 29 + } + ] + }, + "orig": { + "faces": [ + { + "x": 476, + "y": 594, + "h": 90, + "w": 90 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 952, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518720196608" + } + } + }, + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518732713984", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518732713984", + "media_url_https": "https://pbs.twimg.com/media/GLo83CGawAAIK41.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 850, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518732713984" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518741114880", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518741114880", + "media_url_https": "https://pbs.twimg.com/media/GLo83CIa8AAJOfF.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1240, + "y": 1002, + "h": 112, + "w": 112 + }, + { + "x": 214, + "y": 1180, + "h": 216, + "w": 216 + }, + { + "x": 790, + "y": 810, + "h": 370, + "w": 370 + } + ] + }, + "medium": { + "faces": [ + { + "x": 726, + "y": 587, + "h": 65, + "w": 65 + }, + { + "x": 125, + "y": 691, + "h": 126, + "w": 126 + }, + { + "x": 462, + "y": 474, + "h": 216, + "w": 216 + } + ] + }, + "small": { + "faces": [ + { + "x": 411, + "y": 332, + "h": 37, + "w": 37 + }, + { + "x": 71, + "y": 391, + "h": 71, + "w": 71 + }, + { + "x": 262, + "y": 268, + "h": 122, + "w": 122 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1240, + "y": 1002, + "h": 112, + "w": 112 + }, + { + "x": 214, + "y": 1180, + "h": 216, + "w": 216 + }, + { + "x": 790, + "y": 810, + "h": 370, + "w": 370 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 747, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 409, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 460, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518741114880" + } + } + }, + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518732673024", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518732673024", + "media_url_https": "https://pbs.twimg.com/media/GLo83CGaIAA_SmS.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1072, + "y": 1196, + "h": 68, + "w": 68 + }, + { + "x": 56, + "y": 1208, + "h": 68, + "w": 68 + } + ] + }, + "medium": { + "faces": [ + { + "x": 628, + "y": 700, + "h": 39, + "w": 39 + }, + { + "x": 32, + "y": 707, + "h": 39, + "w": 39 + } + ] + }, + "small": { + "faces": [ + { + "x": 355, + "y": 397, + "h": 22, + "w": 22 + }, + { + "x": 18, + "y": 401, + "h": 22, + "w": 22 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1072, + "y": 1196, + "h": 68, + "w": 68 + }, + { + "x": 56, + "y": 1208, + "h": 68, + "w": 68 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 747, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 409, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518732673024" + } + } + }, + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518720196608", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518720196608", + "media_url_https": "https://pbs.twimg.com/media/GLo83CDbwAAcDiv.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 476, + "y": 594, + "h": 90, + "w": 90 + } + ] + }, + "medium": { + "faces": [ + { + "x": 278, + "y": 348, + "h": 52, + "w": 52 + } + ] + }, + "small": { + "faces": [ + { + "x": 158, + "y": 197, + "h": 29, + "w": 29 + } + ] + }, + "orig": { + "faces": [ + { + "x": 476, + "y": 594, + "h": 90, + "w": 90 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 952, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 0, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518720196608" + } + } + }, + { + "display_url": "pic.x.com/cmaWunFISg", + "expanded_url": "https://x.com/XDevelopers/status/1781803526538379416/photo/1", + "id_str": "1781803518732713984", + "indices": [ + 109, + 132 + ], + "media_key": "3_1781803518732713984", + "media_url_https": "https://pbs.twimg.com/media/GLo83CGawAAIK41.jpg", + "type": "photo", + "url": "https://t.co/cmaWunFISg", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 850, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 512, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781803518732713984" + } + } + } + ] + }, + "favorite_count": 9595, + "favorited": false, + "full_text": "𝕏 Developer Challenge Progress—\n\nLoading potential future features powered by our X platform and developers! https://t.co/cmaWunFISg", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 116, + "reply_count": 700, + "retweet_count": 1065, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1781803526538379416" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1781731016862048257", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1781731016862048257", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1781731016862048257" + ], + "editable_until_msecs": "1713636352000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "45295906", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 222, + "bookmarked": false, + "created_at": "Sat Apr 20 17:05:52 +0000 2024", + "conversation_id_str": "1781731016862048257", + "display_text_range": [ + 0, + 65 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/nyzSS13eq9", + "expanded_url": "https://x.com/XDevelopers/status/1781731016862048257/photo/1", + "id_str": "1781731011241607168", + "indices": [ + 66, + 89 + ], + "media_key": "3_1781731011241607168", + "media_url_https": "https://pbs.twimg.com/media/GLn66ipagAApQaB.jpg", + "type": "photo", + "url": "https://t.co/nyzSS13eq9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 440, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 102, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781731011241607168" + } + } + }, + { + "display_url": "pic.x.com/nyzSS13eq9", + "expanded_url": "https://x.com/XDevelopers/status/1781731016862048257/photo/1", + "id_str": "1781731011245780992", + "indices": [ + 66, + 89 + ], + "media_key": "3_1781731011245780992", + "media_url_https": "https://pbs.twimg.com/media/GLn66iqaMAAQg8M.jpg", + "type": "photo", + "url": "https://t.co/nyzSS13eq9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 164, + "y": 1550, + "h": 180, + "w": 180 + } + ] + }, + "medium": { + "faces": [ + { + "x": 96, + "y": 908, + "h": 105, + "w": 105 + } + ] + }, + "small": { + "faces": [ + { + "x": 54, + "y": 514, + "h": 59, + "w": 59 + } + ] + }, + "orig": { + "faces": [ + { + "x": 164, + "y": 1550, + "h": 180, + "w": 180 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 747, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 409, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781731011245780992" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/nyzSS13eq9", + "expanded_url": "https://x.com/XDevelopers/status/1781731016862048257/photo/1", + "id_str": "1781731011241607168", + "indices": [ + 66, + 89 + ], + "media_key": "3_1781731011241607168", + "media_url_https": "https://pbs.twimg.com/media/GLn66ipagAApQaB.jpg", + "type": "photo", + "url": "https://t.co/nyzSS13eq9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 440, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 102, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781731011241607168" + } + } + }, + { + "display_url": "pic.x.com/nyzSS13eq9", + "expanded_url": "https://x.com/XDevelopers/status/1781731016862048257/photo/1", + "id_str": "1781731011245780992", + "indices": [ + 66, + 89 + ], + "media_key": "3_1781731011245780992", + "media_url_https": "https://pbs.twimg.com/media/GLn66iqaMAAQg8M.jpg", + "type": "photo", + "url": "https://t.co/nyzSS13eq9", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 164, + "y": 1550, + "h": 180, + "w": 180 + } + ] + }, + "medium": { + "faces": [ + { + "x": 96, + "y": 908, + "h": 105, + "w": 105 + } + ] + }, + "small": { + "faces": [ + { + "x": 54, + "y": 514, + "h": 59, + "w": 59 + } + ] + }, + "orig": { + "faces": [ + { + "x": 164, + "y": 1550, + "h": 180, + "w": 180 + } + ] + } + }, + "sizes": { + "large": { + "h": 2048, + "w": 1536, + "resize": "fit" + }, + "medium": { + "h": 1200, + "w": 900, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 510, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 2048, + "width": 1536, + "focus_rects": [ + { + "x": 0, + "y": 747, + "w": 1536, + "h": 860 + }, + { + "x": 0, + "y": 409, + "w": 1536, + "h": 1536 + }, + { + "x": 0, + "y": 297, + "w": 1536, + "h": 1751 + }, + { + "x": 256, + "y": 0, + "w": 1024, + "h": 2048 + }, + { + "x": 0, + "y": 0, + "w": 1536, + "h": 2048 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1781731011245780992" + } + } + } + ] + }, + "favorite_count": 3839, + "favorited": false, + "full_text": "𝕏 Developer Challenge event is now in motion. Exciting day ahead! https://t.co/nyzSS13eq9", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 112, + "reply_count": 295, + "retweet_count": 391, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1781731016862048257" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1585707921433923585", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1585707921433923585", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1585707921433923585" + ], + "editable_until_msecs": "1666899004000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 144, + "bookmarked": false, + "created_at": "Thu Oct 27 19:00:04 +0000 2022", + "conversation_id_str": "1585707921433923585", + "display_text_range": [ + 0, + 273 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/AkBisciB1i", + "expanded_url": "https://x.com/TwitterDev/status/1585707921433923585/photo/1", + "id_str": "1585707915540922374", + "indices": [ + 274, + 297 + ], + "media_key": "3_1585707915540922374", + "media_url_https": "https://pbs.twimg.com/media/FgGQ8p9XgAYOU-c.jpg", + "type": "photo", + "url": "https://t.co/AkBisciB1i", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1247, + "y": 89, + "h": 195, + "w": 195 + }, + { + "x": 1471, + "y": 197, + "h": 171, + "w": 171 + }, + { + "x": 793, + "y": 499, + "h": 315, + "w": 315 + } + ] + }, + "medium": { + "faces": [ + { + "x": 731, + "y": 52, + "h": 114, + "w": 114 + }, + { + "x": 862, + "y": 115, + "h": 100, + "w": 100 + }, + { + "x": 465, + "y": 292, + "h": 184, + "w": 184 + } + ] + }, + "small": { + "faces": [ + { + "x": 414, + "y": 29, + "h": 65, + "w": 65 + }, + { + "x": 488, + "y": 65, + "h": 56, + "w": 56 + }, + { + "x": 263, + "y": 165, + "h": 104, + "w": 104 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1523, + "y": 109, + "h": 239, + "w": 239 + }, + { + "x": 1796, + "y": 241, + "h": 209, + "w": 209 + }, + { + "x": 969, + "y": 610, + "h": 385, + "w": 385 + } + ] + } + }, + "sizes": { + "large": { + "h": 1365, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 800, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 453, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1666, + "width": 2500, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2500, + "h": 1400 + }, + { + "x": 104, + "y": 0, + "w": 1666, + "h": 1666 + }, + { + "x": 207, + "y": 0, + "w": 1461, + "h": 1666 + }, + { + "x": 521, + "y": 0, + "w": 833, + "h": 1666 + }, + { + "x": 0, + "y": 0, + "w": 2500, + "h": 1666 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1585707915540922374" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1160222700104757249", + "name": "Rarible", + "screen_name": "rarible", + "indices": [ + 54, + 62 + ] + }, + { + "id_str": "1433121559057559555", + "name": "Magic Eden 🪄", + "screen_name": "MagicEden", + "indices": [ + 64, + 74 + ] + }, + { + "id_str": "974676150092947457", + "name": "Dapper Labs", + "screen_name": "dapperlabs", + "indices": [ + 76, + 87 + ] + }, + { + "id_str": "1684858439707529216", + "name": "jumptrade", + "screen_name": "jumptradenft", + "indices": [ + 92, + 105 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/AkBisciB1i", + "expanded_url": "https://x.com/TwitterDev/status/1585707921433923585/photo/1", + "id_str": "1585707915540922374", + "indices": [ + 274, + 297 + ], + "media_key": "3_1585707915540922374", + "media_url_https": "https://pbs.twimg.com/media/FgGQ8p9XgAYOU-c.jpg", + "type": "photo", + "url": "https://t.co/AkBisciB1i", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 1247, + "y": 89, + "h": 195, + "w": 195 + }, + { + "x": 1471, + "y": 197, + "h": 171, + "w": 171 + }, + { + "x": 793, + "y": 499, + "h": 315, + "w": 315 + } + ] + }, + "medium": { + "faces": [ + { + "x": 731, + "y": 52, + "h": 114, + "w": 114 + }, + { + "x": 862, + "y": 115, + "h": 100, + "w": 100 + }, + { + "x": 465, + "y": 292, + "h": 184, + "w": 184 + } + ] + }, + "small": { + "faces": [ + { + "x": 414, + "y": 29, + "h": 65, + "w": 65 + }, + { + "x": 488, + "y": 65, + "h": 56, + "w": 56 + }, + { + "x": 263, + "y": 165, + "h": 104, + "w": 104 + } + ] + }, + "orig": { + "faces": [ + { + "x": 1523, + "y": 109, + "h": 239, + "w": 239 + }, + { + "x": 1796, + "y": 241, + "h": 209, + "w": 209 + }, + { + "x": 969, + "y": 610, + "h": 385, + "w": 385 + } + ] + } + }, + "sizes": { + "large": { + "h": 1365, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 800, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 453, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1666, + "width": 2500, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2500, + "h": 1400 + }, + { + "x": 104, + "y": 0, + "w": 1666, + "h": 1666 + }, + { + "x": 207, + "y": 0, + "w": 1461, + "h": 1666 + }, + { + "x": 521, + "y": 0, + "w": 833, + "h": 1666 + }, + { + "x": 0, + "y": 0, + "w": 2500, + "h": 1666 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1585707915540922374" + } + } + } + ] + }, + "favorite_count": 4865, + "favorited": false, + "full_text": "Now testing: NFT Tweet Tiles 🚀\n\nSome links to NFTs on @rarible, @MagicEden, @dapperlabs and @Jumptradenft will now show you a larger picture of the NFT alongside details like the title and creator. One more step in our journey to let developers impact the Tweet experience. https://t.co/AkBisciB1i", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 768, + "reply_count": 608, + "retweet_count": 1677, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1585707921433923585" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1582718225812684801", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1582718225812684801", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1582718225812684801" + ], + "editable_until_msecs": "1666186205000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Wed Oct 19 13:00:05 +0000 2022", + "conversation_id_str": "1582718225812684801", + "display_text_range": [ + 0, + 221 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/SSn7SCAGcK", + "expanded_url": "https://x.com/TwitterDev/status/1582718225812684801/photo/1", + "id_str": "1582718221349789697", + "indices": [ + 222, + 245 + ], + "media_key": "3_1582718221349789697", + "media_url_https": "https://pbs.twimg.com/media/Ffbx1jMXoAEU7Fh.jpg", + "type": "photo", + "url": "https://t.co/SSn7SCAGcK", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 509, + "y": 112, + "h": 212, + "w": 212 + } + ] + }, + "medium": { + "faces": [ + { + "x": 509, + "y": 112, + "h": 212, + "w": 212 + } + ] + }, + "small": { + "faces": [ + { + "x": 288, + "y": 63, + "h": 120, + "w": 120 + } + ] + }, + "orig": { + "faces": [ + { + "x": 509, + "y": 112, + "h": 212, + "w": 212 + } + ] + } + }, + "sizes": { + "large": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 675, + "width": 1200, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1200, + "h": 672 + }, + { + "x": 525, + "y": 0, + "w": 675, + "h": 675 + }, + { + "x": 608, + "y": 0, + "w": 592, + "h": 675 + }, + { + "x": 862, + "y": 0, + "w": 338, + "h": 675 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 675 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1582718221349789697" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/SSn7SCAGcK", + "expanded_url": "https://x.com/TwitterDev/status/1582718225812684801/photo/1", + "id_str": "1582718221349789697", + "indices": [ + 222, + 245 + ], + "media_key": "3_1582718221349789697", + "media_url_https": "https://pbs.twimg.com/media/Ffbx1jMXoAEU7Fh.jpg", + "type": "photo", + "url": "https://t.co/SSn7SCAGcK", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 509, + "y": 112, + "h": 212, + "w": 212 + } + ] + }, + "medium": { + "faces": [ + { + "x": 509, + "y": 112, + "h": 212, + "w": 212 + } + ] + }, + "small": { + "faces": [ + { + "x": 288, + "y": 63, + "h": 120, + "w": 120 + } + ] + }, + "orig": { + "faces": [ + { + "x": 509, + "y": 112, + "h": 212, + "w": 212 + } + ] + } + }, + "sizes": { + "large": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 675, + "width": 1200, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1200, + "h": 672 + }, + { + "x": 525, + "y": 0, + "w": 675, + "h": 675 + }, + { + "x": 608, + "y": 0, + "w": 592, + "h": 675 + }, + { + "x": 862, + "y": 0, + "w": 338, + "h": 675 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 675 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1582718221349789697" + } + } + } + ] + }, + "favorite_count": 62, + "favorited": false, + "full_text": "🌟 Gaming developers have the benefit of a large community with great exposure on the platform. \n\n⚡️ 91M unique gaming authors\n🎥 12.5B video views by esports and gaming publishers \n\nTag your favorite gaming account below 👇 https://t.co/SSn7SCAGcK", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 8, + "retweet_count": 24, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1582718225812684801" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1579592617834459141", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1579592617834459141", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1579592617834459141" + ], + "editable_until_msecs": "1665441002000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Mon Oct 10 22:00:02 +0000 2022", + "conversation_id_str": "1579592617834459141", + "display_text_range": [ + 0, + 274 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/juCJEMsU3L", + "expanded_url": "https://x.com/TwitterDev/status/1579592617834459141/photo/1", + "id_str": "1579592614873112576", + "indices": [ + 275, + 298 + ], + "media_key": "3_1579592614873112576", + "media_url_https": "https://pbs.twimg.com/media/FevXHTtXoAAoGyu.jpg", + "type": "photo", + "url": "https://t.co/juCJEMsU3L", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 812, + "y": 101, + "h": 162, + "w": 162 + }, + { + "x": 752, + "y": 199, + "h": 254, + "w": 254 + } + ] + }, + "medium": { + "faces": [ + { + "x": 812, + "y": 101, + "h": 162, + "w": 162 + }, + { + "x": 752, + "y": 199, + "h": 254, + "w": 254 + } + ] + }, + "small": { + "faces": [ + { + "x": 460, + "y": 57, + "h": 91, + "w": 91 + }, + { + "x": 426, + "y": 112, + "h": 143, + "w": 143 + } + ] + }, + "orig": { + "faces": [ + { + "x": 812, + "y": 101, + "h": 162, + "w": 162 + }, + { + "x": 752, + "y": 199, + "h": 254, + "w": 254 + } + ] + } + }, + "sizes": { + "large": { + "h": 628, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 628, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 356, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 628, + "width": 1200, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1121, + "h": 628 + }, + { + "x": 76, + "y": 0, + "w": 628, + "h": 628 + }, + { + "x": 115, + "y": 0, + "w": 551, + "h": 628 + }, + { + "x": 233, + "y": 0, + "w": 314, + "h": 628 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 628 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1579592614873112576" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "tinyurl.com/ycyx9d3a", + "expanded_url": "https://tinyurl.com/ycyx9d3a", + "url": "https://t.co/2t3saXshX9", + "indices": [ + 251, + 274 + ] + } + ], + "user_mentions": [ + { + "id_str": "2618731", + "name": "Converseon", + "screen_name": "converseon", + "indices": [ + 27, + 38 + ] + }, + { + "id_str": "1683696495198089217", + "name": "Twitter", + "screen_name": "twitter", + "indices": [ + 41, + 49 + ] + }, + { + "id_str": "98458823", + "name": "MATTEL", + "screen_name": "Mattel", + "indices": [ + 56, + 63 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/juCJEMsU3L", + "expanded_url": "https://x.com/TwitterDev/status/1579592617834459141/photo/1", + "id_str": "1579592614873112576", + "indices": [ + 275, + 298 + ], + "media_key": "3_1579592614873112576", + "media_url_https": "https://pbs.twimg.com/media/FevXHTtXoAAoGyu.jpg", + "type": "photo", + "url": "https://t.co/juCJEMsU3L", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 812, + "y": 101, + "h": 162, + "w": 162 + }, + { + "x": 752, + "y": 199, + "h": 254, + "w": 254 + } + ] + }, + "medium": { + "faces": [ + { + "x": 812, + "y": 101, + "h": 162, + "w": 162 + }, + { + "x": 752, + "y": 199, + "h": 254, + "w": 254 + } + ] + }, + "small": { + "faces": [ + { + "x": 460, + "y": 57, + "h": 91, + "w": 91 + }, + { + "x": 426, + "y": 112, + "h": 143, + "w": 143 + } + ] + }, + "orig": { + "faces": [ + { + "x": 812, + "y": 101, + "h": 162, + "w": 162 + }, + { + "x": 752, + "y": 199, + "h": 254, + "w": 254 + } + ] + } + }, + "sizes": { + "large": { + "h": 628, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 628, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 356, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 628, + "width": 1200, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1121, + "h": 628 + }, + { + "x": 76, + "y": 0, + "w": 628, + "h": 628 + }, + { + "x": 115, + "y": 0, + "w": 551, + "h": 628 + }, + { + "x": 233, + "y": 0, + "w": 314, + "h": 628 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 628 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1579592614873112576" + } + } + } + ] + }, + "favorite_count": 35, + "favorited": false, + "full_text": "Tomorrow, October 11, Join @Converseon , @Twitter , and @Mattel as we discuss the power of social data to inform ESG strategy and understand how perceptions of these efforts translate into consumer behavior and business outcomes 🗣. \n\nRegister Here 👇:\nhttps://t.co/2t3saXshX9 https://t.co/juCJEMsU3L", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 2, + "retweet_count": 19, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1579592617834459141" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1579562419994521600", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1579562419994521600", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1579562419994521600" + ], + "editable_until_msecs": "1665433802000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Mon Oct 10 20:00:02 +0000 2022", + "conversation_id_str": "1579562419994521600", + "display_text_range": [ + 0, + 218 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/E7e51O1q0H", + "expanded_url": "https://x.com/TwitterDev/status/1579562419994521600/photo/1", + "ext_alt_text": "Publicis x YouScan image of woman playing basketball with Twitter elements ", + "id_str": "1579562416945373184", + "indices": [ + 219, + 242 + ], + "media_key": "3_1579562416945373184", + "media_url_https": "https://pbs.twimg.com/media/Feu7pjqWIAA_00L.png", + "type": "photo", + "url": "https://t.co/E7e51O1q0H", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 559, + "y": 59, + "h": 92, + "w": 92 + } + ] + }, + "medium": { + "faces": [ + { + "x": 559, + "y": 59, + "h": 92, + "w": 92 + } + ] + }, + "small": { + "faces": [ + { + "x": 475, + "y": 50, + "h": 78, + "w": 78 + } + ] + }, + "orig": { + "faces": [ + { + "x": 559, + "y": 59, + "h": 92, + "w": 92 + } + ] + } + }, + "sizes": { + "large": { + "h": 419, + "w": 800, + "resize": "fit" + }, + "medium": { + "h": 419, + "w": 800, + "resize": "fit" + }, + "small": { + "h": 356, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 419, + "width": 800, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 748, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 419, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 368, + "h": 419 + }, + { + "x": 34, + "y": 0, + "w": 210, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 800, + "h": 419 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1579562416945373184" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/blog/succes…", + "expanded_url": "https://developer.twitter.com/en/blog/success-stories/publicis-youscan?ref=os-dtc-Publicis-YouScan&utm_source=dtc&utm_medium=os&utm_campaign=Publicis-YouScan", + "url": "https://t.co/FY92FT682q", + "indices": [ + 195, + 218 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/E7e51O1q0H", + "expanded_url": "https://x.com/TwitterDev/status/1579562419994521600/photo/1", + "ext_alt_text": "Publicis x YouScan image of woman playing basketball with Twitter elements ", + "id_str": "1579562416945373184", + "indices": [ + 219, + 242 + ], + "media_key": "3_1579562416945373184", + "media_url_https": "https://pbs.twimg.com/media/Feu7pjqWIAA_00L.png", + "type": "photo", + "url": "https://t.co/E7e51O1q0H", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 559, + "y": 59, + "h": 92, + "w": 92 + } + ] + }, + "medium": { + "faces": [ + { + "x": 559, + "y": 59, + "h": 92, + "w": 92 + } + ] + }, + "small": { + "faces": [ + { + "x": 475, + "y": 50, + "h": 78, + "w": 78 + } + ] + }, + "orig": { + "faces": [ + { + "x": 559, + "y": 59, + "h": 92, + "w": 92 + } + ] + } + }, + "sizes": { + "large": { + "h": 419, + "w": 800, + "resize": "fit" + }, + "medium": { + "h": 419, + "w": 800, + "resize": "fit" + }, + "small": { + "h": 356, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 419, + "width": 800, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 748, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 419, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 368, + "h": 419 + }, + { + "x": 34, + "y": 0, + "w": 210, + "h": 419 + }, + { + "x": 0, + "y": 0, + "w": 800, + "h": 419 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1579562416945373184" + } + } + } + ] + }, + "favorite_count": 48, + "favorited": false, + "full_text": "How Publicis uses YouScan to analyze consumer opinions, discover actionable insights and manage brand reputation, to define the 2023 marketing strategy for a major sports brand. 🧐🏀\n\nRead more ⤵️\nhttps://t.co/FY92FT682q https://t.co/E7e51O1q0H", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 2, + "retweet_count": 23, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1579562419994521600" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1578067569835229213", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1578067569835229213", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1578067569835229213" + ], + "editable_until_msecs": "1665077402000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Thu Oct 06 17:00:02 +0000 2022", + "conversation_id_str": "1578067569835229213", + "display_text_range": [ + 0, + 277 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/QiIZN5Jfkn", + "expanded_url": "https://x.com/TwitterDev/status/1578067569835229213/photo/1", + "id_str": "1578067565389254657", + "indices": [ + 278, + 301 + ], + "media_key": "3_1578067565389254657", + "media_url_https": "https://pbs.twimg.com/media/FeZsFvqXkAElb0k.png", + "type": "photo", + "url": "https://t.co/QiIZN5Jfkn", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 263, + "y": 137, + "h": 185, + "w": 185 + } + ] + }, + "medium": { + "faces": [ + { + "x": 263, + "y": 137, + "h": 185, + "w": 185 + } + ] + }, + "small": { + "faces": [ + { + "x": 223, + "y": 116, + "h": 157, + "w": 157 + } + ] + }, + "orig": { + "faces": [ + { + "x": 263, + "y": 137, + "h": 185, + "w": 185 + } + ] + } + }, + "sizes": { + "large": { + "h": 800, + "w": 800, + "resize": "fit" + }, + "medium": { + "h": 800, + "w": 800, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 800, + "width": 800, + "focus_rects": [ + { + "x": 0, + "y": 36, + "w": 800, + "h": 448 + }, + { + "x": 0, + "y": 0, + "w": 800, + "h": 800 + }, + { + "x": 29, + "y": 0, + "w": 702, + "h": 800 + }, + { + "x": 180, + "y": 0, + "w": 400, + "h": 800 + }, + { + "x": 0, + "y": 0, + "w": 800, + "h": 800 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1578067565389254657" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/blog/succes…", + "expanded_url": "https://developer.twitter.com/en/blog/success-stories/audiense-banco-pichincha?ref=os-dtc-Banco-Pichincha-social&utm_source=dtc&utm_medium=os&utm_campaign=Banco-Pichincha-social", + "url": "https://t.co/C85xrWh0Ye", + "indices": [ + 254, + 277 + ] + } + ], + "user_mentions": [ + { + "id_str": "132547612", + "name": "Banco Pichincha", + "screen_name": "BancoPichincha", + "indices": [ + 139, + 154 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/QiIZN5Jfkn", + "expanded_url": "https://x.com/TwitterDev/status/1578067569835229213/photo/1", + "id_str": "1578067565389254657", + "indices": [ + 278, + 301 + ], + "media_key": "3_1578067565389254657", + "media_url_https": "https://pbs.twimg.com/media/FeZsFvqXkAElb0k.png", + "type": "photo", + "url": "https://t.co/QiIZN5Jfkn", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 263, + "y": 137, + "h": 185, + "w": 185 + } + ] + }, + "medium": { + "faces": [ + { + "x": 263, + "y": 137, + "h": 185, + "w": 185 + } + ] + }, + "small": { + "faces": [ + { + "x": 223, + "y": 116, + "h": 157, + "w": 157 + } + ] + }, + "orig": { + "faces": [ + { + "x": 263, + "y": 137, + "h": 185, + "w": 185 + } + ] + } + }, + "sizes": { + "large": { + "h": 800, + "w": 800, + "resize": "fit" + }, + "medium": { + "h": 800, + "w": 800, + "resize": "fit" + }, + "small": { + "h": 680, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 800, + "width": 800, + "focus_rects": [ + { + "x": 0, + "y": 36, + "w": 800, + "h": 448 + }, + { + "x": 0, + "y": 0, + "w": 800, + "h": 800 + }, + { + "x": 29, + "y": 0, + "w": 702, + "h": 800 + }, + { + "x": 180, + "y": 0, + "w": 400, + "h": 800 + }, + { + "x": 0, + "y": 0, + "w": 800, + "h": 800 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1578067565389254657" + } + } + } + ] + }, + "favorite_count": 47, + "favorited": false, + "full_text": "👉Using a solution like Audiense Connect in combination with Twitter API can help you engage the right target with your content. 🤝\n\nSee how @BancoPichincha developed El Diez de la Trivia and Trivia de Oro to enhance sponsorships with football teams ⚽️ ⬇️\nhttps://t.co/C85xrWh0Ye https://t.co/QiIZN5Jfkn", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 1, + "retweet_count": 21, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1578067569835229213" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1575108065183125505", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1575108065183125505", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1575108065183125505" + ], + "editable_until_msecs": "1664371801000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Wed Sep 28 13:00:01 +0000 2022", + "conversation_id_str": "1575108065183125505", + "display_text_range": [ + 0, + 214 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/9oFg6ULXp6", + "expanded_url": "https://x.com/TwitterDev/status/1575108065183125505/photo/1", + "id_str": "1575108061789921281", + "indices": [ + 215, + 238 + ], + "media_key": "3_1575108061789921281", + "media_url_https": "https://pbs.twimg.com/media/Fdvob9nXoAEtEEY.jpg", + "type": "photo", + "url": "https://t.co/9oFg6ULXp6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 482, + "y": 56, + "h": 215, + "w": 215 + } + ] + }, + "medium": { + "faces": [ + { + "x": 482, + "y": 56, + "h": 215, + "w": 215 + } + ] + }, + "small": { + "faces": [ + { + "x": 304, + "y": 35, + "h": 135, + "w": 135 + } + ] + }, + "orig": { + "faces": [ + { + "x": 482, + "y": 56, + "h": 215, + "w": 215 + } + ] + } + }, + "sizes": { + "large": { + "h": 550, + "w": 1078, + "resize": "fit" + }, + "medium": { + "h": 550, + "w": 1078, + "resize": "fit" + }, + "small": { + "h": 347, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 550, + "width": 1078, + "focus_rects": [ + { + "x": 74, + "y": 0, + "w": 982, + "h": 550 + }, + { + "x": 290, + "y": 0, + "w": 550, + "h": 550 + }, + { + "x": 324, + "y": 0, + "w": 482, + "h": 550 + }, + { + "x": 428, + "y": 0, + "w": 275, + "h": 550 + }, + { + "x": 0, + "y": 0, + "w": 1078, + "h": 550 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1575108061789921281" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/blog/commun…", + "expanded_url": "https://developer.twitter.com/en/blog/community/2022/redouane-bali-and-redthebot?ref=os-dtc-bali-bot-social&utm_source=dtc&utm_medium=os&utm_campaign=bali-bot-social", + "url": "https://t.co/Vqthbin9vi", + "indices": [ + 191, + 214 + ] + } + ], + "user_mentions": [ + { + "id_str": "1120050519182016513", + "name": "Redouane", + "screen_name": "RedouaneBali", + "indices": [ + 21, + 34 + ] + }, + { + "id_str": "1307302673318895621", + "name": "RedTheBot 🤓", + "screen_name": "RedTheBot_", + "indices": [ + 69, + 80 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/9oFg6ULXp6", + "expanded_url": "https://x.com/TwitterDev/status/1575108065183125505/photo/1", + "id_str": "1575108061789921281", + "indices": [ + 215, + 238 + ], + "media_key": "3_1575108061789921281", + "media_url_https": "https://pbs.twimg.com/media/Fdvob9nXoAEtEEY.jpg", + "type": "photo", + "url": "https://t.co/9oFg6ULXp6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 482, + "y": 56, + "h": 215, + "w": 215 + } + ] + }, + "medium": { + "faces": [ + { + "x": 482, + "y": 56, + "h": 215, + "w": 215 + } + ] + }, + "small": { + "faces": [ + { + "x": 304, + "y": 35, + "h": 135, + "w": 135 + } + ] + }, + "orig": { + "faces": [ + { + "x": 482, + "y": 56, + "h": 215, + "w": 215 + } + ] + } + }, + "sizes": { + "large": { + "h": 550, + "w": 1078, + "resize": "fit" + }, + "medium": { + "h": 550, + "w": 1078, + "resize": "fit" + }, + "small": { + "h": 347, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 550, + "width": 1078, + "focus_rects": [ + { + "x": 74, + "y": 0, + "w": 982, + "h": 550 + }, + { + "x": 290, + "y": 0, + "w": 550, + "h": 550 + }, + { + "x": 324, + "y": 0, + "w": 482, + "h": 550 + }, + { + "x": 428, + "y": 0, + "w": 275, + "h": 550 + }, + { + "x": 0, + "y": 0, + "w": 1078, + "h": 550 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1575108061789921281" + } + } + } + ] + }, + "favorite_count": 29, + "favorited": false, + "full_text": "👀 Take a look at how @RedouaneBali used the Twitter API to build the @RedTheBot_, a Twitter bot that does exactly what its bio suggests: tells jokes & analyzes Tweets. ✔️ \n\nRead it now 👇\nhttps://t.co/Vqthbin9vi https://t.co/9oFg6ULXp6", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 2, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1575108065183125505" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1570079937704660997", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1570079937704660997", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1570079937704660997" + ], + "editable_until_msecs": "1663173002000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Wed Sep 14 16:00:02 +0000 2022", + "conversation_id_str": "1570079937704660997", + "display_text_range": [ + 0, + 281 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 2, + 8 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/bUaLoHV6VD", + "expanded_url": "https://x.com/TwitterDev/status/1570079937704660997/photo/1", + "id_str": "1570079932268650496", + "indices": [ + 282, + 305 + ], + "media_key": "3_1570079932268650496", + "media_url_https": "https://pbs.twimg.com/media/FcoLYTfXoAA48DH.jpg", + "type": "photo", + "url": "https://t.co/bUaLoHV6VD", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 675, + "width": 1200, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1200, + "h": 672 + }, + { + "x": 263, + "y": 0, + "w": 675, + "h": 675 + }, + { + "x": 304, + "y": 0, + "w": 592, + "h": 675 + }, + { + "x": 431, + "y": 0, + "w": 338, + "h": 675 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 675 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1570079932268650496" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/blog/commun…", + "expanded_url": "https://developer.twitter.com/en/blog/community/2022/chirp-agenda", + "url": "https://t.co/TkdChvxARV", + "indices": [ + 258, + 281 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/bUaLoHV6VD", + "expanded_url": "https://x.com/TwitterDev/status/1570079937704660997/photo/1", + "id_str": "1570079932268650496", + "indices": [ + 282, + 305 + ], + "media_key": "3_1570079932268650496", + "media_url_https": "https://pbs.twimg.com/media/FcoLYTfXoAA48DH.jpg", + "type": "photo", + "url": "https://t.co/bUaLoHV6VD", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 675, + "width": 1200, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1200, + "h": 672 + }, + { + "x": 263, + "y": 0, + "w": 675, + "h": 675 + }, + { + "x": 304, + "y": 0, + "w": 592, + "h": 675 + }, + { + "x": 431, + "y": 0, + "w": 338, + "h": 675 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 675 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1570079932268650496" + } + } + } + ] + }, + "favorite_count": 42, + "favorited": false, + "full_text": "🎉 #Chirp is right around the corner & we’re previewing some of the session and workshop content. Take a look 👀\n\n🎤Sessions: product updates, partner successes, & best practices.\n🧑💻Workshops: get hands on help building with the API. \n\nRead the blog 👇\nhttps://t.co/TkdChvxARV https://t.co/bUaLoHV6VD", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 4, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1570079937704660997" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1567588519236833283", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1567588519236833283", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1567588519236833283" + ], + "editable_until_msecs": "1662579002000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Wed Sep 07 19:00:02 +0000 2022", + "conversation_id_str": "1567588519236833283", + "display_text_range": [ + 0, + 241 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 81, + 87 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/UaauCmoRAW", + "expanded_url": "https://x.com/TwitterDev/status/1567588519236833283/photo/1", + "ext_alt_text": "#Chirp Developer Conference", + "id_str": "1567588515873017856", + "indices": [ + 242, + 265 + ], + "media_key": "3_1567588515873017856", + "media_url_https": "https://pbs.twimg.com/media/FcExcyKX0AAfqGn.jpg", + "type": "photo", + "url": "https://t.co/UaauCmoRAW", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "medium": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "small": { + "faces": [ + { + "x": 508, + "y": 14, + "h": 36, + "w": 36 + }, + { + "x": 37, + "y": 302, + "h": 34, + "w": 34 + } + ] + }, + "orig": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 497, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 535, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 653, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1567588515873017856" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "calendar.google.com/calendar/u/0/r…", + "expanded_url": "https://calendar.google.com/calendar/u/0/r/eventedit?dates=20221116T180000Z/20221116T190000Z&details=Tune+into+the+Chirp+Developer+Conference+keynote+livestream+for+a+look+into+the+future+of+the+Twitter+Developer+Platform,+exciting+reveals,+and+a+few+surprises+along+the+way.+See+the+event+page+for+more+details:+https://developer.twitter.com/en/chirp&location=https://www.youtube.com/c/twitterdev&text=Chirp+Developer+Conference+Keynote+Livestream", + "url": "https://t.co/LZECEhChqf", + "indices": [ + 218, + 241 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/UaauCmoRAW", + "expanded_url": "https://x.com/TwitterDev/status/1567588519236833283/photo/1", + "ext_alt_text": "#Chirp Developer Conference", + "id_str": "1567588515873017856", + "indices": [ + 242, + 265 + ], + "media_key": "3_1567588515873017856", + "media_url_https": "https://pbs.twimg.com/media/FcExcyKX0AAfqGn.jpg", + "type": "photo", + "url": "https://t.co/UaauCmoRAW", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "medium": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "small": { + "faces": [ + { + "x": 508, + "y": 14, + "h": 36, + "w": 36 + }, + { + "x": 37, + "y": 302, + "h": 34, + "w": 34 + } + ] + }, + "orig": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 497, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 535, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 653, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1567588515873017856" + } + } + } + ] + }, + "favorite_count": 36, + "favorited": false, + "full_text": "🎉 Celebrate developer innovation and the future of the Developer Platform at the #Chirp Developer Conference with a special livestream of the keynote on November 16th at 10am PT. 🎥\n\nWe can't wait to see you there. 🚀⬇️\nhttps://t.co/LZECEhChqf https://t.co/UaauCmoRAW", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 7, + "retweet_count": 19, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1567588519236833283" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1567226129483800578", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1567226129483800578", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1567226129483800578" + ], + "editable_until_msecs": "1662492601000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Sep 06 19:00:01 +0000 2022", + "conversation_id_str": "1567226129483800578", + "display_text_range": [ + 0, + 229 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/THU54PbyF6", + "expanded_url": "https://x.com/TwitterDev/status/1567226129483800578/photo/1", + "ext_alt_text": "Creating Twitter Bots twitch.tv/twitterdev | September 7th | 6:00 ET / 3:00pm PT with pictures of the hosts \n", + "id_str": "1567226127604662274", + "indices": [ + 230, + 253 + ], + "media_key": "3_1567226127604662274", + "media_url_https": "https://pbs.twimg.com/media/Fb_n3AqWQAIf0wj.jpg", + "type": "photo", + "url": "https://t.co/THU54PbyF6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 466, + "y": 238, + "h": 50, + "w": 50 + }, + { + "x": 184, + "y": 233, + "h": 74, + "w": 74 + }, + { + "x": 293, + "y": 214, + "h": 109, + "w": 109 + } + ] + }, + "medium": { + "faces": [ + { + "x": 466, + "y": 238, + "h": 50, + "w": 50 + }, + { + "x": 184, + "y": 233, + "h": 74, + "w": 74 + }, + { + "x": 293, + "y": 214, + "h": 109, + "w": 109 + } + ] + }, + "small": { + "faces": [ + { + "x": 330, + "y": 168, + "h": 35, + "w": 35 + }, + { + "x": 130, + "y": 165, + "h": 52, + "w": 52 + }, + { + "x": 207, + "y": 151, + "h": 77, + "w": 77 + } + ] + }, + "orig": { + "faces": [ + { + "x": 466, + "y": 238, + "h": 50, + "w": 50 + }, + { + "x": 184, + "y": 233, + "h": 74, + "w": 74 + }, + { + "x": 293, + "y": 214, + "h": 109, + "w": 109 + } + ] + } + }, + "sizes": { + "large": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "medium": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 540, + "width": 960, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 960, + "h": 538 + }, + { + "x": 42, + "y": 0, + "w": 540, + "h": 540 + }, + { + "x": 75, + "y": 0, + "w": 474, + "h": 540 + }, + { + "x": 177, + "y": 0, + "w": 270, + "h": 540 + }, + { + "x": 0, + "y": 0, + "w": 960, + "h": 540 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1567226127604662274" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "twitch.tv/twitterdev", + "expanded_url": "http://twitch.tv/twitterdev", + "url": "https://t.co/GrtBOXyHmB", + "indices": [ + 206, + 229 + ] + } + ], + "user_mentions": [ + { + "id_str": "15772978", + "name": "Jessica Garson", + "screen_name": "jessicagarson", + "indices": [ + 16, + 30 + ] + }, + { + "id_str": "1324848235714736129", + "name": "Alan Lee", + "screen_name": "alanbenlee", + "indices": [ + 32, + 43 + ] + }, + { + "id_str": "21604764", + "name": "Joe Sondow", + "screen_name": "JoeSondow", + "indices": [ + 64, + 74 + ] + }, + { + "id_str": "1583250774", + "name": "metzinaround on bluesky", + "screen_name": "MetzinAround", + "indices": [ + 79, + 92 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/THU54PbyF6", + "expanded_url": "https://x.com/TwitterDev/status/1567226129483800578/photo/1", + "ext_alt_text": "Creating Twitter Bots twitch.tv/twitterdev | September 7th | 6:00 ET / 3:00pm PT with pictures of the hosts \n", + "id_str": "1567226127604662274", + "indices": [ + 230, + 253 + ], + "media_key": "3_1567226127604662274", + "media_url_https": "https://pbs.twimg.com/media/Fb_n3AqWQAIf0wj.jpg", + "type": "photo", + "url": "https://t.co/THU54PbyF6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 466, + "y": 238, + "h": 50, + "w": 50 + }, + { + "x": 184, + "y": 233, + "h": 74, + "w": 74 + }, + { + "x": 293, + "y": 214, + "h": 109, + "w": 109 + } + ] + }, + "medium": { + "faces": [ + { + "x": 466, + "y": 238, + "h": 50, + "w": 50 + }, + { + "x": 184, + "y": 233, + "h": 74, + "w": 74 + }, + { + "x": 293, + "y": 214, + "h": 109, + "w": 109 + } + ] + }, + "small": { + "faces": [ + { + "x": 330, + "y": 168, + "h": 35, + "w": 35 + }, + { + "x": 130, + "y": 165, + "h": 52, + "w": 52 + }, + { + "x": 207, + "y": 151, + "h": 77, + "w": 77 + } + ] + }, + "orig": { + "faces": [ + { + "x": 466, + "y": 238, + "h": 50, + "w": 50 + }, + { + "x": 184, + "y": 233, + "h": 74, + "w": 74 + }, + { + "x": 293, + "y": 214, + "h": 109, + "w": 109 + } + ] + } + }, + "sizes": { + "large": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "medium": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 540, + "width": 960, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 960, + "h": 538 + }, + { + "x": 42, + "y": 0, + "w": 540, + "h": 540 + }, + { + "x": 75, + "y": 0, + "w": 474, + "h": 540 + }, + { + "x": 177, + "y": 0, + "w": 270, + "h": 540 + }, + { + "x": 0, + "y": 0, + "w": 960, + "h": 540 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1567226127604662274" + } + } + } + ] + }, + "favorite_count": 36, + "favorited": false, + "full_text": "📢Tomorrow! Join @jessicagarson, @alanbenlee, and special guests @JoeSondow and @MetzinAround for a live stream to learn how to create Twitter bots. 🤩\n \nWednesday, September 7 | 6:00pm ET / 3:00pm PT ⏰ \n🎥: https://t.co/GrtBOXyHmB https://t.co/THU54PbyF6", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 4, + "retweet_count": 15, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1567226129483800578" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1565414244052508673", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1565414244052508673", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1565414244052508673" + ], + "editable_until_msecs": "1662060614000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Thu Sep 01 19:00:14 +0000 2022", + "conversation_id_str": "1565414244052508673", + "display_text_range": [ + 0, + 161 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/NxSygGeBM8", + "expanded_url": "https://x.com/TwitterDev/status/1565414244052508673/video/1", + "id_str": "1565414193439834113", + "indices": [ + 162, + 185 + ], + "media_key": "13_1565414193439834113", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1565414193439834113/img/4O9CxS9iyUxIQaEG.jpg", + "type": "video", + "url": "https://t.co/NxSygGeBM8", + "additional_media_info": { + "title": "Developer Pulse Survey", + "description": "Your opinion helps shape the future of the Twitter Developer Platform", + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 9666, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/pl/pyc2tImNHRjzo-mf.m3u8?tag=14" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/vid/480x270/GO_-LxmXTrCygfxH.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/vid/640x360/dWmcTz1I-S2BCeNh.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/vid/1280x720/4zGz77oKzMG0DsnJ.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1565414193439834113" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "adsandpublisherscx.sjc1.qualtrics.com/jfe/form/SV_6F…", + "expanded_url": "https://adsandpublisherscx.sjc1.qualtrics.com/jfe/form/SV_6FjFfNHwAtBBvRY?Q_CHL=social&Q_SocialSource=twitter", + "url": "https://t.co/lwbnIuFmuO", + "indices": [ + 138, + 161 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/NxSygGeBM8", + "expanded_url": "https://x.com/TwitterDev/status/1565414244052508673/video/1", + "id_str": "1565414193439834113", + "indices": [ + 162, + 185 + ], + "media_key": "13_1565414193439834113", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1565414193439834113/img/4O9CxS9iyUxIQaEG.jpg", + "type": "video", + "url": "https://t.co/NxSygGeBM8", + "additional_media_info": { + "title": "Developer Pulse Survey", + "description": "Your opinion helps shape the future of the Twitter Developer Platform", + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 9666, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/pl/pyc2tImNHRjzo-mf.m3u8?tag=14" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/vid/480x270/GO_-LxmXTrCygfxH.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/vid/640x360/dWmcTz1I-S2BCeNh.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1565414193439834113/vid/1280x720/4zGz77oKzMG0DsnJ.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1565414193439834113" + } + } + } + ] + }, + "favorite_count": 76, + "favorited": false, + "full_text": "📣 We want to hear how we’re doing \n \nHelp us build a better Twitter Developer Platform experience and take the annual developer survey.👇 \nhttps://t.co/lwbnIuFmuO https://t.co/NxSygGeBM8", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 13, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1565414244052508673" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1564644124858486785", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1564644124858486785", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1564644124858486785" + ], + "editable_until_msecs": "1661877003000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Tue Aug 30 16:00:03 +0000 2022", + "conversation_id_str": "1564644124858486785", + "display_text_range": [ + 0, + 269 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 21, + 39 + ], + "text": "ChirpDevChallenge" + }, + { + "indices": [ + 235, + 241 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/aXUO3bC6lR", + "expanded_url": "https://x.com/TwitterDev/status/1564644124858486785/photo/1", + "id_str": "1564644121788272640", + "indices": [ + 270, + 293 + ], + "media_key": "3_1564644121788272640", + "media_url_https": "https://pbs.twimg.com/media/Fba7ifcX0AATUsD.jpg", + "type": "photo", + "url": "https://t.co/aXUO3bC6lR", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 377, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 415, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 533, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1564644121788272640" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/blog/indust…", + "expanded_url": "https://developer.twitter.com/en/blog/industry-team-news/2022/introducing-the-chirp-developer-challenge-judges?ref=os-dtc-DevChallenge&utm_source=dtc&utm_medium=os&utm_campaign=DevChallenge", + "url": "https://t.co/TlyHXj6VsU", + "indices": [ + 180, + 203 + ] + }, + { + "display_url": "calendar.google.com/calendar/u/0/r…", + "expanded_url": "https://calendar.google.com/calendar/u/0/r/eventedit?dates=20221116T180000Z/20221116T190000Z&details=Tune+into+the+Chirp+Developer+Conference+keynote+livestream+for+a+look+into+the+future+of+the+Twitter+Developer+Platform,+exciting+reveals,+and+a+few+surprises+along+the+way.+See+the+event+page+for+more+details:+https://developer.twitter.com/en/chirp&location=https://www.youtube.com/c/twitterdev&text=Chirp+Developer+Conference+Keynote+Livestream", + "url": "https://t.co/LZECEhChqf", + "indices": [ + 246, + 269 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/aXUO3bC6lR", + "expanded_url": "https://x.com/TwitterDev/status/1564644124858486785/photo/1", + "id_str": "1564644121788272640", + "indices": [ + 270, + 293 + ], + "media_key": "3_1564644121788272640", + "media_url_https": "https://pbs.twimg.com/media/Fba7ifcX0AATUsD.jpg", + "type": "photo", + "url": "https://t.co/aXUO3bC6lR", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 377, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 415, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 533, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1564644121788272640" + } + } + } + ] + }, + "favorite_count": 28, + "favorited": false, + "full_text": "🎉 The judges for the #ChirpDevChallenge are officially reviewing entries and determining the winners of the cash prizes, exclusive swag, and more! 💰🎊🤩\n\nMeet the panel of judges ⬇️ https://t.co/TlyHXj6VsU\n\nWe’ll announce the winners at #Chirp 🗓⬇️ https://t.co/LZECEhChqf https://t.co/aXUO3bC6lR", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 3, + "retweet_count": 7, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1564644124858486785" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1561833980286173186", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1561833980286173186", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1561833980286173186" + ], + "editable_until_msecs": "1661207013000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Mon Aug 22 21:53:33 +0000 2022", + "conversation_id_str": "1561833980286173186", + "display_text_range": [ + 0, + 258 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 86, + 97 + ], + "text": "TwitterAPI" + } + ], + "media": [ + { + "display_url": "pic.x.com/7aILA1Yke6", + "expanded_url": "https://x.com/TwitterDev/status/1561833980286173186/photo/1", + "ext_alt_text": "#TwitterDev Connect Seattle Meetup", + "id_str": "1561833968449773572", + "indices": [ + 259, + 282 + ], + "media_key": "3_1561833968449773572", + "media_url_https": "https://pbs.twimg.com/media/Fay_uCeWYAQO8HM.jpg", + "type": "photo", + "url": "https://t.co/7aILA1Yke6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1156, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 678, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 384, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1626, + "width": 2880, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2880, + "h": 1613 + }, + { + "x": 627, + "y": 0, + "w": 1626, + "h": 1626 + }, + { + "x": 727, + "y": 0, + "w": 1426, + "h": 1626 + }, + { + "x": 1034, + "y": 0, + "w": 813, + "h": 1626 + }, + { + "x": 0, + "y": 0, + "w": 2880, + "h": 1626 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1561833968449773572" + } + } + }, + { + "display_url": "pic.x.com/7aILA1Yke6", + "expanded_url": "https://x.com/TwitterDev/status/1561833980286173186/photo/1", + "id_str": "1561833978314854405", + "indices": [ + 259, + 282 + ], + "media_key": "3_1561833978314854405", + "media_url_https": "https://pbs.twimg.com/media/Fay_unOXkAU8OA4.jpg", + "type": "photo", + "url": "https://t.co/7aILA1Yke6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 598, + "y": 334, + "h": 60, + "w": 60 + }, + { + "x": 256, + "y": 314, + "h": 85, + "w": 85 + } + ] + }, + "medium": { + "faces": [ + { + "x": 598, + "y": 334, + "h": 60, + "w": 60 + }, + { + "x": 256, + "y": 314, + "h": 85, + "w": 85 + } + ] + }, + "small": { + "faces": [ + { + "x": 423, + "y": 236, + "h": 42, + "w": 42 + }, + { + "x": 181, + "y": 222, + "h": 60, + "w": 60 + } + ] + }, + "orig": { + "faces": [ + { + "x": 598, + "y": 334, + "h": 60, + "w": 60 + }, + { + "x": 256, + "y": 314, + "h": 85, + "w": 85 + } + ] + } + }, + "sizes": { + "large": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "medium": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 540, + "width": 960, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 960, + "h": 538 + }, + { + "x": 210, + "y": 0, + "w": 540, + "h": 540 + }, + { + "x": 243, + "y": 0, + "w": 474, + "h": 540 + }, + { + "x": 345, + "y": 0, + "w": 270, + "h": 540 + }, + { + "x": 0, + "y": 0, + "w": 960, + "h": 540 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1561833978314854405" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "twitterdev.bevylabs.com", + "expanded_url": "https://twitterdev.bevylabs.com/", + "url": "https://t.co/5PzCgFeYm8", + "indices": [ + 235, + 258 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/7aILA1Yke6", + "expanded_url": "https://x.com/TwitterDev/status/1561833980286173186/photo/1", + "ext_alt_text": "#TwitterDev Connect Seattle Meetup", + "id_str": "1561833968449773572", + "indices": [ + 259, + 282 + ], + "media_key": "3_1561833968449773572", + "media_url_https": "https://pbs.twimg.com/media/Fay_uCeWYAQO8HM.jpg", + "type": "photo", + "url": "https://t.co/7aILA1Yke6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1156, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 678, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 384, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1626, + "width": 2880, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 2880, + "h": 1613 + }, + { + "x": 627, + "y": 0, + "w": 1626, + "h": 1626 + }, + { + "x": 727, + "y": 0, + "w": 1426, + "h": 1626 + }, + { + "x": 1034, + "y": 0, + "w": 813, + "h": 1626 + }, + { + "x": 0, + "y": 0, + "w": 2880, + "h": 1626 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1561833968449773572" + } + } + }, + { + "display_url": "pic.x.com/7aILA1Yke6", + "expanded_url": "https://x.com/TwitterDev/status/1561833980286173186/photo/1", + "id_str": "1561833978314854405", + "indices": [ + 259, + 282 + ], + "media_key": "3_1561833978314854405", + "media_url_https": "https://pbs.twimg.com/media/Fay_unOXkAU8OA4.jpg", + "type": "photo", + "url": "https://t.co/7aILA1Yke6", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 598, + "y": 334, + "h": 60, + "w": 60 + }, + { + "x": 256, + "y": 314, + "h": 85, + "w": 85 + } + ] + }, + "medium": { + "faces": [ + { + "x": 598, + "y": 334, + "h": 60, + "w": 60 + }, + { + "x": 256, + "y": 314, + "h": 85, + "w": 85 + } + ] + }, + "small": { + "faces": [ + { + "x": 423, + "y": 236, + "h": 42, + "w": 42 + }, + { + "x": 181, + "y": 222, + "h": 60, + "w": 60 + } + ] + }, + "orig": { + "faces": [ + { + "x": 598, + "y": 334, + "h": 60, + "w": 60 + }, + { + "x": 256, + "y": 314, + "h": 85, + "w": 85 + } + ] + } + }, + "sizes": { + "large": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "medium": { + "h": 540, + "w": 960, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 540, + "width": 960, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 960, + "h": 538 + }, + { + "x": 210, + "y": 0, + "w": 540, + "h": 540 + }, + { + "x": 243, + "y": 0, + "w": 474, + "h": 540 + }, + { + "x": 345, + "y": 0, + "w": 270, + "h": 540 + }, + { + "x": 0, + "y": 0, + "w": 960, + "h": 540 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1561833978314854405" + } + } + } + ] + }, + "favorite_count": 44, + "favorited": false, + "full_text": "📢 Join us for our first in-person meetup at our Twitter Offices! Come learn about the #TwitterAPI v2 and see how & developers use it for a variety of use-cases! 🤝\n\n📍Boston: 8/24 at 5pm ET\n📍Seattle: 8/25 at 5:30pm PT\n\nRSVP here ⤵️ \nhttps://t.co/5PzCgFeYm8 https://t.co/7aILA1Yke6", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 2, + "retweet_count": 17, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1561833980286173186" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1561805413103853570", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1561805413103853570", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1561805413103853570" + ], + "editable_until_msecs": "1661200202000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Mon Aug 22 20:00:02 +0000 2022", + "conversation_id_str": "1561805413103853570", + "display_text_range": [ + 0, + 212 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 16, + 22 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/vUIbSFVL8J", + "expanded_url": "https://x.com/TwitterDev/status/1561805413103853570/photo/1", + "ext_alt_text": "Chirp Save the date", + "id_str": "1561805410608320512", + "indices": [ + 213, + 236 + ], + "media_key": "3_1561805410608320512", + "media_url_https": "https://pbs.twimg.com/media/FaylvwOXkAAiVS1.jpg", + "type": "photo", + "url": "https://t.co/vUIbSFVL8J", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 377, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 415, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 533, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1561805410608320512" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "calendar.google.com/calendar/u/0/r…", + "expanded_url": "https://calendar.google.com/calendar/u/0/r/eventedit?dates=20221116T180000Z/20221116T190000Z&details=Tune+into+the+Chirp+Developer+Conference+keynote+livestream+for+a+look+into+the+future+of+the+Twitter+Developer+Platform,+exciting+reveals,+and+a+few+surprises+along+the+way.+See+the+event+page+for+more+details:+https://developer.twitter.com/en/chirp&location=https://www.youtube.com/c/twitterdev&text=Chirp+Developer+Conference+Keynote+Livestream", + "url": "https://t.co/LZECEhChqf", + "indices": [ + 189, + 212 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/vUIbSFVL8J", + "expanded_url": "https://x.com/TwitterDev/status/1561805413103853570/photo/1", + "ext_alt_text": "Chirp Save the date", + "id_str": "1561805410608320512", + "indices": [ + 213, + 236 + ], + "media_key": "3_1561805410608320512", + "media_url_https": "https://pbs.twimg.com/media/FaylvwOXkAAiVS1.jpg", + "type": "photo", + "url": "https://t.co/vUIbSFVL8J", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 377, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 415, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 533, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1561805410608320512" + } + } + } + ] + }, + "favorite_count": 63, + "favorited": false, + "full_text": "👀 Missed out on #Chirp registration? \n\nDon't worry, we’ll livestream the keynote on November 16th at 10am PT and share videos of all sessions following the conference. 🎥🔥\n\nSave the date 🗓👇\nhttps://t.co/LZECEhChqf https://t.co/vUIbSFVL8J", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 6, + "retweet_count": 21, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1561805413103853570" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1560295462028120064", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1560295462028120064", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1560295462028120064" + ], + "editable_until_msecs": "1660840201000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Aug 18 16:00:01 +0000 2022", + "conversation_id_str": "1560295462028120064", + "display_text_range": [ + 0, + 219 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 43, + 61 + ], + "text": "ChirpDevChallenge" + } + ], + "media": [ + { + "display_url": "pic.x.com/h8Yrz3SXB1", + "expanded_url": "https://x.com/TwitterDev/status/1560295462028120064/photo/1", + "ext_alt_text": "ONE DAY LEFT to enter the #ChirpDevChallenge!", + "id_str": "1560295456978178049", + "indices": [ + 220, + 243 + ], + "media_key": "3_1560295456978178049", + "media_url_https": "https://pbs.twimg.com/media/FadIc4nXEAEhlEa.jpg", + "type": "photo", + "url": "https://t.co/h8Yrz3SXB1", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 377, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 415, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 533, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1560295456978178049" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "chirpdevchallenge.devpost.com/?ref=os-tw-Dev…", + "expanded_url": "https://chirpdevchallenge.devpost.com/?ref=os-tw-DevChallenge&utm_source=tw&utm_medium=os&utm_campaign=DevChallenge&utm_content=organic-tweet", + "url": "https://t.co/uHLjFpXN5e", + "indices": [ + 196, + 219 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/h8Yrz3SXB1", + "expanded_url": "https://x.com/TwitterDev/status/1560295462028120064/photo/1", + "ext_alt_text": "ONE DAY LEFT to enter the #ChirpDevChallenge!", + "id_str": "1560295456978178049", + "indices": [ + 220, + 243 + ], + "media_key": "3_1560295456978178049", + "media_url_https": "https://pbs.twimg.com/media/FadIc4nXEAEhlEa.jpg", + "type": "photo", + "url": "https://t.co/h8Yrz3SXB1", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 377, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 415, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 533, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1560295456978178049" + } + } + } + ] + }, + "favorite_count": 21, + "favorited": false, + "full_text": "⌛️ There is only ONE DAY LEFT to enter the #ChirpDevChallenge!\n\nSubmit your app by 11:59pm PT on Friday, August 19th and help people unlock brand new experiences on Twitter. 🚀\n\nSubmit your app ⤵️\nhttps://t.co/uHLjFpXN5e https://t.co/h8Yrz3SXB1", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 4, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1560295462028120064" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1559325365054619648", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1559325365054619648", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1559325365054619648" + ], + "editable_until_msecs": "1660608912000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Aug 15 23:45:12 +0000 2022", + "conversation_id_str": "1559325365054619648", + "display_text_range": [ + 0, + 272 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 29, + 47 + ], + "text": "ChirpDevChallenge" + }, + { + "indices": [ + 194, + 200 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/tj5K2Xz4d3", + "expanded_url": "https://x.com/TwitterDev/status/1559325365054619648/photo/1", + "id_str": "1559325320125317121", + "indices": [ + 273, + 296 + ], + "media_key": "16_1559325320125317121", + "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/FaPWHfNXgAEv8Lw.jpg", + "type": "animated_gif", + "url": "https://t.co/tj5K2Xz4d3", + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "variants": [ + { + "bitrate": 0, + "content_type": "video/mp4", + "url": "https://video.twimg.com/tweet_video/FaPWHfNXgAEv8Lw.mp4" + } + ] + }, + "media_results": { + "result": { + "media_key": "16_1559325320125317121" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "chirpdevchallenge.devpost.com/?ref=os-tw-Dev…", + "expanded_url": "https://chirpdevchallenge.devpost.com/?ref=os-tw-DevChallenge&utm_source=tw&utm_medium=os&utm_campaign=DevChallenge&utm_content=organic-tweet", + "url": "https://t.co/uHLjFpXN5e", + "indices": [ + 249, + 272 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/tj5K2Xz4d3", + "expanded_url": "https://x.com/TwitterDev/status/1559325365054619648/photo/1", + "id_str": "1559325320125317121", + "indices": [ + 273, + 296 + ], + "media_key": "16_1559325320125317121", + "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/FaPWHfNXgAEv8Lw.jpg", + "type": "animated_gif", + "url": "https://t.co/tj5K2Xz4d3", + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "variants": [ + { + "bitrate": 0, + "content_type": "video/mp4", + "url": "https://video.twimg.com/tweet_video/FaPWHfNXgAEv8Lw.mp4" + } + ] + }, + "media_results": { + "result": { + "media_key": "16_1559325320125317121" + } + } + } + ] + }, + "favorite_count": 18, + "favorited": false, + "full_text": "📣 Time is running out! \n\nThe #ChirpDevChallenge is open for entries through Aug. 19th. Submit an app using at least one Twitter API v2 endpoint for a chance to win prizes and be featured at the #Chirp Developer Conference. 🏆🥳\n\nJoin the challenge ⬇️\nhttps://t.co/uHLjFpXN5e https://t.co/tj5K2Xz4d3", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 3, + "retweet_count": 3, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1559325365054619648" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1557788977842765827", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1557788977842765827", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1557788977842765827" + ], + "editable_until_msecs": "1660242609000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Thu Aug 11 18:00:09 +0000 2022", + "conversation_id_str": "1557788977842765827", + "display_text_range": [ + 0, + 250 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 55, + 61 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/aZfdSg7Iiu", + "expanded_url": "https://x.com/TwitterDev/status/1557788977842765827/photo/1", + "ext_alt_text": "Register to attend the #Chirp Developer Conference", + "id_str": "1557788943344713729", + "indices": [ + 251, + 274 + ], + "media_key": "16_1557788943344713729", + "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/FZ5gylsXwAE4MbW.jpg", + "type": "animated_gif", + "url": "https://t.co/aZfdSg7Iiu", + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "variants": [ + { + "bitrate": 0, + "content_type": "video/mp4", + "url": "https://video.twimg.com/tweet_video/FZ5gylsXwAE4MbW.mp4" + } + ] + }, + "media_results": { + "result": { + "media_key": "16_1557788943344713729" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/chirp?ref=o…", + "expanded_url": "https://developer.twitter.com/en/chirp?ref=os-tw-&utm_source=tw&utm_medium=os&utm_campaign=chirp-registration", + "url": "https://t.co/UqXK2jsVyn", + "indices": [ + 227, + 250 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/aZfdSg7Iiu", + "expanded_url": "https://x.com/TwitterDev/status/1557788977842765827/photo/1", + "ext_alt_text": "Register to attend the #Chirp Developer Conference", + "id_str": "1557788943344713729", + "indices": [ + 251, + 274 + ], + "media_key": "16_1557788943344713729", + "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/FZ5gylsXwAE4MbW.jpg", + "type": "animated_gif", + "url": "https://t.co/aZfdSg7Iiu", + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "variants": [ + { + "bitrate": 0, + "content_type": "video/mp4", + "url": "https://video.twimg.com/tweet_video/FZ5gylsXwAE4MbW.mp4" + } + ] + }, + "media_results": { + "result": { + "media_key": "16_1557788943344713729" + } + } + } + ] + }, + "favorite_count": 21, + "favorited": false, + "full_text": "📣 There is only ONE DAY LEFT to register to attend the #Chirp Developer Conference in person! \n\nGet your applications in by 11:59pm PT on Friday, August 12, so you don’t miss out on your chance to attend. 📅👀\n\nRegister here ⤵️ \nhttps://t.co/UqXK2jsVyn https://t.co/aZfdSg7Iiu", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 2, + "retweet_count": 9, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1557788977842765827" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1553093010686197762", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1553093010686197762", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1553093010686197762" + ], + "editable_until_msecs": "1659123003000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Fri Jul 29 19:00:03 +0000 2022", + "conversation_id_str": "1553093010686197762", + "display_text_range": [ + 0, + 269 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 96, + 102 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/Y2mpGsdFUY", + "expanded_url": "https://x.com/TwitterDev/status/1553093010686197762/photo/1", + "id_str": "1553093007368413189", + "indices": [ + 270, + 293 + ], + "media_key": "3_1553093007368413189", + "media_url_https": "https://pbs.twimg.com/media/FY2x3I9WYAUOp8_.jpg", + "type": "photo", + "url": "https://t.co/Y2mpGsdFUY", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "medium": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "small": { + "faces": [ + { + "x": 508, + "y": 14, + "h": 36, + "w": 36 + }, + { + "x": 37, + "y": 302, + "h": 34, + "w": 34 + } + ] + }, + "orig": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 497, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 535, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 653, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1553093007368413189" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/chirp?ref=o…", + "expanded_url": "https://developer.twitter.com/en/chirp?ref=os-tw-&utm_source=tw&utm_medium=os&utm_campaign=chirp-registration", + "url": "https://t.co/UqXK2jsVyn", + "indices": [ + 246, + 269 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/Y2mpGsdFUY", + "expanded_url": "https://x.com/TwitterDev/status/1553093010686197762/photo/1", + "id_str": "1553093007368413189", + "indices": [ + 270, + 293 + ], + "media_key": "3_1553093007368413189", + "media_url_https": "https://pbs.twimg.com/media/FY2x3I9WYAUOp8_.jpg", + "type": "photo", + "url": "https://t.co/Y2mpGsdFUY", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "medium": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + }, + "small": { + "faces": [ + { + "x": 508, + "y": 14, + "h": 36, + "w": 36 + }, + { + "x": 37, + "y": 302, + "h": 34, + "w": 34 + } + ] + }, + "orig": { + "faces": [ + { + "x": 898, + "y": 25, + "h": 64, + "w": 64 + }, + { + "x": 67, + "y": 534, + "h": 60, + "w": 60 + } + ] + } + }, + "sizes": { + "large": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 627, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 355, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 627, + "width": 1200, + "focus_rects": [ + { + "x": 80, + "y": 0, + "w": 1120, + "h": 627 + }, + { + "x": 497, + "y": 0, + "w": 627, + "h": 627 + }, + { + "x": 535, + "y": 0, + "w": 550, + "h": 627 + }, + { + "x": 653, + "y": 0, + "w": 314, + "h": 627 + }, + { + "x": 0, + "y": 0, + "w": 1200, + "h": 627 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1553093007368413189" + } + } + } + ] + }, + "favorite_count": 32, + "favorited": false, + "full_text": "⏳Time is running out! Apply before Aug. 12th to join the Twitter Developer Platform Team at the #Chirp Developer Conference!\n\nExperience the surprises we have in store, and don’t miss out on being a part of this special event. 🤩\n\nRegister here 👇 https://t.co/UqXK2jsVyn https://t.co/Y2mpGsdFUY", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 6, + "retweet_count": 7, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1553093010686197762" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1553047818222321664", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1553047818222321664", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1553047818222321664" + ], + "editable_until_msecs": "1659112228000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Fri Jul 29 16:00:28 +0000 2022", + "conversation_id_str": "1553047818222321664", + "display_text_range": [ + 0, + 277 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/t7bihTjFKa", + "expanded_url": "https://x.com/TwitterDev/status/1553047818222321664/video/1", + "id_str": "1553047720616755201", + "indices": [ + 278, + 301 + ], + "media_key": "13_1553047720616755201", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1553047720616755201/img/Jx9Ct1JtGqD-iNdx.jpg", + "type": "video", + "url": "https://t.co/t7bihTjFKa", + "additional_media_info": { + "title": "twitter-x-charm-part-2.mp4", + "description": "", + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 674, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 674, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 674, + "width": 1200, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 600, + 337 + ], + "duration_millis": 9000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/pl/9heU4bsyRnFv3tGi.m3u8?tag=14" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/vid/480x270/_UdmpvgMHq400yCI.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/vid/640x360/0YVBJh6AHLOA_K6p.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/vid/1200x674/-DZJt3TX0rg_i7YM.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1553047720616755201" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1mrxm…", + "expanded_url": "https://x.com/i/spaces/1mrxmayRyrQxy", + "url": "https://t.co/FhuHA6Wbip", + "indices": [ + 254, + 277 + ] + } + ], + "user_mentions": [ + { + "id_str": "978291813244178444", + "name": "JZ", + "screen_name": "jzmusings", + "indices": [ + 74, + 84 + ] + }, + { + "id_str": "243839699", + "name": "Ayman Bagabas", + "screen_name": "aymanbagabas", + "indices": [ + 86, + 99 + ] + }, + { + "id_str": "2935481702", + "name": "Maas Lalani", + "screen_name": "maaslalani", + "indices": [ + 101, + 112 + ] + }, + { + "id_str": "1203143241652166657", + "name": "Charm", + "screen_name": "charmcli", + "indices": [ + 118, + 127 + ] + }, + { + "id_str": "15772978", + "name": "Jessica Garson", + "screen_name": "jessicagarson", + "indices": [ + 129, + 143 + ] + }, + { + "id_str": "1324848235714736129", + "name": "Alan Lee", + "screen_name": "alanbenlee", + "indices": [ + 145, + 156 + ] + }, + { + "id_str": "38906681", + "name": "Jamie Maguire | MVP in AI", + "screen_name": "jamie_maguire1", + "indices": [ + 193, + 208 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/t7bihTjFKa", + "expanded_url": "https://x.com/TwitterDev/status/1553047818222321664/video/1", + "id_str": "1553047720616755201", + "indices": [ + 278, + 301 + ], + "media_key": "13_1553047720616755201", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1553047720616755201/img/Jx9Ct1JtGqD-iNdx.jpg", + "type": "video", + "url": "https://t.co/t7bihTjFKa", + "additional_media_info": { + "title": "twitter-x-charm-part-2.mp4", + "description": "", + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 674, + "w": 1200, + "resize": "fit" + }, + "medium": { + "h": 674, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 382, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 674, + "width": 1200, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 600, + 337 + ], + "duration_millis": 9000, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/pl/9heU4bsyRnFv3tGi.m3u8?tag=14" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/vid/480x270/_UdmpvgMHq400yCI.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/vid/640x360/0YVBJh6AHLOA_K6p.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1553047720616755201/vid/1200x674/-DZJt3TX0rg_i7YM.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1553047720616755201" + } + } + } + ] + }, + "favorite_count": 59, + "favorited": false, + "full_text": "Tune into our Space to discover the best in developer tooling. 👀⚙️ \n\nJoin @jzmusings, @aymanbagabas, @maaslalani from @charmcli; @jessicagarson, @alanbenlee from @twitterdev; and special guest @jamie_maguire1 on Tuesday, August 2 | 9am PT / 12pm ET.\n\n⬇️\nhttps://t.co/FhuHA6Wbip https://t.co/t7bihTjFKa", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 2, + "retweet_count": 17, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1553047818222321664" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1547588069661949959", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1547588069661949959", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1547588069661949959" + ], + "editable_until_msecs": "1657810523000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Thu Jul 14 14:25:23 +0000 2022", + "conversation_id_str": "1547588038032732160", + "display_text_range": [ + 0, + 280 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/8VuQRkd3sc", + "expanded_url": "https://x.com/TwitterDev/status/1547588069661949959/photo/1", + "id_str": "1547588059742347264", + "indices": [ + 281, + 304 + ], + "media_key": "3_1547588059742347264", + "media_url_https": "https://pbs.twimg.com/media/FXojJA-UIAAHKJp.jpg", + "type": "photo", + "url": "https://t.co/8VuQRkd3sc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1075 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 162, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1080 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1547588059742347264" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "indexologyblog.com/2022/07/13/doe…", + "expanded_url": "https://www.indexologyblog.com/2022/07/13/does-the-wisdom-of-the-crowd-hold-for-the-sp-500-twitter-sentiment-indices/", + "url": "https://t.co/TCMc5eSYmw", + "indices": [ + 257, + 280 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/8VuQRkd3sc", + "expanded_url": "https://x.com/TwitterDev/status/1547588069661949959/photo/1", + "id_str": "1547588059742347264", + "indices": [ + 281, + 304 + ], + "media_key": "3_1547588059742347264", + "media_url_https": "https://pbs.twimg.com/media/FXojJA-UIAAHKJp.jpg", + "type": "photo", + "url": "https://t.co/8VuQRkd3sc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1075 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 162, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1080 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1547588059742347264" + } + } + } + ] + }, + "favorite_count": 16, + "favorited": false, + "full_text": "We also saw positive relative performance when comparing the S&P 500 Twitter Sentiment Select Equal Weight Index against the S&P 500 Equal Weight Index.\n\nRelative performance: \nQ1-22: ⬆173 bps\nQ2-22: ⬆27 bps\nSince Dec 31, 2021: ⬆174 bps\n\nDetails ⤵️\nhttps://t.co/TCMc5eSYmw https://t.co/8VuQRkd3sc", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1547588055514488833", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 1, + "retweet_count": 5, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1547588069661949959" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1547588055514488833", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1547588055514488833", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1547588055514488833" + ], + "editable_until_msecs": "1657810519000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Thu Jul 14 14:25:19 +0000 2022", + "conversation_id_str": "1547588038032732160", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/8x6LdRmDnu", + "expanded_url": "https://x.com/TwitterDev/status/1547588055514488833/photo/1", + "id_str": "1547588045209186313", + "indices": [ + 279, + 302 + ], + "media_key": "3_1547588045209186313", + "media_url_https": "https://pbs.twimg.com/media/FXojIK1VsAkcPAW.jpg", + "type": "photo", + "url": "https://t.co/8x6LdRmDnu", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1075 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 55, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 258, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1080 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1547588045209186313" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/8x6LdRmDnu", + "expanded_url": "https://x.com/TwitterDev/status/1547588055514488833/photo/1", + "id_str": "1547588045209186313", + "indices": [ + 279, + 302 + ], + "media_key": "3_1547588045209186313", + "media_url_https": "https://pbs.twimg.com/media/FXojIK1VsAkcPAW.jpg", + "type": "photo", + "url": "https://t.co/8x6LdRmDnu", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [ + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1075 + }, + { + "x": 0, + "y": 0, + "w": 1080, + "h": 1080 + }, + { + "x": 55, + "y": 0, + "w": 947, + "h": 1080 + }, + { + "x": 258, + "y": 0, + "w": 540, + "h": 1080 + }, + { + "x": 0, + "y": 0, + "w": 1920, + "h": 1080 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1547588045209186313" + } + } + } + ] + }, + "favorite_count": 10, + "favorited": false, + "full_text": "The stock market had its most challenging start in more than 60 years, with the S&P 500 declining by 19.96%. The S&P 500 Twitter Sentiment Index declined by 18.78% during that same period.\n\nRelative performance:\nQ1-22: ⬆72 bps\nQ2-22: ⬆61 bps\nSince Dec 31, 2021: ⬆118 bps https://t.co/8x6LdRmDnu", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1547588038032732160", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 1, + "retweet_count": 3, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1547588055514488833" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1547588038032732160", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1547588038032732160", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1547588038032732160" + ], + "editable_until_msecs": "1657810515000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Thu Jul 14 14:25:15 +0000 2022", + "conversation_id_str": "1547588038032732160", + "display_text_range": [ + 0, + 270 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/Ix3NSypH76", + "expanded_url": "https://x.com/TwitterDev/status/1547588038032732160/video/1", + "id_str": "1547585167237136391", + "indices": [ + 271, + 294 + ], + "media_key": "13_1547585167237136391", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1547585167237136391/img/1LG7CnYno_id1cRP.jpg", + "type": "video", + "url": "https://t.co/Ix3NSypH76", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 45033, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/pl/m0c_NAtIos3ezvB5.m3u8?tag=14" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/vid/480x270/PjhN_Uj_pzzfIdtK.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/vid/640x360/Gl7ceklyDXMvkyIf.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/vid/1280x720/xfZRvZkwIH19Wlp1.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1547585167237136391" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/Ix3NSypH76", + "expanded_url": "https://x.com/TwitterDev/status/1547588038032732160/video/1", + "id_str": "1547585167237136391", + "indices": [ + 271, + 294 + ], + "media_key": "13_1547585167237136391", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1547585167237136391/img/1LG7CnYno_id1cRP.jpg", + "type": "video", + "url": "https://t.co/Ix3NSypH76", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 1080, + "w": 1920, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1080, + "width": 1920, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 45033, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/pl/m0c_NAtIos3ezvB5.m3u8?tag=14" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/vid/480x270/PjhN_Uj_pzzfIdtK.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/vid/640x360/Gl7ceklyDXMvkyIf.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1547585167237136391/vid/1280x720/xfZRvZkwIH19Wlp1.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1547585167237136391" + } + } + } + ] + }, + "favorite_count": 37, + "favorited": false, + "full_text": "📈 Last year, we partnered with S&P Dow Jones Indices to launch a series of stock indices powered by Twitter data, tracking the most positively-talked about companies in the S&P 500.\n\nThese indices again outperformed their benchmarks by 61 bps and 27 bps in Q2. 🧵 https://t.co/Ix3NSypH76", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 5, + "reply_count": 5, + "retweet_count": 9, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1547588038032732160" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1547039584202067969", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1547039584202067969", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1547039584202067969" + ], + "editable_until_msecs": "1657679754000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Wed Jul 13 02:05:54 +0000 2022", + "conversation_id_str": "1547039584202067969", + "display_text_range": [ + 0, + 267 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 219, + 225 + ], + "text": "Chirp" + } + ], + "media": [ + { + "display_url": "pic.x.com/ofGVvSU736", + "expanded_url": "https://x.com/TwitterDev/status/1547039584202067969/photo/1", + "id_str": "1547039534558302208", + "indices": [ + 268, + 291 + ], + "media_key": "16_1547039534558302208", + "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/FXgwQpbVUAA2vnh.jpg", + "type": "animated_gif", + "url": "https://t.co/ofGVvSU736", + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "variants": [ + { + "bitrate": 0, + "content_type": "video/mp4", + "url": "https://video.twimg.com/tweet_video/FXgwQpbVUAA2vnh.mp4" + } + ] + }, + "media_results": { + "result": { + "media_key": "16_1547039534558302208" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "developer.twitter.com/en/chirp?ref=o…", + "expanded_url": "https://developer.twitter.com/en/chirp?ref=os-tw-chirp-2022-organic-social&utm_source=tw&utm_medium=os&utm_campaign=chirp-2022-organic-social", + "url": "https://t.co/AMENQKRZcd", + "indices": [ + 244, + 267 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/ofGVvSU736", + "expanded_url": "https://x.com/TwitterDev/status/1547039584202067969/photo/1", + "id_str": "1547039534558302208", + "indices": [ + 268, + 291 + ], + "media_key": "16_1547039534558302208", + "media_url_https": "https://pbs.twimg.com/tweet_video_thumb/FXgwQpbVUAA2vnh.jpg", + "type": "animated_gif", + "url": "https://t.co/ofGVvSU736", + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "variants": [ + { + "bitrate": 0, + "content_type": "video/mp4", + "url": "https://video.twimg.com/tweet_video/FXgwQpbVUAA2vnh.mp4" + } + ] + }, + "media_results": { + "result": { + "media_key": "16_1547039534558302208" + } + } + } + ] + }, + "favorite_count": 33, + "favorited": false, + "full_text": "Registration for Chirp is now open! 🎉 Join us on Nov. 16 in San Francisco and online to celebrate our developer community and connect with the Twitter Developer Platform Team. This is an event you don’t want to miss. 👀 #Chirp\n\nRegister here ➡️ https://t.co/AMENQKRZcd https://t.co/ofGVvSU736", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 2, + "reply_count": 2, + "retweet_count": 8, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1547039584202067969" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + }, + { + "entryId": "profile-grid-0-tweet-1546615344780914688", + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1546615344780914688", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1546615344780914688" + ], + "editable_until_msecs": "1657578607000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://twitter.com\" rel=\"nofollow\">TweetDeck Web App</a>", + "legacy": { + "bookmark_count": 4, + "bookmarked": false, + "created_at": "Mon Jul 11 22:00:07 +0000 2022", + "conversation_id_str": "1546615344780914688", + "display_text_range": [ + 0, + 273 + ], + "entities": { + "hashtags": [ + { + "indices": [ + 210, + 231 + ], + "text": "WelcomeToOurTechTalk" + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "youtu.be/lyDOU6OzFUs?re…", + "expanded_url": "https://youtu.be/lyDOU6OzFUs?ref=os-tw-devs-in-the-details&utm_source=tw&utm_medium=os&utm_campaign=devs-in-the-details", + "url": "https://t.co/UYGLlcIAZY", + "indices": [ + 250, + 273 + ] + } + ], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 106, + 118 + ] + } + ] + }, + "favorite_count": 34, + "favorited": false, + "full_text": "If you’re curious about building with Tweepy v2, check out the second episode of Devs in the Details. 🎥 \n\n@suhemparack shows how to migrate from Tweepy v1.1 to v2 and the different functionalities of the APIs. #WelcomeToOurTechTalk\n\nWatch it here ⬇️\nhttps://t.co/UYGLlcIAZY", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 1, + "retweet_count": 9, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1546615344780914688" + } + } + }, + "tweetDisplayType": "MediaGrid" + } + } + } + ], + "displayType": "VerticalGrid", + "clientEventInfo": { + "component": "profile-media" + } + } + }, + { + "entryId": "cursor-top-1897829046318792705", + "sortIndex": "1897829046318792705", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxdmZAJxEKAAIVdq52NdWwAAgAAwAAAAEAAA", + "cursorType": "Top" + } + }, + { + "entryId": "cursor-bottom-1897829046318792703", + "sortIndex": "1897829046318792703", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxdmY___0KAAIVdq52NdWwAAgAAwAAAAIAAA", + "cursorType": "Bottom" + } + } + ] + } + ], + "metadata": { + "scribeConfig": { + "page": "media" + } + } + } + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_user_tweets.json b/apps/twscrape/tests/mocked-data/raw_user_tweets.json new file mode 100644 index 0000000..6ec7cae --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_user_tweets.json @@ -0,0 +1,9561 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "timeline_v2": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelinePinEntry", + "entry": { + "entryId": "tweet-1851463451929186504", + "sortIndex": "1897829034247585792", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1851463451929186504", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1851463451929186504" + ], + "editable_until_msecs": "1730261860000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1990473", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4NTE0NjM0NTE4NDUzMTI1MTI=", + "text": "We are changing our Self Serve X API with new pricing options and limits. Below are the highlights. 🎉\n\n~ Launching Annual Subscriptions: available at discounted rates!\n\n~ Basic: will increase from $100 to $200 monthly with higher limits and new endpoints\n\n~ Free: Introducing experimental Read access! \n\n~ Top-Ups: Basic and Pro will have limited top-ups\n\n~ Emergency & Public Utility Apps: will have 2x higher access levels for free ⚡️", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [ + { + "from_index": 104, + "to_index": 137, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 170, + "to_index": 178, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 257, + "to_index": 264, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 305, + "to_index": 315, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 357, + "to_index": 391, + "richtext_types": [ + "Bold" + ] + } + ] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 372, + "bookmarked": false, + "created_at": "Wed Oct 30 03:17:40 +0000 2024", + "conversation_id_str": "1851463451929186504", + "display_text_range": [ + 0, + 275 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 4161, + "favorited": false, + "full_text": "We are changing our Self Serve X API with new pricing options and limits. Below are the highlights. 🎉\n\n~ Launching Annual Subscriptions: available at discounted rates!\n\n~ Basic: will increase from $100 to $200 monthly with higher limits and new endpoints\n\n~ Free: Introducing", + "is_quote_status": false, + "lang": "en", + "quote_count": 224, + "reply_count": 1097, + "retweet_count": 897, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1851463451929186504" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet", + "socialContext": { + "type": "TimelineGeneralContext", + "contextType": "Pin", + "text": "Pinned" + } + }, + "clientEventInfo": { + "component": "pinned_tweets", + "element": "tweet" + } + } + } + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1897362060448801025", + "sortIndex": "1897829034247585791", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897362060448801025", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/olz9uRJi6I", + "legacy": { + "binding_values": [ + { + "key": "broadcast_url", + "value": { + "string_value": "https://twitter.com/i/broadcasts/1yoKMoQbjlXJQ", + "type": "STRING" + } + }, + { + "key": "broadcast_width", + "value": { + "string_value": "1920", + "type": "STRING" + } + }, + { + "key": "broadcast_state", + "value": { + "string_value": "ENDED", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "2244994945", + "path": [] + } + } + }, + { + "key": "broadcast_title", + "value": { + "string_value": "Getting started with the new Media Upload endpoint in X API v2", + "type": "STRING" + } + }, + { + "key": "broadcast_source", + "value": { + "string_value": "Producer", + "type": "STRING" + } + }, + { + "key": "broadcast_orientation", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "broadcast_id", + "value": { + "string_value": "1yoKMoQbjlXJQ", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_twitter_id", + "value": { + "string_value": "2244994945", + "type": "STRING" + } + }, + { + "key": "broadcast_height", + "value": { + "string_value": "1080", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_original", + "value": { + "image_value": { + "height": 1080, + "width": 1920, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_username", + "value": { + "string_value": "XDevelopers", + "type": "STRING" + } + }, + { + "key": "broadcast_media_key", + "value": { + "string_value": "28_1897362057726713856", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_x_large", + "value": { + "image_value": { + "height": 1080, + "width": 1920, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_display_name", + "value": { + "string_value": "Developers", + "type": "STRING" + } + }, + { + "key": "broadcast_is_high_latency", + "value": { + "boolean_value": true, + "type": "BOOLEAN" + } + }, + { + "key": "broadcast_thumbnail", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcast_thumbnail_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 46, + "green": 50, + "red": 59 + }, + "percentage": 43.61 + }, + { + "rgb": { + "blue": 192, + "green": 188, + "red": 180 + }, + "percentage": 24.0 + }, + { + "rgb": { + "blue": 62, + "green": 96, + "red": 125 + }, + "percentage": 8.19 + }, + { + "rgb": { + "blue": 137, + "green": 135, + "red": 170 + }, + "percentage": 6.97 + }, + { + "rgb": { + "blue": 126, + "green": 157, + "red": 158 + }, + "percentage": 3.66 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "broadcast_media_id", + "value": { + "string_value": "1897362057726713856", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/olz9uRJi6I", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "745291183405076480:broadcast", + "url": "https://t.co/olz9uRJi6I", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897362060448801025" + ], + "editable_until_msecs": "1741204941000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "7461", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://periscope.tv\" rel=\"nofollow\">Periscope</a>", + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Wed Mar 05 19:02:21 +0000 2025", + "conversation_id_str": "1897362060448801025", + "display_text_range": [ + 0, + 86 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/broadcasts/1…", + "expanded_url": "https://x.com/i/broadcasts/1yoKMoQbjlXJQ", + "url": "https://t.co/olz9uRJi6I", + "indices": [ + 63, + 86 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 58, + "favorited": false, + "full_text": "Getting started with the new Media Upload endpoint in X API v2 https://t.co/olz9uRJi6I", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 12, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897362060448801025" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1897349232258130236", + "sortIndex": "1897829034247585790", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897349232258130236", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897349232258130236" + ], + "editable_until_msecs": "1741201882671", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Mar 05 18:11:22 +0000 2025", + "conversation_id_str": "1897349232258130236", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2533341854", + "name": "Chris Park", + "screen_name": "chrisparkX", + "indices": [ + 3, + 14 + ] + }, + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 25, + 37 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @chrisparkX: Join our @XDevelopers livestream!\n\nThis will be a relaunch for a series of API updates, how to guides, and developer spotli…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/5nVO0QHuBe", + "expanded": "https://twitter.com/xdevelopers/status/1896984310282088640", + "display": "x.com/xdevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897349232258130236", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897348926325596236", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTMzMzQxODU0", + "rest_id": "2533341854", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu May 29 20:24:26 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "𝕏 | @X @API @XDevelopers", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 25642, + "followers_count": 11707, + "friends_count": 1175, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 133, + "location": "New York, NY", + "media_count": 206, + "name": "Chris Park", + "normal_followers_count": 11707, + "pinned_tweet_ids_str": [ + "1866979874197606606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2533341854/1638372155", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1770195415729569792/wUEX1LCO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "chrisparkX", + "statuses_count": 1585, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897348926325596236" + ], + "editable_until_msecs": "1741201809000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "12187", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + } + } + }, + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Wed Mar 05 18:10:09 +0000 2025", + "conversation_id_str": "1897348926325596236", + "display_text_range": [ + 0, + 149 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 9, + 21 + ] + } + ] + }, + "favorite_count": 114, + "favorited": false, + "full_text": "Join our @XDevelopers livestream!\n\nThis will be a relaunch for a series of API updates, how to guides, and developer spotlights within our ecosystem.", + "is_quote_status": true, + "lang": "en", + "quote_count": 2, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/5nVO0QHuBe", + "expanded": "https://twitter.com/xdevelopers/status/1896984310282088640", + "display": "x.com/xdevelopers/st…" + }, + "reply_count": 30, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "2533341854", + "id_str": "1897348926325596236" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1897003179319173310", + "sortIndex": "1897829034247585789", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897003179319173310", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897003179319173310" + ], + "editable_until_msecs": "1741119377221", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Mar 04 19:16:17 +0000 2025", + "conversation_id_str": "1897003179319173310", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: The legacy Media Upload v1.1 endpoints are planned to be deprecated on March 31st for self serve developers.\n\nDevs that bu…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/nXKJbPSpdj", + "expanded": "https://twitter.com/XDevelopers/status/1896984310282088640", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 24, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897003179319173310", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896986294867386751", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896986294867386751" + ], + "editable_until_msecs": "1741115351000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "21747", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + } + } + }, + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:09:11 +0000 2025", + "conversation_id_str": "1896986294867386751", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 72, + "favorited": false, + "full_text": "The legacy Media Upload v1.1 endpoints are planned to be deprecated on March 31st for self serve developers.\n\nDevs that build emergency services apps that post images, videos to X via our API 📢 Join us tomorrow to learn how you can migrate to the new media endpoints in X API v2", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/nXKJbPSpdj", + "expanded": "https://twitter.com/XDevelopers/status/1896984310282088640", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 9, + "retweet_count": 24, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1896986294867386751" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1896984310282088640", + "sortIndex": "1897829034247585788", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "who-to-follow-1897829034247585797", + "sortIndex": "1897829034247585787", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "who-to-follow-1897829034247585797-user-31311757", + "item": { + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMTMxMTc1Nw==", + "rest_id": "31311757", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Apr 15 02:29:52 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "celebrating 20 years of exploring the world together 🎈", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "goo.gle/downloadgoogle…", + "expanded_url": "http://goo.gle/downloadgooglemaps", + "url": "https://t.co/1d3SYotPC0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3367, + "followers_count": 4439014, + "friends_count": 59, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 16434, + "location": "", + "media_count": 3029, + "name": "Google Maps", + "normal_followers_count": 4439014, + "pinned_tweet_ids_str": [ + "1852052482501021758" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/31311757/1635803694", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1455292284958695424/SP3GFrPA_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "googlemaps", + "statuses_count": 146719, + "translator_type": "none", + "url": "https://t.co/1d3SYotPC0", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "element": "user", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgAB7rZ/DMXbN9gKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + }, + { + "entryId": "who-to-follow-1897829034247585797-user-1373647114350129156", + "item": { + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMzczNjQ3MTE0MzUwMTI5MTU2", + "rest_id": "1373647114350129156", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Mar 21 14:46:22 +0000 2021", + "default_profile": true, + "default_profile_image": false, + "description": "Fictional Character. Deep crypto since 2013.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "t.me/+q3Ancyuc4_djN…", + "expanded_url": "https://t.me/+q3Ancyuc4_djNDM8", + "url": "https://t.co/BWopqCir42", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 12038, + "followers_count": 6504, + "friends_count": 100, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "Sky", + "media_count": 1068, + "name": "Crypto Hanuman", + "normal_followers_count": 6504, + "pinned_tweet_ids_str": [ + "1701228358250459313" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1373647114350129156/1706369375", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1402103279123718146/iPAhfbqq_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "crypto_hanuman", + "statuses_count": 8411, + "translator_type": "none", + "url": "https://t.co/BWopqCir42", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1591742664059154433", + "professional_type": "Creator", + "category": [ + { + "id": 934, + "name": "Social Media Influencer", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "element": "user", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgAB7rZ/DMXbN9gKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + }, + { + "entryId": "who-to-follow-1897829034247585797-user-3167734591", + "item": { + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMTY3NzM0NTkx", + "rest_id": "3167734591", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Apr 22 16:53:09 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Visual Studio Code with GitHub Copilot supercharges your code with AI-powered suggestions, right in your editor", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "code.visualstudio.com", + "expanded_url": "https://code.visualstudio.com", + "url": "https://t.co/HQDNY75DqR", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3511, + "followers_count": 735042, + "friends_count": 136, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6827, + "location": "Redmond, WA, USA", + "media_count": 1483, + "name": "Visual Studio Code", + "normal_followers_count": 735042, + "pinned_tweet_ids_str": [ + "1897353152682205493" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3167734591/1650389790", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1545098208556097536/rKXaODLl_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "code", + "statuses_count": 7423, + "translator_type": "none", + "url": "https://t.co/HQDNY75DqR", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "element": "user", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgAB7rZ/DMXbN9gKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + } + ], + "displayType": "Vertical", + "header": { + "displayType": "Classic", + "text": "Who to follow", + "sticky": false + }, + "footer": { + "displayType": "Classic", + "text": "Show more", + "landingUrl": { + "url": "twitter://connect_people?user_id=2244994945&display_location=profile_wtf_showmore", + "urlType": "DeepLink" + } + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgAB7rZ/DMXbN9gKAAIAAAAAAAAAAAAIAAIAAACDCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1894833407177179561", + "sortIndex": "1897829034247585786", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894833407177179561", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/76y0ZC66Y7", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "domain", + "value": { + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 2453, + "width": 2400, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 2048, + "width": 2004, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 0, + "green": 0, + "red": 0 + }, + "percentage": 24.36 + }, + { + "rgb": { + "blue": 105, + "green": 105, + "red": 105 + }, + "percentage": 0.73 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Deprecating the v1.1 media upload endpoints", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/76y0ZC66Y7", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/76y0ZC66Y7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894833407177179561" + ], + "editable_until_msecs": "1740602063230", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Feb 26 19:34:23 +0000 2025", + "conversation_id_str": "1894833407177179561", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: If you use the X API for posting media to X, pls start migrating to the new media upload endpoints v2. We plan to deprecat…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 104, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1894833407177179561", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894825460812714330", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "card": { + "rest_id": "https://t.co/76y0ZC66Y7", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "domain", + "value": { + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 2453, + "width": 2400, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 2048, + "width": 2004, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 0, + "green": 0, + "red": 0 + }, + "percentage": 24.36 + }, + { + "rgb": { + "blue": 105, + "green": 105, + "red": 105 + }, + "percentage": 0.73 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Deprecating the v1.1 media upload endpoints", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/76y0ZC66Y7", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/76y0ZC66Y7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894825460812714330" + ], + "editable_until_msecs": "1740600168000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "26767", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 23, + "bookmarked": false, + "created_at": "Wed Feb 26 19:02:48 +0000 2025", + "conversation_id_str": "1894825460812714330", + "display_text_range": [ + 0, + 248 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "devcommunity.x.com/t/deprecating-…", + "expanded_url": "https://devcommunity.x.com/t/deprecating-the-v1-1-media-upload-endpoints/238196/3", + "url": "https://t.co/76y0ZC66Y7", + "indices": [ + 225, + 248 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 115, + "favorited": false, + "full_text": "If you use the X API for posting media to X, pls start migrating to the new media upload endpoints v2. We plan to deprecate the legacy v1.1 media upload endpoints for self serve developers by March 31st 2025. Learn more here👇https://t.co/76y0ZC66Y7", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 6, + "reply_count": 9, + "retweet_count": 104, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1894825460812714330" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1894435360899272865", + "sortIndex": "1897829034247585785", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894435360899272865", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894435360899272865" + ], + "editable_until_msecs": "1740507161602", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Feb 25 17:12:41 +0000 2025", + "conversation_id_str": "1894435360899272865", + "display_text_range": [ + 0, + 97 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2347355456", + "name": "Tapan Shah", + "screen_name": "tapshah21", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @tapshah21: Fetching media within quote posts or reposts is now supported in the same API call", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1894426290406773113", + "quoted_status_permalink": { + "url": "https://t.co/cm1E3XyPXW", + "expanded": "https://twitter.com/suhemparack/status/1894426290406773113", + "display": "x.com/suhemparack/st…" + }, + "reply_count": 0, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1894435360899272865", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894434752687649206", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzQ3MzU1NDU2", + "rest_id": "2347355456", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Feb 16 19:45:39 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "Engineer", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1176, + "followers_count": 1145, + "friends_count": 145, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 26, + "location": "", + "media_count": 18, + "name": "Tapan Shah", + "normal_followers_count": 1145, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1218374938081423360/1_vIFGMS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "tapshah21", + "statuses_count": 261, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1854600268467286411", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": false + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894434752687649206" + ], + "editable_until_msecs": "1740507016000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "16388", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894426290406773113", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894426290406773113" + ], + "editable_until_msecs": "1740504999000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "28973", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "article": { + "article_results": { + "result": { + "rest_id": "1894418741058048000", + "id": "QXJ0aWNsZUVudGl0eToxODk0NDE4NzQxMDU4MDQ4MDAw", + "title": "Getting data for Posts with media using the X API v2", + "preview_text": "The Problem\nIn the X API v2, whenever a Post was a repost or quote of a post that contained images, videos etc., the lookup or search endpoints did not return the information for the media in the", + "lifecycle_state": { + "modified_at_secs": 1740501398 + }, + "metadata": { + "first_published_at_secs": 1740501398 + } + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Tue Feb 25 16:36:39 +0000 2025", + "conversation_id_str": "1894426290406773113", + "display_text_range": [ + 0, + 23 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1894…", + "expanded_url": "http://x.com/i/article/1894418741058048000", + "url": "https://t.co/FA3MDjNt1x", + "indices": [ + 0, + 23 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 37, + "favorited": false, + "full_text": "https://t.co/FA3MDjNt1x", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 3, + "retweet_count": 68, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1894426290406773113" + } + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Tue Feb 25 17:10:16 +0000 2025", + "conversation_id_str": "1894434752687649206", + "display_text_range": [ + 0, + 82 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 34, + "favorited": false, + "full_text": "Fetching media within quote posts or reposts is now supported in the same API call", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1894426290406773113", + "quoted_status_permalink": { + "url": "https://t.co/cm1E3XyPXW", + "expanded": "https://twitter.com/suhemparack/status/1894426290406773113", + "display": "x.com/suhemparack/st…" + }, + "reply_count": 6, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "2347355456", + "id_str": "1894434752687649206" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1894434982669537568", + "sortIndex": "1897829034247585784", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894434982669537568", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894434982669537568" + ], + "editable_until_msecs": "1740507071425", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Feb 25 17:11:11 +0000 2025", + "conversation_id_str": "1894434982669537568", + "display_text_range": [ + 0, + 40 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1894…", + "expanded_url": "http://x.com/i/article/1894418741058048000", + "url": "https://t.co/FA3MDjNt1x", + "indices": [ + 17, + 40 + ] + } + ], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: https://t.co/FA3MDjNt1x", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 68, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1894434982669537568", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894426290406773113", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894426290406773113" + ], + "editable_until_msecs": "1740504999000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "28973", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "article": { + "article_results": { + "result": { + "rest_id": "1894418741058048000", + "id": "QXJ0aWNsZUVudGl0eToxODk0NDE4NzQxMDU4MDQ4MDAw", + "title": "Getting data for Posts with media using the X API v2", + "preview_text": "The Problem\nIn the X API v2, whenever a Post was a repost or quote of a post that contained images, videos etc., the lookup or search endpoints did not return the information for the media in the", + "lifecycle_state": { + "modified_at_secs": 1740501398 + }, + "metadata": { + "first_published_at_secs": 1740501398 + } + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Tue Feb 25 16:36:39 +0000 2025", + "conversation_id_str": "1894426290406773113", + "display_text_range": [ + 0, + 23 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1894…", + "expanded_url": "http://x.com/i/article/1894418741058048000", + "url": "https://t.co/FA3MDjNt1x", + "indices": [ + 0, + 23 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 37, + "favorited": false, + "full_text": "https://t.co/FA3MDjNt1x", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 3, + "retweet_count": 68, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1894426290406773113" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1893104982120911252", + "sortIndex": "1897829034247585783", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1893104982120911252", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1893104982120911252" + ], + "editable_until_msecs": "1740189974584", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Sat Feb 22 01:06:14 +0000 2025", + "conversation_id_str": "1893104982120911252", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "251592845", + "name": "Sid Rao", + "screen_name": "sidgrao", + "indices": [ + 3, + 11 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @sidgrao: Starting to roll out Grok powered X Ads interface.\n\nGrok can now create beautiful ads, analyze your campaign performance, and…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 134, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1893104982120911252", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1893042818437755340", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTE1OTI4NDU=", + "rest_id": "251592845", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 13 13:11:52 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Ads @ X", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12717, + "followers_count": 5302, + "friends_count": 533, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 49, + "location": "San Francisco", + "media_count": 3, + "name": "Sid Rao", + "normal_followers_count": 5302, + "pinned_tweet_ids_str": [ + "1893042818437755340" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/747256199142215682/9dmNjRDQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "sidgrao", + "statuses_count": 57, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1605307111604228097", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1893042818437755340" + ], + "editable_until_msecs": "1740175153000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "226755", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 89, + "bookmarked": false, + "created_at": "Fri Feb 21 20:59:13 +0000 2025", + "conversation_id_str": "1893042818437755340", + "display_text_range": [ + 0, + 226 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/b58x8FgjW3", + "expanded_url": "https://x.com/sidgrao/status/1893042818437755340/photo/1", + "id_str": "1893042651655467008", + "indices": [ + 227, + 250 + ], + "media_key": "3_1893042651655467008", + "media_url_https": "https://pbs.twimg.com/media/GkVwQwyWcAAjC9U.png", + "type": "photo", + "url": "https://t.co/b58x8FgjW3", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1066, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 624, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 354, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1308, + "width": 2514, + "focus_rects": [ + { + "x": 89, + "y": 0, + "w": 2336, + "h": 1308 + }, + { + "x": 603, + "y": 0, + "w": 1308, + "h": 1308 + }, + { + "x": 684, + "y": 0, + "w": 1147, + "h": 1308 + }, + { + "x": 930, + "y": 0, + "w": 654, + "h": 1308 + }, + { + "x": 0, + "y": 0, + "w": 2514, + "h": 1308 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1893042651655467008" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/b58x8FgjW3", + "expanded_url": "https://x.com/sidgrao/status/1893042818437755340/photo/1", + "id_str": "1893042651655467008", + "indices": [ + 227, + 250 + ], + "media_key": "3_1893042651655467008", + "media_url_https": "https://pbs.twimg.com/media/GkVwQwyWcAAjC9U.png", + "type": "photo", + "url": "https://t.co/b58x8FgjW3", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1066, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 624, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 354, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1308, + "width": 2514, + "focus_rects": [ + { + "x": 89, + "y": 0, + "w": 2336, + "h": 1308 + }, + { + "x": 603, + "y": 0, + "w": 1308, + "h": 1308 + }, + { + "x": 684, + "y": 0, + "w": 1147, + "h": 1308 + }, + { + "x": 930, + "y": 0, + "w": 654, + "h": 1308 + }, + { + "x": 0, + "y": 0, + "w": 2514, + "h": 1308 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1893042651655467008" + } + } + } + ] + }, + "favorite_count": 640, + "favorited": false, + "full_text": "Starting to roll out Grok powered X Ads interface.\n\nGrok can now create beautiful ads, analyze your campaign performance, and recommend improvements, all within your X ads interface.\n\nRolling out to all SMBs using X ads today! https://t.co/b58x8FgjW3", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 29, + "reply_count": 52, + "retweet_count": 134, + "retweeted": false, + "user_id_str": "251592845", + "id_str": "1893042818437755340" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829034247585802", + "sortIndex": "1897829034247585782", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-conversation-1897829034247585802-tweet-1887669545998929945", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887669545998929945", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887669545998929945" + ], + "editable_until_msecs": "1738894065000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "41053", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 24, + "bookmarked": false, + "created_at": "Fri Feb 07 01:07:45 +0000 2025", + "conversation_id_str": "1887669545998929945", + "display_text_range": [ + 0, + 277 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 248, + "favorited": false, + "full_text": "X API feature updates! \n\nWe’ve launched three new endpoints for Media Upload X API v2! \n\n• Metadata Create: Add additional metadata to media uploads. \n• Subtitles Create: Associate subtitles with your video uploads.\n• Subtitles Delete: Remove / delete subtitles from a video", + "is_quote_status": false, + "lang": "en", + "quote_count": 5, + "reply_count": 40, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887669545998929945" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829034247585802-tweet-1887669548213559307", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887669548213559307", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887669548213559307" + ], + "editable_until_msecs": "1738894066000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "41531", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 31, + "bookmarked": false, + "created_at": "Fri Feb 07 01:07:46 +0000 2025", + "conversation_id_str": "1887669545998929945", + "display_text_range": [ + 0, + 229 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 117, + "favorited": false, + "full_text": "Separately, we’ve also added a new subscription user field! \n\nUsing this field, creators are now able to programmatically identify which users are subscribed to them! Developers can now build more solutions catered to their subs.", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1887669545998929945", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 4, + "reply_count": 10, + "retweet_count": 17, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887669548213559307" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829034247585802-tweet-1887669550063169671", + "dispensable": false, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887669550063169671", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/INS0eFHRF7", + "legacy": { + "binding_values": [ + { + "key": "description", + "value": { + "string_value": "MetadataCreate", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Metadata Create - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/INS0eFHRF7", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/INS0eFHRF7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887669550063169671" + ], + "editable_until_msecs": "1738894066000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "21149", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Fri Feb 07 01:07:46 +0000 2025", + "conversation_id_str": "1887669545998929945", + "display_text_range": [ + 0, + 262 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com/x-api/media/me…", + "expanded_url": "https://docs.x.com/x-api/media/media-metadata-create", + "url": "https://t.co/INS0eFHRF7", + "indices": [ + 71, + 94 + ] + }, + { + "display_url": "docs.x.com/x-api/media/me…", + "expanded_url": "https://docs.x.com/x-api/media/media-subtitles-create", + "url": "https://t.co/nkb3ltLSIK", + "indices": [ + 128, + 151 + ] + }, + { + "display_url": "docs.x.com/x-api/media/me…", + "expanded_url": "https://docs.x.com/x-api/media/media-subtitles-delete", + "url": "https://t.co/oeU9jC4x5S", + "indices": [ + 185, + 208 + ] + }, + { + "display_url": "docs.x.com/x-api/fundamen…", + "expanded_url": "https://docs.x.com/x-api/fundamentals/data-dictionary#user", + "url": "https://t.co/o63fMBsZCW", + "indices": [ + 239, + 262 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 50, + "favorited": false, + "full_text": "To cook and learn more, see below. ⬇️ \n\nPOST /2/media/metadata/create: https://t.co/INS0eFHRF7\n\nPOST /2/media/subtitles/create:\nhttps://t.co/nkb3ltLSIK\n\nPOST /2/media/subtitles/delete:\nhttps://t.co/oeU9jC4x5S\n\nNEW subscription user field:\nhttps://t.co/o63fMBsZCW", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1887669548213559307", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 10, + "retweet_count": 15, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887669550063169671" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1887669545998929945", + "1887669548213559307", + "1887669550063169671" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_ranked_organic_tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1880421090566210031", + "sortIndex": "1897829034247585781", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1880421090566210031", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1880421090566210031" + ], + "editable_until_msecs": "1737165899000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "48580", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1877581125608153389", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5NTczMTA3NQ==", + "rest_id": "95731075", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Dec 09 21:00:57 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Providing the latest safety tools, resources, and updates from X.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "help.x.com", + "expanded_url": "http://help.x.com", + "url": "https://t.co/YQ0rgq2Q9t", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 180, + "followers_count": 3692387, + "friends_count": 133, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8239, + "location": "X HQ", + "media_count": 160, + "name": "Safety", + "normal_followers_count": 3692387, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/95731075/1690214538", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683507906891718658/ZS9jJfar_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Safety", + "statuses_count": 1604, + "translator_type": "regular", + "url": "https://t.co/YQ0rgq2Q9t", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1877581125608153389" + ], + "editable_until_msecs": "1736488798000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "13536100", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4Nzc1ODExMjUzMjcxMzg4MTY=", + "text": "We’re rolling out profile labels for parody accounts to clearly distinguish these types of accounts and their content on our platform. We designed these labels to increase transparency and to ensure that users are not deceived into thinking such accounts belong to the entity being parodied. Parody labels will be applied to both posts and accounts on X to clearly demonstrate the source of the content you’re seeing. We’ll share details soon on when the label will become mandatory for parody accounts.\n\nThese accounts, like all accounts on X, must still adhere to the X Rules - particularly our Authenticity policy: https://t.co/I9vOTG0qPW. If you believe an account is inauthentic or impersonating an entity, you can report the account in-app or via our Help Center.", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "help.x.com/rules-and-poli…", + "expanded_url": "https://help.x.com/rules-and-policies/authenticity", + "url": "https://t.co/I9vOTG0qPW", + "indices": [ + 618, + 641 + ] + } + ], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 919, + "bookmarked": false, + "created_at": "Fri Jan 10 04:59:58 +0000 2025", + "conversation_id_str": "1877581125608153389", + "display_text_range": [ + 0, + 275 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 10853, + "favorited": false, + "full_text": "We’re rolling out profile labels for parody accounts to clearly distinguish these types of accounts and their content on our platform. We designed these labels to increase transparency and to ensure that users are not deceived into thinking such accounts belong to the entity", + "is_quote_status": false, + "lang": "en", + "quote_count": 1046, + "reply_count": 1582, + "retweet_count": 2048, + "retweeted": false, + "user_id_str": "95731075", + "id_str": "1877581125608153389" + } + } + }, + "legacy": { + "bookmark_count": 12, + "bookmarked": false, + "created_at": "Sat Jan 18 01:04:59 +0000 2025", + "conversation_id_str": "1880421090566210031", + "display_text_range": [ + 0, + 123 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 249, + "favorited": false, + "full_text": "X API now includes a new user field: parody\n\nThis is consistent with our new X Safety profile labels for parody accounts. 🚢", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1877581125608153389", + "quoted_status_permalink": { + "url": "https://t.co/f6KKBbuuGj", + "expanded": "https://twitter.com/Safety/status/1877581125608153389", + "display": "x.com/Safety/status/…" + }, + "reply_count": 46, + "retweet_count": 83, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1880421090566210031" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1880044127066419699", + "sortIndex": "1897829034247585780", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1880044127066419699", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/fp3ViNtoJL", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "We are excited to share that developers can now upload media to X using the X API v2! You can upload images or videos using the POST https://api.x.com/2/media/upload endpoint and attach the media to...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 2453, + "width": 2400, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 2048, + "width": 2004, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 0, + "green": 0, + "red": 0 + }, + "percentage": 24.36 + }, + { + "rgb": { + "blue": 105, + "green": 105, + "red": 105 + }, + "percentage": 0.73 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Announcing media upload endpoints in the X API v2", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/fp3ViNtoJL", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/fp3ViNtoJL", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1880044127066419699" + ], + "editable_until_msecs": "1737076024000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "59401", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 18, + "bookmarked": false, + "created_at": "Fri Jan 17 00:07:04 +0000 2025", + "conversation_id_str": "1880044127066419699", + "display_text_range": [ + 0, + 110 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "devcommunity.x.com/t/announcing-m…", + "expanded_url": "https://devcommunity.x.com/t/announcing-media-upload-endpoints-in-the-x-api-v2/234175", + "url": "https://t.co/fp3ViNtoJL", + "indices": [ + 87, + 110 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 189, + "favorited": false, + "full_text": "We are excited to share that developers can now upload media to X using the X API v2! 🎥https://t.co/fp3ViNtoJL", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 16, + "reply_count": 28, + "retweet_count": 59, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1880044127066419699" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1879649572877947103", + "sortIndex": "1897829034247585779", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1879649572877947103", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1879649572877947103" + ], + "editable_until_msecs": "1736981955031", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Jan 15 21:59:15 +0000 2025", + "conversation_id_str": "1879649572877947103", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "http://docs.x.com", + "url": "https://t.co/1iW3GmcUuz", + "indices": [ + 98, + 121 + ] + } + ], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + }, + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 63, + 75 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: We put in a lot of time and love into our new @XDevelopers API docs! Pls try out https://t.co/1iW3GmcUuz and share any fee…", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/oYYZGv156d", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 32, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1879649572877947103", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1879604743364137278", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1879604743364137278" + ], + "editable_until_msecs": "1736971266000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "33789", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878890234336903268", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/NrcvlSq9PU", + "legacy": { + "binding_values": [ + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Home - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/NrcvlSq9PU", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/NrcvlSq9PU", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878890234336903268" + ], + "editable_until_msecs": "1736800914000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "149694", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 86, + "bookmarked": false, + "created_at": "Mon Jan 13 19:41:54 +0000 2025", + "conversation_id_str": "1878890234336903268", + "display_text_range": [ + 0, + 176 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com", + "url": "https://t.co/NrcvlSq9PU", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 325, + "favorited": false, + "full_text": "Introducing new X Developer Platform docs! 📄✨ \n\nThis update includes updated API reference pages and an interactive API playground. \n\nCheck it out now 👇\nhttps://t.co/NrcvlSq9PU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 23, + "reply_count": 49, + "retweet_count": 60, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878890234336903268" + } + } + }, + "legacy": { + "bookmark_count": 10, + "bookmarked": false, + "created_at": "Wed Jan 15 19:01:06 +0000 2025", + "conversation_id_str": "1879604743364137278", + "display_text_range": [ + 0, + 157 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/VswckO3fKD", + "expanded_url": "https://x.com/suhemparack/status/1879604743364137278/video/1", + "id_str": "1879602564989337600", + "indices": [ + 158, + 181 + ], + "media_key": "7_1879602564989337600", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1879602564989337600/pu/img/WgPWpNYJ1SZcUx_s.jpg", + "type": "video", + "url": "https://t.co/VswckO3fKD", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 740, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 694, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 393, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 740, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 64, + 37 + ], + "duration_millis": 9217, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/pl/qHtVDa9zURaI68Qz.m3u8?tag=12" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/466x270/UX2dCASTI09vImBJ.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/622x360/p_0zkp1o47ZjHHbT.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/1244x720/e3p0XMT6jjO8ZoW-.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1879602564989337600" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "http://docs.x.com", + "url": "https://t.co/1iW3GmcUuz", + "indices": [ + 81, + 104 + ] + } + ], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 46, + 58 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/VswckO3fKD", + "expanded_url": "https://x.com/suhemparack/status/1879604743364137278/video/1", + "id_str": "1879602564989337600", + "indices": [ + 158, + 181 + ], + "media_key": "7_1879602564989337600", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1879602564989337600/pu/img/WgPWpNYJ1SZcUx_s.jpg", + "type": "video", + "url": "https://t.co/VswckO3fKD", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 740, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 694, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 393, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 740, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 64, + 37 + ], + "duration_millis": 9217, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/pl/qHtVDa9zURaI68Qz.m3u8?tag=12" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/466x270/UX2dCASTI09vImBJ.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/622x360/p_0zkp1o47ZjHHbT.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/1244x720/e3p0XMT6jjO8ZoW-.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1879602564989337600" + } + } + } + ] + }, + "favorite_count": 104, + "favorited": false, + "full_text": "We put in a lot of time and love into our new @XDevelopers API docs! Pls try out https://t.co/1iW3GmcUuz and share any feedback on improvements we can make 🙏 https://t.co/VswckO3fKD", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/oYYZGv156d", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 11, + "retweet_count": 32, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1879604743364137278" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1878896870048899454", + "sortIndex": "1897829034247585778", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1878896870048899454", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878896870048899454" + ], + "editable_until_msecs": "1736802496692", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jan 13 20:08:16 +0000 2025", + "conversation_id_str": "1878896870048899454", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2533341854", + "name": "Chris Park", + "screen_name": "chrisparkX", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @chrisparkX: New X Developer docs! 🔥\n\nOn top of introducing net new high value APIs this year, a core priority is to enhance the overall…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/Jx6FS2z69A", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 48, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878896870048899454", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878893441708650643", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTMzMzQxODU0", + "rest_id": "2533341854", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu May 29 20:24:26 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "𝕏 | @X @API @XDevelopers", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 25642, + "followers_count": 11707, + "friends_count": 1175, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 133, + "location": "New York, NY", + "media_count": 206, + "name": "Chris Park", + "normal_followers_count": 11707, + "pinned_tweet_ids_str": [ + "1866979874197606606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2533341854/1638372155", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1770195415729569792/wUEX1LCO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "chrisparkX", + "statuses_count": 1585, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878893441708650643" + ], + "editable_until_msecs": "1736801679000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "44954", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878890234336903268", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/NrcvlSq9PU", + "legacy": { + "binding_values": [ + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Home - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/NrcvlSq9PU", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/NrcvlSq9PU", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878890234336903268" + ], + "editable_until_msecs": "1736800914000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "149694", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 86, + "bookmarked": false, + "created_at": "Mon Jan 13 19:41:54 +0000 2025", + "conversation_id_str": "1878890234336903268", + "display_text_range": [ + 0, + 176 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com", + "url": "https://t.co/NrcvlSq9PU", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 325, + "favorited": false, + "full_text": "Introducing new X Developer Platform docs! 📄✨ \n\nThis update includes updated API reference pages and an interactive API playground. \n\nCheck it out now 👇\nhttps://t.co/NrcvlSq9PU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 23, + "reply_count": 49, + "retweet_count": 60, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878890234336903268" + } + } + }, + "legacy": { + "bookmark_count": 9, + "bookmarked": false, + "created_at": "Mon Jan 13 19:54:39 +0000 2025", + "conversation_id_str": "1878893441708650643", + "display_text_range": [ + 0, + 182 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 190, + "favorited": false, + "full_text": "New X Developer docs! 🔥\n\nOn top of introducing net new high value APIs this year, a core priority is to enhance the overall X API developer experience. \n\nMore updates to follow soon.", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/Jx6FS2z69A", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 24, + "retweet_count": 48, + "retweeted": false, + "user_id_str": "2533341854", + "id_str": "1878893441708650643" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1878896855242899473", + "sortIndex": "1897829034247585777", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1878896855242899473", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878896855242899473" + ], + "editable_until_msecs": "1736802493162", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jan 13 20:08:13 +0000 2025", + "conversation_id_str": "1878896855242899473", + "display_text_range": [ + 0, + 135 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1IazD6ZEWc", + "expanded_url": "https://x.com/suhemparack/status/1878891746349990073/photo/1", + "id_str": "1878891684572102656", + "indices": [ + 112, + 135 + ], + "media_key": "3_1878891684572102656", + "media_url_https": "https://pbs.twimg.com/media/GhMqCEZbAAAXiXT.jpg", + "source_status_id_str": "1878891746349990073", + "source_user_id_str": "857699969263964161", + "type": "photo", + "url": "https://t.co/1IazD6ZEWc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 642, + "w": 1816, + "resize": "fit" + }, + "medium": { + "h": 424, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 240, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 642, + "width": 1816, + "focus_rects": [ + { + "x": 108, + "y": 0, + "w": 1146, + "h": 642 + }, + { + "x": 360, + "y": 0, + "w": 642, + "h": 642 + }, + { + "x": 400, + "y": 0, + "w": 563, + "h": 642 + }, + { + "x": 521, + "y": 0, + "w": 321, + "h": 642 + }, + { + "x": 0, + "y": 0, + "w": 1816, + "h": 642 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1878891684572102656" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/0IMySlZO24", + "indices": [ + 88, + 111 + ] + } + ], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1IazD6ZEWc", + "expanded_url": "https://x.com/suhemparack/status/1878891746349990073/photo/1", + "id_str": "1878891684572102656", + "indices": [ + 112, + 135 + ], + "media_key": "3_1878891684572102656", + "media_url_https": "https://pbs.twimg.com/media/GhMqCEZbAAAXiXT.jpg", + "source_status_id_str": "1878891746349990073", + "source_user_id_str": "857699969263964161", + "type": "photo", + "url": "https://t.co/1IazD6ZEWc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 642, + "w": 1816, + "resize": "fit" + }, + "medium": { + "h": 424, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 240, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 642, + "width": 1816, + "focus_rects": [ + { + "x": 108, + "y": 0, + "w": 1146, + "h": 642 + }, + { + "x": 360, + "y": 0, + "w": 642, + "h": 642 + }, + { + "x": 400, + "y": 0, + "w": 563, + "h": 642 + }, + { + "x": 521, + "y": 0, + "w": 321, + "h": 642 + }, + { + "x": 0, + "y": 0, + "w": 1816, + "h": 642 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1878891684572102656" + } + } + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: Excited about the new API docs refresh for the X API. Check it out now https://t.co/0IMySlZO24 https://t.co/1IazD6ZEWc", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/oYYZGv156d", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 16, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878896855242899473", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878891746349990073", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878891746349990073" + ], + "editable_until_msecs": "1736801275000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "20759", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878890234336903268", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/NrcvlSq9PU", + "legacy": { + "binding_values": [ + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Home - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/NrcvlSq9PU", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/NrcvlSq9PU", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878890234336903268" + ], + "editable_until_msecs": "1736800914000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "149694", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 86, + "bookmarked": false, + "created_at": "Mon Jan 13 19:41:54 +0000 2025", + "conversation_id_str": "1878890234336903268", + "display_text_range": [ + 0, + 176 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com", + "url": "https://t.co/NrcvlSq9PU", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 325, + "favorited": false, + "full_text": "Introducing new X Developer Platform docs! 📄✨ \n\nThis update includes updated API reference pages and an interactive API playground. \n\nCheck it out now 👇\nhttps://t.co/NrcvlSq9PU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 23, + "reply_count": 49, + "retweet_count": 60, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878890234336903268" + } + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Mon Jan 13 19:47:55 +0000 2025", + "conversation_id_str": "1878891746349990073", + "display_text_range": [ + 0, + 94 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1IazD6ZEWc", + "expanded_url": "https://x.com/suhemparack/status/1878891746349990073/photo/1", + "id_str": "1878891684572102656", + "indices": [ + 95, + 118 + ], + "media_key": "3_1878891684572102656", + "media_url_https": "https://pbs.twimg.com/media/GhMqCEZbAAAXiXT.jpg", + "type": "photo", + "url": "https://t.co/1IazD6ZEWc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 642, + "w": 1816, + "resize": "fit" + }, + "medium": { + "h": 424, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 240, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 642, + "width": 1816, + "focus_rects": [ + { + "x": 108, + "y": 0, + "w": 1146, + "h": 642 + }, + { + "x": 360, + "y": 0, + "w": 642, + "h": 642 + }, + { + "x": 400, + "y": 0, + "w": 563, + "h": 642 + }, + { + "x": 521, + "y": 0, + "w": 321, + "h": 642 + }, + { + "x": 0, + "y": 0, + "w": 1816, + "h": 642 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1878891684572102656" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/0IMySlZO24", + "indices": [ + 71, + 94 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1IazD6ZEWc", + "expanded_url": "https://x.com/suhemparack/status/1878891746349990073/photo/1", + "id_str": "1878891684572102656", + "indices": [ + 95, + 118 + ], + "media_key": "3_1878891684572102656", + "media_url_https": "https://pbs.twimg.com/media/GhMqCEZbAAAXiXT.jpg", + "type": "photo", + "url": "https://t.co/1IazD6ZEWc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 642, + "w": 1816, + "resize": "fit" + }, + "medium": { + "h": 424, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 240, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 642, + "width": 1816, + "focus_rects": [ + { + "x": 108, + "y": 0, + "w": 1146, + "h": 642 + }, + { + "x": 360, + "y": 0, + "w": 642, + "h": 642 + }, + { + "x": 400, + "y": 0, + "w": 563, + "h": 642 + }, + { + "x": 521, + "y": 0, + "w": 321, + "h": 642 + }, + { + "x": 0, + "y": 0, + "w": 1816, + "h": 642 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1878891684572102656" + } + } + } + ] + }, + "favorite_count": 47, + "favorited": false, + "full_text": "Excited about the new API docs refresh for the X API. Check it out now https://t.co/0IMySlZO24 https://t.co/1IazD6ZEWc", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/oYYZGv156d", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 6, + "retweet_count": 16, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1878891746349990073" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1878890234336903268", + "sortIndex": "1897829034247585776", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1878890234336903268", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/NrcvlSq9PU", + "legacy": { + "binding_values": [ + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Home - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/NrcvlSq9PU", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/NrcvlSq9PU", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878890234336903268" + ], + "editable_until_msecs": "1736800914000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "149694", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 86, + "bookmarked": false, + "created_at": "Mon Jan 13 19:41:54 +0000 2025", + "conversation_id_str": "1878890234336903268", + "display_text_range": [ + 0, + 176 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com", + "url": "https://t.co/NrcvlSq9PU", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 325, + "favorited": false, + "full_text": "Introducing new X Developer Platform docs! 📄✨ \n\nThis update includes updated API reference pages and an interactive API playground. \n\nCheck it out now 👇\nhttps://t.co/NrcvlSq9PU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 23, + "reply_count": 49, + "retweet_count": 60, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878890234336903268" + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1876372100816240777", + "sortIndex": "1897829034247585775", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1876372100816240777", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1876372100816240777" + ], + "editable_until_msecs": "1736200544799", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jan 06 20:55:44 +0000 2025", + "conversation_id_str": "1876372100816240777", + "display_text_range": [ + 0, + 84 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1mnmfDzuKz", + "expanded_url": "https://x.com/santiagomedr/status/1876366000586944663/video/1", + "id_str": "1876365871935078400", + "indices": [ + 61, + 84 + ], + "media_key": "13_1876365871935078400", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1876365871935078400/img/j4JGz2jyAi9LvptW.jpg", + "source_status_id_str": "1876366000586944663", + "source_user_id_str": "1215441834412953600", + "type": "video", + "url": "https://t.co/1mnmfDzuKz", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjE1NDQxODM0NDEyOTUzNjAw", + "rest_id": "1215441834412953600", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Jan 10 01:15:04 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "eng @X, the everything app | prev @microsoft | 🇨🇴", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "santiagomed.com", + "expanded_url": "https://santiagomed.com", + "url": "https://t.co/ilDuwJsnx5", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 701, + "followers_count": 997, + "friends_count": 273, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 17, + "location": "San Francisco, CA", + "media_count": 27, + "name": "Santiago", + "normal_followers_count": 997, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1215441834412953600/1596865864", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1706721276356898816/0X6pdGpZ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "santiagomedr", + "statuses_count": 196, + "translator_type": "none", + "url": "https://t.co/ilDuwJsnx5", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1792676157906911360", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + } + } + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": false + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 599385, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/pl/yrD6CY79hLtDvEsv.m3u8?tag=14&v=c44" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/480x270/vaKKIYZdieQ4uXJi.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/640x360/-xFfiWIVz-hnlUMl.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/1280x720/MuUnJDSbRy3J1CMM.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1876365871935078400" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "1215441834412953600", + "name": "Santiago", + "screen_name": "santiagomedr", + "indices": [ + 3, + 16 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1mnmfDzuKz", + "expanded_url": "https://x.com/santiagomedr/status/1876366000586944663/video/1", + "id_str": "1876365871935078400", + "indices": [ + 61, + 84 + ], + "media_key": "13_1876365871935078400", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1876365871935078400/img/j4JGz2jyAi9LvptW.jpg", + "source_status_id_str": "1876366000586944663", + "source_user_id_str": "1215441834412953600", + "type": "video", + "url": "https://t.co/1mnmfDzuKz", + "additional_media_info": { + "monetizable": false, + "source_user": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjE1NDQxODM0NDEyOTUzNjAw", + "rest_id": "1215441834412953600", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Jan 10 01:15:04 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "eng @X, the everything app | prev @microsoft | 🇨🇴", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "santiagomed.com", + "expanded_url": "https://santiagomed.com", + "url": "https://t.co/ilDuwJsnx5", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 701, + "followers_count": 997, + "friends_count": 273, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 17, + "location": "San Francisco, CA", + "media_count": 27, + "name": "Santiago", + "normal_followers_count": 997, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1215441834412953600/1596865864", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1706721276356898816/0X6pdGpZ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "santiagomedr", + "statuses_count": 196, + "translator_type": "none", + "url": "https://t.co/ilDuwJsnx5", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1792676157906911360", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + } + } + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": false + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 599385, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/pl/yrD6CY79hLtDvEsv.m3u8?tag=14&v=c44" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/480x270/vaKKIYZdieQ4uXJi.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/640x360/-xFfiWIVz-hnlUMl.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/1280x720/MuUnJDSbRy3J1CMM.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1876365871935078400" + } + } + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @santiagomedr: I just uploaded a video with the X API v2. https://t.co/1mnmfDzuKz", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1876372100816240777", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1876366000586944663", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjE1NDQxODM0NDEyOTUzNjAw", + "rest_id": "1215441834412953600", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Jan 10 01:15:04 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "eng @X, the everything app | prev @microsoft | 🇨🇴", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "santiagomed.com", + "expanded_url": "https://santiagomed.com", + "url": "https://t.co/ilDuwJsnx5", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 701, + "followers_count": 997, + "friends_count": 273, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 17, + "location": "San Francisco, CA", + "media_count": 27, + "name": "Santiago", + "normal_followers_count": 997, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1215441834412953600/1596865864", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1706721276356898816/0X6pdGpZ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "santiagomedr", + "statuses_count": 196, + "translator_type": "none", + "url": "https://t.co/ilDuwJsnx5", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1792676157906911360", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1876366000586944663" + ], + "editable_until_msecs": "1736199090000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "27181", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://erased29757421_G3eY5OYN4G.com\" rel=\"nofollow\">erased29757421_G3eY5OYN4G</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Mon Jan 06 20:31:30 +0000 2025", + "conversation_id_str": "1876366000586944663", + "display_text_range": [ + 0, + 42 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1mnmfDzuKz", + "expanded_url": "https://x.com/santiagomedr/status/1876366000586944663/video/1", + "id_str": "1876365871935078400", + "indices": [ + 43, + 66 + ], + "media_key": "13_1876365871935078400", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1876365871935078400/img/j4JGz2jyAi9LvptW.jpg", + "type": "video", + "url": "https://t.co/1mnmfDzuKz", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": false + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 599385, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/pl/yrD6CY79hLtDvEsv.m3u8?tag=14&v=c44" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/480x270/vaKKIYZdieQ4uXJi.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/640x360/-xFfiWIVz-hnlUMl.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/1280x720/MuUnJDSbRy3J1CMM.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1876365871935078400" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1mnmfDzuKz", + "expanded_url": "https://x.com/santiagomedr/status/1876366000586944663/video/1", + "id_str": "1876365871935078400", + "indices": [ + 43, + 66 + ], + "media_key": "13_1876365871935078400", + "media_url_https": "https://pbs.twimg.com/amplify_video_thumb/1876365871935078400/img/j4JGz2jyAi9LvptW.jpg", + "type": "video", + "url": "https://t.co/1mnmfDzuKz", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 720, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 675, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 383, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 720, + "width": 1280, + "focus_rects": [] + }, + "allow_download_status": { + "allow_download": false + }, + "video_info": { + "aspect_ratio": [ + 16, + 9 + ], + "duration_millis": 599385, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/pl/yrD6CY79hLtDvEsv.m3u8?tag=14&v=c44" + }, + { + "bitrate": 288000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/480x270/vaKKIYZdieQ4uXJi.mp4?tag=14" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/640x360/-xFfiWIVz-hnlUMl.mp4?tag=14" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/amplify_video/1876365871935078400/vid/avc1/1280x720/MuUnJDSbRy3J1CMM.mp4?tag=14" + } + ] + }, + "media_results": { + "result": { + "media_key": "13_1876365871935078400" + } + } + } + ] + }, + "favorite_count": 102, + "favorited": false, + "full_text": "I just uploaded a video with the X API v2. https://t.co/1mnmfDzuKz", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 18, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "1215441834412953600", + "id_str": "1876366000586944663" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1869548112794276144", + "sortIndex": "1897829034247585774", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1869548112794276144", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1869548112794276144" + ], + "editable_until_msecs": "1734573579271", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Thu Dec 19 00:59:39 +0000 2024", + "conversation_id_str": "1869548112794276144", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "245329874", + "name": "Haofei", + "screen_name": "wanghaofei", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @wanghaofei: One thing to note, this also enables the platform to learn about all user interactions and serve better content to everyone…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1869527834844434877", + "quoted_status_permalink": { + "url": "https://t.co/87wYws1qWU", + "expanded": "https://twitter.com/XEng/status/1869527834844434877", + "display": "x.com/XEng/status/18…" + }, + "reply_count": 0, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1869548112794276144", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1869530874745950392", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNDUzMjk4NzQ=", + "rest_id": "245329874", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Jan 31 12:49:21 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Engineering @ 𝕏", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2348, + "followers_count": 14834, + "friends_count": 331, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 155, + "location": "", + "media_count": 2, + "name": "Haofei", + "normal_followers_count": 14834, + "pinned_tweet_ids_str": [ + "1869530874745950392" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/245329874/1687820980", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1793100196848775168/DNJ5XKwW_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "wanghaofei", + "statuses_count": 432, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1869530874745950392" + ], + "editable_until_msecs": "1734569469000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "60888", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1869527834844434877", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2ODQ0Mjky", + "rest_id": "6844292", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jun 16 00:14:36 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Updates from our engineering team", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 306, + "followers_count": 1469993, + "friends_count": 3, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5008, + "location": "San Francisco", + "media_count": 68, + "name": "Engineering", + "normal_followers_count": 1469993, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6844292/1690213191", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683502255574593536/anU7i4uA_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XEng", + "statuses_count": 991, + "translator_type": "regular", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "initial_tweet_id": "1869527198765555879", + "edit_control_initial": { + "edit_tweet_ids": [ + "1869527198765555879", + "1869527834844434877" + ], + "editable_until_msecs": "1734568592000", + "is_edit_eligible": false, + "edits_remaining": "4" + } + }, + "previous_counts": { + "bookmark_count": 3, + "favorite_count": 56, + "quote_count": 5, + "reply_count": 9, + "retweet_count": 7 + }, + "is_translatable": false, + "views": { + "count": "5321300", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4Njk1Mjc4MzQ3NjQ3MTM5ODQ=", + "text": "Today we completed roll out of a new home timeline ranking model to make posts you see more relevant.\n\n- 10x user and post embedding parameters\n- 5x faster realtime training parameter updates\n- 3x training compute\n\nFollow here for updates as we continue to scale core recommendation systems in pursuit of unregretted user seconds.", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 809, + "bookmarked": false, + "created_at": "Wed Dec 18 23:39:04 +0000 2024", + "conversation_id_str": "1869527834844434877", + "display_text_range": [ + 0, + 267 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 7373, + "favorited": false, + "full_text": "Today we completed roll out of a new home timeline ranking model to make posts you see more relevant.\n\n- 10x user and post embedding parameters\n- 5x faster realtime training parameter updates\n- 3x training compute\n\nFollow here for updates as we continue to scale core", + "is_quote_status": false, + "lang": "en", + "quote_count": 352, + "reply_count": 1063, + "retweet_count": 804, + "retweeted": false, + "user_id_str": "6844292", + "id_str": "1869527834844434877" + } + } + }, + "legacy": { + "bookmark_count": 11, + "bookmarked": false, + "created_at": "Wed Dec 18 23:51:09 +0000 2024", + "conversation_id_str": "1869530874745950392", + "display_text_range": [ + 0, + 147 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 202, + "favorited": false, + "full_text": "One thing to note, this also enables the platform to learn about all user interactions and serve better content to everyone with almost zero delay.", + "is_quote_status": true, + "lang": "en", + "quote_count": 2, + "quoted_status_id_str": "1869527834844434877", + "quoted_status_permalink": { + "url": "https://t.co/87wYws1qWU", + "expanded": "https://twitter.com/XEng/status/1869527834844434877", + "display": "x.com/XEng/status/18…" + }, + "reply_count": 39, + "retweet_count": 26, + "retweeted": false, + "user_id_str": "245329874", + "id_str": "1869530874745950392" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1869491259380838678", + "sortIndex": "1897829034247585773", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1869491259380838678", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1869491259380838678" + ], + "editable_until_msecs": "1734560024361", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://aaa-webhook-staging.gnip.com\" rel=\"nofollow\">AAAGniptoXMigrationApp</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Dec 18 21:13:44 +0000 2024", + "conversation_id_str": "1869491259380838678", + "display_text_range": [ + 0, + 38 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1869…", + "expanded_url": "http://x.com/i/article/1869215663413141504", + "url": "https://t.co/mYdONXQ7BI", + "indices": [ + 15, + 38 + ] + } + ], + "user_mentions": [ + { + "id_str": "2347355456", + "name": "Tapan Shah", + "screen_name": "tapshah21", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @tapshah21: https://t.co/mYdONXQ7BI", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1869491259380838678", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1869224866227851749", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzQ3MzU1NDU2", + "rest_id": "2347355456", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Feb 16 19:45:39 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "Engineer", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1176, + "followers_count": 1145, + "friends_count": 145, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 26, + "location": "", + "media_count": 18, + "name": "Tapan Shah", + "normal_followers_count": 1145, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1218374938081423360/1_vIFGMS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "tapshah21", + "statuses_count": 261, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1854600268467286411", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": false + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1869224866227851749" + ], + "editable_until_msecs": "1734496511000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "54922", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "article": { + "article_results": { + "result": { + "rest_id": "1869215663413141504", + "id": "QXJ0aWNsZUVudGl0eToxODY5MjE1NjYzNDEzMTQxNTA0", + "title": "Programmatically fetch bookmark folders and posts within", + "preview_text": "Bookmark folders and posts belonging to a folder can now be fetched programatically on your own or through authorized 3rd party developer apps!\nThe following 2 external API endpoints are now live:\nGET", + "cover_media": { + "id": "QXBpTWVkaWE6DAAFCgABGfDKQXoWAAAKAAIAAAAAi+nNQAAA", + "media_key": "3_1869216227928702976", + "media_id": "1869216227928702976", + "media_info": { + "__typename": "ApiImage", + "original_img_height": 288, + "original_img_width": 720, + "original_img_url": "https://pbs.twimg.com/media/GfDKQXoWAAA17Co.jpg", + "color_info": { + "palette": [ + { + "percentage": 22.67, + "rgb": { + "blue": 64, + "green": 140, + "red": 224 + } + }, + { + "percentage": 11.57, + "rgb": { + "blue": 122, + "green": 158, + "red": 201 + } + }, + { + "percentage": 9.9, + "rgb": { + "blue": 60, + "green": 37, + "red": 50 + } + }, + { + "percentage": 5.7, + "rgb": { + "blue": 52, + "green": 176, + "red": 253 + } + }, + { + "percentage": 5.53, + "rgb": { + "blue": 25, + "green": 90, + "red": 200 + } + } + ] + } + } + }, + "lifecycle_state": { + "modified_at_secs": 1734492911 + }, + "metadata": { + "first_published_at_secs": 1734492911 + } + } + } + }, + "legacy": { + "bookmark_count": 27, + "bookmarked": false, + "created_at": "Wed Dec 18 03:35:11 +0000 2024", + "conversation_id_str": "1869224866227851749", + "display_text_range": [ + 0, + 23 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1869…", + "expanded_url": "http://x.com/i/article/1869215663413141504", + "url": "https://t.co/mYdONXQ7BI", + "indices": [ + 0, + 23 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 106, + "favorited": false, + "full_text": "https://t.co/mYdONXQ7BI", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 17, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "2347355456", + "id_str": "1869224866227851749" + } + } + } + }, + "quick_promote_eligibility": { + "eligibility": "IneligibleNotProfessional" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "cursor-top-1897829034247585793", + "sortIndex": "1897829034247585793", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxc5bAJxEKAAIaVMi9x1qhAQgAAwAAAAEAAA", + "cursorType": "Top" + } + }, + { + "entryId": "cursor-bottom-1897829034247585772", + "sortIndex": "1897829034247585772", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxc5a__-oKAAIZ8cRlOhexFggAAwAAAAIAAA", + "cursorType": "Bottom" + } + } + ] + } + ], + "metadata": { + "scribeConfig": { + "page": "profileBest" + } + } + } + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_user_tweets_and_replies.json b/apps/twscrape/tests/mocked-data/raw_user_tweets_and_replies.json new file mode 100644 index 0000000..4b0071b --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_user_tweets_and_replies.json @@ -0,0 +1,9452 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "timeline_v2": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelinePinEntry", + "entry": { + "entryId": "tweet-1851463451929186504", + "sortIndex": "1897829040857808896", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1851463451929186504", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1851463451929186504" + ], + "editable_until_msecs": "1730261860000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1990473", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4NTE0NjM0NTE4NDUzMTI1MTI=", + "text": "We are changing our Self Serve X API with new pricing options and limits. Below are the highlights. 🎉\n\n~ Launching Annual Subscriptions: available at discounted rates!\n\n~ Basic: will increase from $100 to $200 monthly with higher limits and new endpoints\n\n~ Free: Introducing experimental Read access! \n\n~ Top-Ups: Basic and Pro will have limited top-ups\n\n~ Emergency & Public Utility Apps: will have 2x higher access levels for free ⚡️", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [ + { + "from_index": 104, + "to_index": 137, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 170, + "to_index": 178, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 257, + "to_index": 264, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 305, + "to_index": 315, + "richtext_types": [ + "Bold" + ] + }, + { + "from_index": 357, + "to_index": 391, + "richtext_types": [ + "Bold" + ] + } + ] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 372, + "bookmarked": false, + "created_at": "Wed Oct 30 03:17:40 +0000 2024", + "conversation_id_str": "1851463451929186504", + "display_text_range": [ + 0, + 275 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 4161, + "favorited": false, + "full_text": "We are changing our Self Serve X API with new pricing options and limits. Below are the highlights. 🎉\n\n~ Launching Annual Subscriptions: available at discounted rates!\n\n~ Basic: will increase from $100 to $200 monthly with higher limits and new endpoints\n\n~ Free: Introducing", + "is_quote_status": false, + "lang": "en", + "quote_count": 224, + "reply_count": 1097, + "retweet_count": 897, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1851463451929186504" + } + } + }, + "tweetDisplayType": "Tweet", + "socialContext": { + "type": "TimelineGeneralContext", + "contextType": "Pin", + "text": "Pinned" + } + }, + "clientEventInfo": { + "component": "pinned_tweets", + "element": "tweet" + } + } + } + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "tweet-1897362060448801025", + "sortIndex": "1897829040857808895", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897362060448801025", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/olz9uRJi6I", + "legacy": { + "binding_values": [ + { + "key": "broadcast_url", + "value": { + "string_value": "https://twitter.com/i/broadcasts/1yoKMoQbjlXJQ", + "type": "STRING" + } + }, + { + "key": "broadcast_width", + "value": { + "string_value": "1920", + "type": "STRING" + } + }, + { + "key": "broadcast_state", + "value": { + "string_value": "ENDED", + "type": "STRING" + } + }, + { + "key": "site", + "value": { + "scribe_key": "publisher_id", + "type": "USER", + "user_value": { + "id_str": "2244994945", + "path": [] + } + } + }, + { + "key": "broadcast_title", + "value": { + "string_value": "Getting started with the new Media Upload endpoint in X API v2", + "type": "STRING" + } + }, + { + "key": "broadcast_source", + "value": { + "string_value": "Producer", + "type": "STRING" + } + }, + { + "key": "broadcast_orientation", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "broadcast_id", + "value": { + "string_value": "1yoKMoQbjlXJQ", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_small", + "value": { + "image_value": { + "height": 202, + "width": 386, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=386x202" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_twitter_id", + "value": { + "string_value": "2244994945", + "type": "STRING" + } + }, + { + "key": "broadcast_height", + "value": { + "string_value": "1080", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_original", + "value": { + "image_value": { + "height": 1080, + "width": 1920, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_username", + "value": { + "string_value": "XDevelopers", + "type": "STRING" + } + }, + { + "key": "broadcast_media_key", + "value": { + "string_value": "28_1897362057726713856", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_x_large", + "value": { + "image_value": { + "height": 1080, + "width": 1920, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcaster_display_name", + "value": { + "string_value": "Developers", + "type": "STRING" + } + }, + { + "key": "broadcast_is_high_latency", + "value": { + "boolean_value": true, + "type": "BOOLEAN" + } + }, + { + "key": "broadcast_thumbnail", + "value": { + "image_value": { + "height": 314, + "width": 600, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=600x314" + }, + "type": "IMAGE" + } + }, + { + "key": "broadcast_thumbnail_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 46, + "green": 50, + "red": 59 + }, + "percentage": 43.61 + }, + { + "rgb": { + "blue": 192, + "green": 188, + "red": 180 + }, + "percentage": 24.0 + }, + { + "rgb": { + "blue": 62, + "green": 96, + "red": 125 + }, + "percentage": 8.19 + }, + { + "rgb": { + "blue": 137, + "green": 135, + "red": 170 + }, + "percentage": 6.97 + }, + { + "rgb": { + "blue": 126, + "green": 157, + "red": 158 + }, + "percentage": 3.66 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "broadcast_media_id", + "value": { + "string_value": "1897362057726713856", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/olz9uRJi6I", + "type": "STRING" + } + }, + { + "key": "broadcast_thumbnail_large", + "value": { + "image_value": { + "height": 419, + "width": 800, + "url": "https://pbs.twimg.com/card_img/1897827856568532994/F7elpPjS?format=jpg&name=800x419" + }, + "type": "IMAGE" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "745291183405076480:broadcast", + "url": "https://t.co/olz9uRJi6I", + "user_refs_results": [ + { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + ] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897362060448801025" + ], + "editable_until_msecs": "1741204941000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "7461", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://periscope.tv\" rel=\"nofollow\">Periscope</a>", + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Wed Mar 05 19:02:21 +0000 2025", + "conversation_id_str": "1897362060448801025", + "display_text_range": [ + 0, + 86 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/broadcasts/1…", + "expanded_url": "https://x.com/i/broadcasts/1yoKMoQbjlXJQ", + "url": "https://t.co/olz9uRJi6I", + "indices": [ + 63, + 86 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 58, + "favorited": false, + "full_text": "Getting started with the new Media Upload endpoint in X API v2 https://t.co/olz9uRJi6I", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "reply_count": 12, + "retweet_count": 6, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897362060448801025" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808898", + "sortIndex": "1897829040857808894", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-conversation-1897829040857808898-tweet-1897348926325596236", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897348926325596236", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTMzMzQxODU0", + "rest_id": "2533341854", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu May 29 20:24:26 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "𝕏 | @X @API @XDevelopers", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 25642, + "followers_count": 11707, + "friends_count": 1175, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 133, + "location": "New York, NY", + "media_count": 206, + "name": "Chris Park", + "normal_followers_count": 11707, + "pinned_tweet_ids_str": [ + "1866979874197606606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2533341854/1638372155", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1770195415729569792/wUEX1LCO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "chrisparkX", + "statuses_count": 1585, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897348926325596236" + ], + "editable_until_msecs": "1741201809000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "12187", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + } + } + }, + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Wed Mar 05 18:10:09 +0000 2025", + "conversation_id_str": "1897348926325596236", + "display_text_range": [ + 0, + 149 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 9, + 21 + ] + } + ] + }, + "favorite_count": 114, + "favorited": false, + "full_text": "Join our @XDevelopers livestream!\n\nThis will be a relaunch for a series of API updates, how to guides, and developer spotlights within our ecosystem.", + "is_quote_status": true, + "lang": "en", + "quote_count": 2, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/5nVO0QHuBe", + "expanded": "https://twitter.com/xdevelopers/status/1896984310282088640", + "display": "x.com/xdevelopers/st…" + }, + "reply_count": 30, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "2533341854", + "id_str": "1897348926325596236" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808898-tweet-1897349438802420133", + "dispensable": false, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897349438802420133", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897349438802420133" + ], + "editable_until_msecs": "1741201931000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "312", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Mar 05 18:12:11 +0000 2025", + "conversation_id_str": "1897348926325596236", + "display_text_range": [ + 12, + 13 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2533341854", + "name": "Chris Park", + "screen_name": "chrisparkX", + "indices": [ + 0, + 11 + ] + } + ] + }, + "favorite_count": 10, + "favorited": false, + "full_text": "@chrisparkX 📣", + "in_reply_to_screen_name": "chrisparkX", + "in_reply_to_status_id_str": "1897348926325596236", + "in_reply_to_user_id_str": "2533341854", + "is_quote_status": false, + "lang": "qme", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897349438802420133" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1897348926325596236", + "1897349438802420133" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_ranked_organic_tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1897349232258130236", + "sortIndex": "1897829040857808893", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897349232258130236", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897349232258130236" + ], + "editable_until_msecs": "1741201882671", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Mar 05 18:11:22 +0000 2025", + "conversation_id_str": "1897349232258130236", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2533341854", + "name": "Chris Park", + "screen_name": "chrisparkX", + "indices": [ + 3, + 14 + ] + }, + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 25, + 37 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @chrisparkX: Join our @XDevelopers livestream!\n\nThis will be a relaunch for a series of API updates, how to guides, and developer spotli…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/5nVO0QHuBe", + "expanded": "https://twitter.com/xdevelopers/status/1896984310282088640", + "display": "x.com/xdevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897349232258130236", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1897348926325596236", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTMzMzQxODU0", + "rest_id": "2533341854", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu May 29 20:24:26 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "𝕏 | @X @API @XDevelopers", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 25642, + "followers_count": 11707, + "friends_count": 1175, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 133, + "location": "New York, NY", + "media_count": 206, + "name": "Chris Park", + "normal_followers_count": 11707, + "pinned_tweet_ids_str": [ + "1866979874197606606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2533341854/1638372155", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1770195415729569792/wUEX1LCO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "chrisparkX", + "statuses_count": 1585, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897348926325596236" + ], + "editable_until_msecs": "1741201809000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "12187", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + } + } + }, + "legacy": { + "bookmark_count": 7, + "bookmarked": false, + "created_at": "Wed Mar 05 18:10:09 +0000 2025", + "conversation_id_str": "1897348926325596236", + "display_text_range": [ + 0, + 149 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 9, + 21 + ] + } + ] + }, + "favorite_count": 114, + "favorited": false, + "full_text": "Join our @XDevelopers livestream!\n\nThis will be a relaunch for a series of API updates, how to guides, and developer spotlights within our ecosystem.", + "is_quote_status": true, + "lang": "en", + "quote_count": 2, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/5nVO0QHuBe", + "expanded": "https://twitter.com/xdevelopers/status/1896984310282088640", + "display": "x.com/xdevelopers/st…" + }, + "reply_count": 30, + "retweet_count": 14, + "retweeted": false, + "user_id_str": "2533341854", + "id_str": "1897348926325596236" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808900", + "sortIndex": "1897829040857808892", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-conversation-1897829040857808900-tweet-1896986294867386751", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1896986294867386751", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896986294867386751" + ], + "editable_until_msecs": "1741115351000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "21747", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + } + } + }, + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:09:11 +0000 2025", + "conversation_id_str": "1896986294867386751", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 72, + "favorited": false, + "full_text": "The legacy Media Upload v1.1 endpoints are planned to be deprecated on March 31st for self serve developers.\n\nDevs that build emergency services apps that post images, videos to X via our API 📢 Join us tomorrow to learn how you can migrate to the new media endpoints in X API v2", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/nXKJbPSpdj", + "expanded": "https://twitter.com/XDevelopers/status/1896984310282088640", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 9, + "retweet_count": 24, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1896986294867386751" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808900-tweet-1897003241466110174", + "dispensable": false, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897003241466110174", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897003241466110174" + ], + "editable_until_msecs": "1741119392000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "315", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Mar 04 19:16:32 +0000 2025", + "conversation_id_str": "1896986294867386751", + "display_text_range": [ + 13, + 42 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 6, + "favorited": false, + "full_text": "@suhemparack Going live tomorrow! Join us.", + "in_reply_to_screen_name": "suhemparack", + "in_reply_to_status_id_str": "1896986294867386751", + "in_reply_to_user_id_str": "857699969263964161", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 1, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897003241466110174" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1896986294867386751", + "1897003241466110174" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_ranked_organic_tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "who-to-follow-1897829040857808901", + "sortIndex": "1897829040857808891", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "who-to-follow-1897829040857808901-user-3167734591", + "item": { + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjozMTY3NzM0NTkx", + "rest_id": "3167734591", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Apr 22 16:53:09 +0000 2015", + "default_profile": false, + "default_profile_image": false, + "description": "Visual Studio Code with GitHub Copilot supercharges your code with AI-powered suggestions, right in your editor", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "code.visualstudio.com", + "expanded_url": "https://code.visualstudio.com", + "url": "https://t.co/HQDNY75DqR", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3511, + "followers_count": 735042, + "friends_count": 136, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6827, + "location": "Redmond, WA, USA", + "media_count": 1483, + "name": "Visual Studio Code", + "normal_followers_count": 735042, + "pinned_tweet_ids_str": [ + "1897353152682205493" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/3167734591/1650389790", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1545098208556097536/rKXaODLl_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "code", + "statuses_count": 7423, + "translator_type": "none", + "url": "https://t.co/HQDNY75DqR", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "element": "user", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgABtNFCDaK9UvgKAAIAAAAAAAAAAAAIAAIAAACHCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + }, + { + "entryId": "who-to-follow-1897829040857808901-user-6844292", + "item": { + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo2ODQ0Mjky", + "rest_id": "6844292", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sat Jun 16 00:14:36 +0000 2007", + "default_profile": false, + "default_profile_image": false, + "description": "Updates from our engineering team", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 306, + "followers_count": 1469993, + "friends_count": 3, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 5008, + "location": "San Francisco", + "media_count": 68, + "name": "Engineering", + "normal_followers_count": 1469993, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/6844292/1690213191", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683502255574593536/anU7i4uA_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XEng", + "statuses_count": 991, + "translator_type": "regular", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "element": "user", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgABtNFCDaK9UvgKAAIAAAAAAAAAAAAIAAIAAACHCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + }, + { + "entryId": "who-to-follow-1897829040857808901-user-21612120", + "item": { + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTYxMjEyMA==", + "rest_id": "21612120", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": false, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Sun Feb 22 23:45:44 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "head of marketing @netflixuk. @bafta television committee. @bushtheatre trustee & board member. sometimes tweet about other things. sometimes.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "instagram.com/rajivnathwani", + "expanded_url": "http://www.instagram.com/rajivnathwani", + "url": "https://t.co/b3s2yW4bY0", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 5648, + "followers_count": 3275, + "friends_count": 1247, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 123, + "location": "", + "media_count": 595, + "name": "Rajiv Nathwani", + "normal_followers_count": 3275, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/21612120/1482267324", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1668330200491229214/D4zBI7I5_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "rajivnathwani", + "statuses_count": 10730, + "translator_type": "none", + "url": "https://t.co/b3s2yW4bY0", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "element": "user", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgABtNFCDaK9UvgKAAIAAAAAAAAAAAAIAAIAAACHCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + } + ], + "displayType": "Vertical", + "header": { + "displayType": "Classic", + "text": "Who to follow", + "sticky": false + }, + "footer": { + "displayType": "Classic", + "text": "Show more", + "landingUrl": { + "url": "twitter://connect_people?user_id=2244994945&display_location=profile_wtf_showmore", + "urlType": "DeepLink" + } + }, + "clientEventInfo": { + "component": "suggest_who_to_follow", + "details": { + "timelinesDetails": { + "injectionType": "WhoToFollow", + "controllerData": "DAACDAACDAABCgABAAAAAAAAAAgAAAAA", + "sourceData": "DAABCgABtNFCDaK9UvgKAAIAAAAAAAAAAAAIAAIAAACHCAADAAAAAgwABQwAAgwAAgwAAQoAAQAAAAAAAAAIAAAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1897003179319173310", + "sortIndex": "1897829040857808890", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1897003179319173310", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1897003179319173310" + ], + "editable_until_msecs": "1741119377221", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Mar 04 19:16:17 +0000 2025", + "conversation_id_str": "1897003179319173310", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: The legacy Media Upload v1.1 endpoints are planned to be deprecated on March 31st for self serve developers.\n\nDevs that bu…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/nXKJbPSpdj", + "expanded": "https://twitter.com/XDevelopers/status/1896984310282088640", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 24, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1897003179319173310", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896986294867386751", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896986294867386751" + ], + "editable_until_msecs": "1741115351000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "21747", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + } + } + }, + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:09:11 +0000 2025", + "conversation_id_str": "1896986294867386751", + "display_text_range": [ + 0, + 278 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 72, + "favorited": false, + "full_text": "The legacy Media Upload v1.1 endpoints are planned to be deprecated on March 31st for self serve developers.\n\nDevs that build emergency services apps that post images, videos to X via our API 📢 Join us tomorrow to learn how you can migrate to the new media endpoints in X API v2", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1896984310282088640", + "quoted_status_permalink": { + "url": "https://t.co/nXKJbPSpdj", + "expanded": "https://twitter.com/XDevelopers/status/1896984310282088640", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 9, + "retweet_count": 24, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1896986294867386751" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1896984310282088640", + "sortIndex": "1897829040857808889", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1896984310282088640", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/f3dvb188Ir", + "legacy": { + "binding_values": [ + { + "key": "narrow_cast_space_type", + "value": { + "string_value": "0", + "type": "STRING" + } + }, + { + "key": "id", + "value": { + "string_value": "1YqKDZMkejvJV", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/f3dvb188Ir", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "3691233323:audiospace", + "url": "https://t.co/f3dvb188Ir", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1896984310282088640" + ], + "editable_until_msecs": "1741114878000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "39663", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 6, + "bookmarked": false, + "created_at": "Tue Mar 04 18:01:18 +0000 2025", + "conversation_id_str": "1896984310282088640", + "display_text_range": [ + 0, + 132 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/spaces/1YqKD…", + "expanded_url": "https://x.com/i/spaces/1YqKDZMkejvJV", + "url": "https://t.co/f3dvb188Ir", + "indices": [ + 109, + 132 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 77, + "favorited": false, + "full_text": "Join us tomorrow at 11 am PT to learn how you can migrate to the new Media Upload endpoints in the X API v2 https://t.co/f3dvb188Ir", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 4, + "reply_count": 15, + "retweet_count": 20, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1896984310282088640" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1894833407177179561", + "sortIndex": "1897829040857808888", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894833407177179561", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/76y0ZC66Y7", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "domain", + "value": { + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 2453, + "width": 2400, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 2048, + "width": 2004, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 0, + "green": 0, + "red": 0 + }, + "percentage": 24.36 + }, + { + "rgb": { + "blue": 105, + "green": 105, + "red": 105 + }, + "percentage": 0.73 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Deprecating the v1.1 media upload endpoints", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/76y0ZC66Y7", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/76y0ZC66Y7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894833407177179561" + ], + "editable_until_msecs": "1740602063230", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Feb 26 19:34:23 +0000 2025", + "conversation_id_str": "1894833407177179561", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: If you use the X API for posting media to X, pls start migrating to the new media upload endpoints v2. We plan to deprecat…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 104, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1894833407177179561", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894825460812714330", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "card": { + "rest_id": "https://t.co/76y0ZC66Y7", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "domain", + "value": { + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 2453, + "width": 2400, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 2048, + "width": 2004, + "url": "https://pbs.twimg.com/card_img/1896955220166324224/fFvX9fm-?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 0, + "green": 0, + "red": 0 + }, + "percentage": 24.36 + }, + { + "rgb": { + "blue": 105, + "green": 105, + "red": 105 + }, + "percentage": 0.73 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Deprecating the v1.1 media upload endpoints", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/76y0ZC66Y7", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/76y0ZC66Y7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894825460812714330" + ], + "editable_until_msecs": "1740600168000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "26767", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 23, + "bookmarked": false, + "created_at": "Wed Feb 26 19:02:48 +0000 2025", + "conversation_id_str": "1894825460812714330", + "display_text_range": [ + 0, + 248 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "devcommunity.x.com/t/deprecating-…", + "expanded_url": "https://devcommunity.x.com/t/deprecating-the-v1-1-media-upload-endpoints/238196/3", + "url": "https://t.co/76y0ZC66Y7", + "indices": [ + 225, + 248 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 115, + "favorited": false, + "full_text": "If you use the X API for posting media to X, pls start migrating to the new media upload endpoints v2. We plan to deprecate the legacy v1.1 media upload endpoints for self serve developers by March 31st 2025. Learn more here👇https://t.co/76y0ZC66Y7", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 6, + "reply_count": 9, + "retweet_count": 104, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1894825460812714330" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1894435360899272865", + "sortIndex": "1897829040857808887", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894435360899272865", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894435360899272865" + ], + "editable_until_msecs": "1740507161602", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Feb 25 17:12:41 +0000 2025", + "conversation_id_str": "1894435360899272865", + "display_text_range": [ + 0, + 97 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2347355456", + "name": "Tapan Shah", + "screen_name": "tapshah21", + "indices": [ + 3, + 13 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @tapshah21: Fetching media within quote posts or reposts is now supported in the same API call", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1894426290406773113", + "quoted_status_permalink": { + "url": "https://t.co/cm1E3XyPXW", + "expanded": "https://twitter.com/suhemparack/status/1894426290406773113", + "display": "x.com/suhemparack/st…" + }, + "reply_count": 0, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1894435360899272865", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894434752687649206", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzQ3MzU1NDU2", + "rest_id": "2347355456", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Feb 16 19:45:39 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "Engineer", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 1176, + "followers_count": 1145, + "friends_count": 145, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 26, + "location": "", + "media_count": 18, + "name": "Tapan Shah", + "normal_followers_count": 1145, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1218374938081423360/1_vIFGMS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "tapshah21", + "statuses_count": 261, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1854600268467286411", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": false + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894434752687649206" + ], + "editable_until_msecs": "1740507016000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "16388", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894426290406773113", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894426290406773113" + ], + "editable_until_msecs": "1740504999000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "28973", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "article": { + "article_results": { + "result": { + "rest_id": "1894418741058048000", + "id": "QXJ0aWNsZUVudGl0eToxODk0NDE4NzQxMDU4MDQ4MDAw", + "title": "Getting data for Posts with media using the X API v2", + "preview_text": "The Problem\nIn the X API v2, whenever a Post was a repost or quote of a post that contained images, videos etc., the lookup or search endpoints did not return the information for the media in the", + "lifecycle_state": { + "modified_at_secs": 1740501398 + }, + "metadata": { + "first_published_at_secs": 1740501398 + } + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Tue Feb 25 16:36:39 +0000 2025", + "conversation_id_str": "1894426290406773113", + "display_text_range": [ + 0, + 23 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1894…", + "expanded_url": "http://x.com/i/article/1894418741058048000", + "url": "https://t.co/FA3MDjNt1x", + "indices": [ + 0, + 23 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 37, + "favorited": false, + "full_text": "https://t.co/FA3MDjNt1x", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 3, + "retweet_count": 68, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1894426290406773113" + } + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Tue Feb 25 17:10:16 +0000 2025", + "conversation_id_str": "1894434752687649206", + "display_text_range": [ + 0, + 82 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 34, + "favorited": false, + "full_text": "Fetching media within quote posts or reposts is now supported in the same API call", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1894426290406773113", + "quoted_status_permalink": { + "url": "https://t.co/cm1E3XyPXW", + "expanded": "https://twitter.com/suhemparack/status/1894426290406773113", + "display": "x.com/suhemparack/st…" + }, + "reply_count": 6, + "retweet_count": 76, + "retweeted": false, + "user_id_str": "2347355456", + "id_str": "1894434752687649206" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808906", + "sortIndex": "1897829040857808886", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-conversation-1897829040857808906-tweet-1894426290406773113", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894426290406773113", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894426290406773113" + ], + "editable_until_msecs": "1740504999000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "28973", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "article": { + "article_results": { + "result": { + "rest_id": "1894418741058048000", + "id": "QXJ0aWNsZUVudGl0eToxODk0NDE4NzQxMDU4MDQ4MDAw", + "title": "Getting data for Posts with media using the X API v2", + "preview_text": "The Problem\nIn the X API v2, whenever a Post was a repost or quote of a post that contained images, videos etc., the lookup or search endpoints did not return the information for the media in the", + "lifecycle_state": { + "modified_at_secs": 1740501398 + }, + "metadata": { + "first_published_at_secs": 1740501398 + } + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Tue Feb 25 16:36:39 +0000 2025", + "conversation_id_str": "1894426290406773113", + "display_text_range": [ + 0, + 23 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1894…", + "expanded_url": "http://x.com/i/article/1894418741058048000", + "url": "https://t.co/FA3MDjNt1x", + "indices": [ + 0, + 23 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 37, + "favorited": false, + "full_text": "https://t.co/FA3MDjNt1x", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 3, + "retweet_count": 68, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1894426290406773113" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808906-tweet-1894435309883994125", + "dispensable": false, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894435309883994125", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894435309883994125" + ], + "editable_until_msecs": "1740507149000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "544", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 2, + "bookmarked": false, + "created_at": "Tue Feb 25 17:12:29 +0000 2025", + "conversation_id_str": "1894426290406773113", + "display_text_range": [ + 13, + 16 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 7, + "favorited": false, + "full_text": "@suhemparack v2✨", + "in_reply_to_screen_name": "suhemparack", + "in_reply_to_status_id_str": "1894426290406773113", + "in_reply_to_user_id_str": "857699969263964161", + "is_quote_status": false, + "lang": "und", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 2, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1894435309883994125" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1894426290406773113", + "1894435309883994125" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_ranked_organic_tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1894434982669537568", + "sortIndex": "1897829040857808885", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1894434982669537568", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894434982669537568" + ], + "editable_until_msecs": "1740507071425", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "1", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Tue Feb 25 17:11:11 +0000 2025", + "conversation_id_str": "1894434982669537568", + "display_text_range": [ + 0, + 40 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1894…", + "expanded_url": "http://x.com/i/article/1894418741058048000", + "url": "https://t.co/FA3MDjNt1x", + "indices": [ + 17, + 40 + ] + } + ], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: https://t.co/FA3MDjNt1x", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 0, + "retweet_count": 68, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1894434982669537568", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1894426290406773113", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1894426290406773113" + ], + "editable_until_msecs": "1740504999000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "28973", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "article": { + "article_results": { + "result": { + "rest_id": "1894418741058048000", + "id": "QXJ0aWNsZUVudGl0eToxODk0NDE4NzQxMDU4MDQ4MDAw", + "title": "Getting data for Posts with media using the X API v2", + "preview_text": "The Problem\nIn the X API v2, whenever a Post was a repost or quote of a post that contained images, videos etc., the lookup or search endpoints did not return the information for the media in the", + "lifecycle_state": { + "modified_at_secs": 1740501398 + }, + "metadata": { + "first_published_at_secs": 1740501398 + } + } + } + }, + "legacy": { + "bookmark_count": 3, + "bookmarked": false, + "created_at": "Tue Feb 25 16:36:39 +0000 2025", + "conversation_id_str": "1894426290406773113", + "display_text_range": [ + 0, + 23 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "x.com/i/article/1894…", + "expanded_url": "http://x.com/i/article/1894418741058048000", + "url": "https://t.co/FA3MDjNt1x", + "indices": [ + 0, + 23 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 37, + "favorited": false, + "full_text": "https://t.co/FA3MDjNt1x", + "is_quote_status": false, + "lang": "zxx", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 3, + "reply_count": 3, + "retweet_count": 68, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1894426290406773113" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1893104982120911252", + "sortIndex": "1897829040857808884", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1893104982120911252", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1893104982120911252" + ], + "editable_until_msecs": "1740189974584", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Sat Feb 22 01:06:14 +0000 2025", + "conversation_id_str": "1893104982120911252", + "display_text_range": [ + 0, + 139 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "251592845", + "name": "Sid Rao", + "screen_name": "sidgrao", + "indices": [ + 3, + 11 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @sidgrao: Starting to roll out Grok powered X Ads interface.\n\nGrok can now create beautiful ads, analyze your campaign performance, and…", + "is_quote_status": false, + "lang": "en", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 134, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1893104982120911252", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1893042818437755340", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTE1OTI4NDU=", + "rest_id": "251592845", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Feb 13 13:11:52 +0000 2011", + "default_profile": true, + "default_profile_image": false, + "description": "Ads @ X", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 12717, + "followers_count": 5302, + "friends_count": 533, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 49, + "location": "San Francisco", + "media_count": 3, + "name": "Sid Rao", + "normal_followers_count": 5302, + "pinned_tweet_ids_str": [ + "1893042818437755340" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/747256199142215682/9dmNjRDQ_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "sidgrao", + "statuses_count": 57, + "translator_type": "regular", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1605307111604228097", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1893042818437755340" + ], + "editable_until_msecs": "1740175153000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "226755", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 89, + "bookmarked": false, + "created_at": "Fri Feb 21 20:59:13 +0000 2025", + "conversation_id_str": "1893042818437755340", + "display_text_range": [ + 0, + 226 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/b58x8FgjW3", + "expanded_url": "https://x.com/sidgrao/status/1893042818437755340/photo/1", + "id_str": "1893042651655467008", + "indices": [ + 227, + 250 + ], + "media_key": "3_1893042651655467008", + "media_url_https": "https://pbs.twimg.com/media/GkVwQwyWcAAjC9U.png", + "type": "photo", + "url": "https://t.co/b58x8FgjW3", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1066, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 624, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 354, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1308, + "width": 2514, + "focus_rects": [ + { + "x": 89, + "y": 0, + "w": 2336, + "h": 1308 + }, + { + "x": 603, + "y": 0, + "w": 1308, + "h": 1308 + }, + { + "x": 684, + "y": 0, + "w": 1147, + "h": 1308 + }, + { + "x": 930, + "y": 0, + "w": 654, + "h": 1308 + }, + { + "x": 0, + "y": 0, + "w": 2514, + "h": 1308 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1893042651655467008" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/b58x8FgjW3", + "expanded_url": "https://x.com/sidgrao/status/1893042818437755340/photo/1", + "id_str": "1893042651655467008", + "indices": [ + 227, + 250 + ], + "media_key": "3_1893042651655467008", + "media_url_https": "https://pbs.twimg.com/media/GkVwQwyWcAAjC9U.png", + "type": "photo", + "url": "https://t.co/b58x8FgjW3", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 1066, + "w": 2048, + "resize": "fit" + }, + "medium": { + "h": 624, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 354, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 1308, + "width": 2514, + "focus_rects": [ + { + "x": 89, + "y": 0, + "w": 2336, + "h": 1308 + }, + { + "x": 603, + "y": 0, + "w": 1308, + "h": 1308 + }, + { + "x": 684, + "y": 0, + "w": 1147, + "h": 1308 + }, + { + "x": 930, + "y": 0, + "w": 654, + "h": 1308 + }, + { + "x": 0, + "y": 0, + "w": 2514, + "h": 1308 + } + ] + }, + "allow_download_status": { + "allow_download": true + }, + "media_results": { + "result": { + "media_key": "3_1893042651655467008" + } + } + } + ] + }, + "favorite_count": 640, + "favorited": false, + "full_text": "Starting to roll out Grok powered X Ads interface.\n\nGrok can now create beautiful ads, analyze your campaign performance, and recommend improvements, all within your X ads interface.\n\nRolling out to all SMBs using X ads today! https://t.co/b58x8FgjW3", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 29, + "reply_count": 52, + "retweet_count": 134, + "retweeted": false, + "user_id_str": "251592845", + "id_str": "1893042818437755340" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808909", + "sortIndex": "1897829040857808883", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-conversation-1897829040857808909-tweet-1887671716723220609", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887671716723220609", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTMzMzQxODU0", + "rest_id": "2533341854", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu May 29 20:24:26 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "𝕏 | @X @API @XDevelopers", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 25642, + "followers_count": 11707, + "friends_count": 1175, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 133, + "location": "New York, NY", + "media_count": 206, + "name": "Chris Park", + "normal_followers_count": 11707, + "pinned_tweet_ids_str": [ + "1866979874197606606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2533341854/1638372155", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1770195415729569792/wUEX1LCO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "chrisparkX", + "statuses_count": 1585, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887671716723220609" + ], + "editable_until_msecs": "1738894583000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "6242", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1887669545998929945", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887669545998929945" + ], + "editable_until_msecs": "1738894065000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "41053", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 24, + "bookmarked": false, + "created_at": "Fri Feb 07 01:07:45 +0000 2025", + "conversation_id_str": "1887669545998929945", + "display_text_range": [ + 0, + 277 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 248, + "favorited": false, + "full_text": "X API feature updates! \n\nWe’ve launched three new endpoints for Media Upload X API v2! \n\n• Metadata Create: Add additional metadata to media uploads. \n• Subtitles Create: Associate subtitles with your video uploads.\n• Subtitles Delete: Remove / delete subtitles from a video", + "is_quote_status": false, + "lang": "en", + "quote_count": 5, + "reply_count": 40, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887669545998929945" + } + } + }, + "legacy": { + "bookmark_count": 1, + "bookmarked": false, + "created_at": "Fri Feb 07 01:16:23 +0000 2025", + "conversation_id_str": "1887671716723220609", + "display_text_range": [ + 0, + 46 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 31, + 43 + ] + } + ] + }, + "favorite_count": 38, + "favorited": false, + "full_text": "X API updates. Great work team @XDevelopers! 🫶", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1887669545998929945", + "quoted_status_permalink": { + "url": "https://t.co/NbXmQ9DmTu", + "expanded": "https://twitter.com/XDevelopers/status/1887669545998929945", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 11, + "retweet_count": 1, + "retweeted": false, + "user_id_str": "2533341854", + "id_str": "1887671716723220609" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808909-tweet-1887676004384317681", + "dispensable": false, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887676004384317681", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887676004384317681" + ], + "editable_until_msecs": "1738895605000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "436", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Fri Feb 07 01:33:25 +0000 2025", + "conversation_id_str": "1887671716723220609", + "display_text_range": [ + 12, + 27 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2533341854", + "name": "Chris Park", + "screen_name": "chrisparkX", + "indices": [ + 0, + 11 + ] + }, + { + "id_str": "1215441834412953600", + "name": "Santiago", + "screen_name": "santiagomedr", + "indices": [ + 14, + 27 + ] + } + ] + }, + "favorite_count": 5, + "favorited": false, + "full_text": "@chrisparkX 👏 @santiagomedr", + "in_reply_to_screen_name": "chrisparkX", + "in_reply_to_status_id_str": "1887671716723220609", + "in_reply_to_user_id_str": "2533341854", + "is_quote_status": false, + "lang": "qme", + "quote_count": 0, + "reply_count": 3, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887676004384317681" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1887671716723220609", + "1887676004384317681" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_ranked_organic_tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808910", + "sortIndex": "1897829040857808882", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-conversation-1897829040857808910-tweet-1887669545998929945", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887669545998929945", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887669545998929945" + ], + "editable_until_msecs": "1738894065000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "41053", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 24, + "bookmarked": false, + "created_at": "Fri Feb 07 01:07:45 +0000 2025", + "conversation_id_str": "1887669545998929945", + "display_text_range": [ + 0, + 277 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 248, + "favorited": false, + "full_text": "X API feature updates! \n\nWe’ve launched three new endpoints for Media Upload X API v2! \n\n• Metadata Create: Add additional metadata to media uploads. \n• Subtitles Create: Associate subtitles with your video uploads.\n• Subtitles Delete: Remove / delete subtitles from a video", + "is_quote_status": false, + "lang": "en", + "quote_count": 5, + "reply_count": 40, + "retweet_count": 39, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887669545998929945" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808910-tweet-1887669548213559307", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887669548213559307", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887669548213559307" + ], + "editable_until_msecs": "1738894066000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "41531", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 31, + "bookmarked": false, + "created_at": "Fri Feb 07 01:07:46 +0000 2025", + "conversation_id_str": "1887669545998929945", + "display_text_range": [ + 0, + 229 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 117, + "favorited": false, + "full_text": "Separately, we’ve also added a new subscription user field! \n\nUsing this field, creators are now able to programmatically identify which users are subscribed to them! Developers can now build more solutions catered to their subs.", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1887669545998929945", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "quote_count": 4, + "reply_count": 10, + "retweet_count": 17, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887669548213559307" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808910-tweet-1887669550063169671", + "dispensable": false, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1887669550063169671", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/INS0eFHRF7", + "legacy": { + "binding_values": [ + { + "key": "description", + "value": { + "string_value": "MetadataCreate", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Metadata Create - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/INS0eFHRF7", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/INS0eFHRF7", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1887669550063169671" + ], + "editable_until_msecs": "1738894066000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "21149", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 8, + "bookmarked": false, + "created_at": "Fri Feb 07 01:07:46 +0000 2025", + "conversation_id_str": "1887669545998929945", + "display_text_range": [ + 0, + 262 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com/x-api/media/me…", + "expanded_url": "https://docs.x.com/x-api/media/media-metadata-create", + "url": "https://t.co/INS0eFHRF7", + "indices": [ + 71, + 94 + ] + }, + { + "display_url": "docs.x.com/x-api/media/me…", + "expanded_url": "https://docs.x.com/x-api/media/media-subtitles-create", + "url": "https://t.co/nkb3ltLSIK", + "indices": [ + 128, + 151 + ] + }, + { + "display_url": "docs.x.com/x-api/media/me…", + "expanded_url": "https://docs.x.com/x-api/media/media-subtitles-delete", + "url": "https://t.co/oeU9jC4x5S", + "indices": [ + 185, + 208 + ] + }, + { + "display_url": "docs.x.com/x-api/fundamen…", + "expanded_url": "https://docs.x.com/x-api/fundamentals/data-dictionary#user", + "url": "https://t.co/o63fMBsZCW", + "indices": [ + 239, + 262 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 50, + "favorited": false, + "full_text": "To cook and learn more, see below. ⬇️ \n\nPOST /2/media/metadata/create: https://t.co/INS0eFHRF7\n\nPOST /2/media/subtitles/create:\nhttps://t.co/nkb3ltLSIK\n\nPOST /2/media/subtitles/delete:\nhttps://t.co/oeU9jC4x5S\n\nNEW subscription user field:\nhttps://t.co/o63fMBsZCW", + "in_reply_to_screen_name": "XDevelopers", + "in_reply_to_status_id_str": "1887669548213559307", + "in_reply_to_user_id_str": "2244994945", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "reply_count": 10, + "retweet_count": 15, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1887669550063169671" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1887669545998929945", + "1887669548213559307", + "1887669550063169671" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_ranked_organic_tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1880421090566210031", + "sortIndex": "1897829040857808881", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1880421090566210031", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1880421090566210031" + ], + "editable_until_msecs": "1737165899000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "48580", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1877581125608153389", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5NTczMTA3NQ==", + "rest_id": "95731075", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Dec 09 21:00:57 +0000 2009", + "default_profile": false, + "default_profile_image": false, + "description": "Providing the latest safety tools, resources, and updates from X.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "help.x.com", + "expanded_url": "http://help.x.com", + "url": "https://t.co/YQ0rgq2Q9t", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 180, + "followers_count": 3692387, + "friends_count": 133, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 8239, + "location": "X HQ", + "media_count": 160, + "name": "Safety", + "normal_followers_count": 3692387, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/95731075/1690214538", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683507906891718658/ZS9jJfar_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Safety", + "statuses_count": 1604, + "translator_type": "regular", + "url": "https://t.co/YQ0rgq2Q9t", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1877581125608153389" + ], + "editable_until_msecs": "1736488798000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "13536100", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "note_tweet": { + "is_expandable": true, + "note_tweet_results": { + "result": { + "id": "Tm90ZVR3ZWV0OjE4Nzc1ODExMjUzMjcxMzg4MTY=", + "text": "We’re rolling out profile labels for parody accounts to clearly distinguish these types of accounts and their content on our platform. We designed these labels to increase transparency and to ensure that users are not deceived into thinking such accounts belong to the entity being parodied. Parody labels will be applied to both posts and accounts on X to clearly demonstrate the source of the content you’re seeing. We’ll share details soon on when the label will become mandatory for parody accounts.\n\nThese accounts, like all accounts on X, must still adhere to the X Rules - particularly our Authenticity policy: https://t.co/I9vOTG0qPW. If you believe an account is inauthentic or impersonating an entity, you can report the account in-app or via our Help Center.", + "entity_set": { + "hashtags": [], + "symbols": [], + "urls": [ + { + "display_url": "help.x.com/rules-and-poli…", + "expanded_url": "https://help.x.com/rules-and-policies/authenticity", + "url": "https://t.co/I9vOTG0qPW", + "indices": [ + 618, + 641 + ] + } + ], + "user_mentions": [] + }, + "richtext": { + "richtext_tags": [] + }, + "media": { + "inline_media": [] + } + } + } + }, + "legacy": { + "bookmark_count": 919, + "bookmarked": false, + "created_at": "Fri Jan 10 04:59:58 +0000 2025", + "conversation_id_str": "1877581125608153389", + "display_text_range": [ + 0, + 275 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 10853, + "favorited": false, + "full_text": "We’re rolling out profile labels for parody accounts to clearly distinguish these types of accounts and their content on our platform. We designed these labels to increase transparency and to ensure that users are not deceived into thinking such accounts belong to the entity", + "is_quote_status": false, + "lang": "en", + "quote_count": 1046, + "reply_count": 1582, + "retweet_count": 2048, + "retweeted": false, + "user_id_str": "95731075", + "id_str": "1877581125608153389" + } + } + }, + "legacy": { + "bookmark_count": 12, + "bookmarked": false, + "created_at": "Sat Jan 18 01:04:59 +0000 2025", + "conversation_id_str": "1880421090566210031", + "display_text_range": [ + 0, + 123 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 249, + "favorited": false, + "full_text": "X API now includes a new user field: parody\n\nThis is consistent with our new X Safety profile labels for parody accounts. 🚢", + "is_quote_status": true, + "lang": "en", + "quote_count": 3, + "quoted_status_id_str": "1877581125608153389", + "quoted_status_permalink": { + "url": "https://t.co/f6KKBbuuGj", + "expanded": "https://twitter.com/Safety/status/1877581125608153389", + "display": "x.com/Safety/status/…" + }, + "reply_count": 46, + "retweet_count": 83, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1880421090566210031" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1880044127066419699", + "sortIndex": "1897829040857808880", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1880044127066419699", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/fp3ViNtoJL", + "legacy": { + "binding_values": [ + { + "key": "thumbnail_image", + "value": { + "image_value": { + "height": 144, + "width": 144, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=144x144_2" + }, + "type": "IMAGE" + } + }, + { + "key": "description", + "value": { + "string_value": "We are excited to share that developers can now upload media to X using the X API v2! You can upload images or videos using the POST https://api.x.com/2/media/upload endpoint and attach the media to...", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_large", + "value": { + "image_value": { + "height": 420, + "width": 420, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=420x420_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_original", + "value": { + "image_value": { + "height": 2453, + "width": 2400, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=orig" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_small", + "value": { + "image_value": { + "height": 100, + "width": 100, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=100x100_2" + }, + "type": "IMAGE" + } + }, + { + "key": "thumbnail_image_x_large", + "value": { + "image_value": { + "height": 2048, + "width": 2004, + "url": "https://pbs.twimg.com/card_img/1894384508436119552/xyGut-9N?format=png&name=2048x2048_2_exp" + }, + "type": "IMAGE" + } + }, + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "devcommunity.x.com", + "type": "STRING" + } + }, + { + "key": "thumbnail_image_color", + "value": { + "image_color_value": { + "palette": [ + { + "rgb": { + "blue": 0, + "green": 0, + "red": 0 + }, + "percentage": 24.36 + }, + { + "rgb": { + "blue": 105, + "green": 105, + "red": 105 + }, + "percentage": 0.73 + } + ] + }, + "type": "IMAGE_COLOR" + } + }, + { + "key": "title", + "value": { + "string_value": "Announcing media upload endpoints in the X API v2", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/fp3ViNtoJL", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary", + "url": "https://t.co/fp3ViNtoJL", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1880044127066419699" + ], + "editable_until_msecs": "1737076024000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "59401", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 18, + "bookmarked": false, + "created_at": "Fri Jan 17 00:07:04 +0000 2025", + "conversation_id_str": "1880044127066419699", + "display_text_range": [ + 0, + 110 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "devcommunity.x.com/t/announcing-m…", + "expanded_url": "https://devcommunity.x.com/t/announcing-media-upload-endpoints-in-the-x-api-v2/234175", + "url": "https://t.co/fp3ViNtoJL", + "indices": [ + 87, + 110 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 189, + "favorited": false, + "full_text": "We are excited to share that developers can now upload media to X using the X API v2! 🎥https://t.co/fp3ViNtoJL", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 16, + "reply_count": 28, + "retweet_count": 59, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1880044127066419699" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1879649572877947103", + "sortIndex": "1897829040857808879", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1879649572877947103", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1879649572877947103" + ], + "editable_until_msecs": "1736981955031", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Wed Jan 15 21:59:15 +0000 2025", + "conversation_id_str": "1879649572877947103", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "http://docs.x.com", + "url": "https://t.co/1iW3GmcUuz", + "indices": [ + 98, + 121 + ] + } + ], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 3, + 15 + ] + }, + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 63, + 75 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @suhemparack: We put in a lot of time and love into our new @XDevelopers API docs! Pls try out https://t.co/1iW3GmcUuz and share any fee…", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/oYYZGv156d", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 32, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1879649572877947103", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1879604743364137278", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1879604743364137278" + ], + "editable_until_msecs": "1736971266000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "33789", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878890234336903268", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/NrcvlSq9PU", + "legacy": { + "binding_values": [ + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Home - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/NrcvlSq9PU", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/NrcvlSq9PU", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878890234336903268" + ], + "editable_until_msecs": "1736800914000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "149694", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 86, + "bookmarked": false, + "created_at": "Mon Jan 13 19:41:54 +0000 2025", + "conversation_id_str": "1878890234336903268", + "display_text_range": [ + 0, + 176 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com", + "url": "https://t.co/NrcvlSq9PU", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 325, + "favorited": false, + "full_text": "Introducing new X Developer Platform docs! 📄✨ \n\nThis update includes updated API reference pages and an interactive API playground. \n\nCheck it out now 👇\nhttps://t.co/NrcvlSq9PU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 23, + "reply_count": 49, + "retweet_count": 60, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878890234336903268" + } + } + }, + "legacy": { + "bookmark_count": 10, + "bookmarked": false, + "created_at": "Wed Jan 15 19:01:06 +0000 2025", + "conversation_id_str": "1879604743364137278", + "display_text_range": [ + 0, + 157 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/VswckO3fKD", + "expanded_url": "https://x.com/suhemparack/status/1879604743364137278/video/1", + "id_str": "1879602564989337600", + "indices": [ + 158, + 181 + ], + "media_key": "7_1879602564989337600", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1879602564989337600/pu/img/WgPWpNYJ1SZcUx_s.jpg", + "type": "video", + "url": "https://t.co/VswckO3fKD", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 740, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 694, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 393, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 740, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 64, + 37 + ], + "duration_millis": 9217, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/pl/qHtVDa9zURaI68Qz.m3u8?tag=12" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/466x270/UX2dCASTI09vImBJ.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/622x360/p_0zkp1o47ZjHHbT.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/1244x720/e3p0XMT6jjO8ZoW-.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1879602564989337600" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "http://docs.x.com", + "url": "https://t.co/1iW3GmcUuz", + "indices": [ + 81, + 104 + ] + } + ], + "user_mentions": [ + { + "id_str": "2244994945", + "name": "Developers", + "screen_name": "XDevelopers", + "indices": [ + 46, + 58 + ] + } + ] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/VswckO3fKD", + "expanded_url": "https://x.com/suhemparack/status/1879604743364137278/video/1", + "id_str": "1879602564989337600", + "indices": [ + 158, + 181 + ], + "media_key": "7_1879602564989337600", + "media_url_https": "https://pbs.twimg.com/ext_tw_video_thumb/1879602564989337600/pu/img/WgPWpNYJ1SZcUx_s.jpg", + "type": "video", + "url": "https://t.co/VswckO3fKD", + "additional_media_info": { + "monetizable": false + }, + "ext_media_availability": { + "status": "Available" + }, + "sizes": { + "large": { + "h": 740, + "w": 1280, + "resize": "fit" + }, + "medium": { + "h": 694, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 393, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 740, + "width": 1280, + "focus_rects": [] + }, + "video_info": { + "aspect_ratio": [ + 64, + 37 + ], + "duration_millis": 9217, + "variants": [ + { + "content_type": "application/x-mpegURL", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/pl/qHtVDa9zURaI68Qz.m3u8?tag=12" + }, + { + "bitrate": 256000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/466x270/UX2dCASTI09vImBJ.mp4?tag=12" + }, + { + "bitrate": 832000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/622x360/p_0zkp1o47ZjHHbT.mp4?tag=12" + }, + { + "bitrate": 2176000, + "content_type": "video/mp4", + "url": "https://video.twimg.com/ext_tw_video/1879602564989337600/pu/vid/avc1/1244x720/e3p0XMT6jjO8ZoW-.mp4?tag=12" + } + ] + }, + "media_results": { + "result": { + "media_key": "7_1879602564989337600" + } + } + } + ] + }, + "favorite_count": 104, + "favorited": false, + "full_text": "We put in a lot of time and love into our new @XDevelopers API docs! Pls try out https://t.co/1iW3GmcUuz and share any feedback on improvements we can make 🙏 https://t.co/VswckO3fKD", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 1, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/oYYZGv156d", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 11, + "retweet_count": 32, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1879604743364137278" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808914", + "sortIndex": "1897829040857808878", + "content": { + "entryType": "TimelineTimelineModule", + "__typename": "TimelineTimelineModule", + "items": [ + { + "entryId": "profile-conversation-1897829040857808914-tweet-1878891746349990073", + "dispensable": true, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1878891746349990073", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NTc2OTk5NjkyNjM5NjQxNjE=", + "rest_id": "857699969263964161", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu Apr 27 20:56:22 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "Partner Engineering @ 𝕏 Opinions my own. RTs != endorsements etc", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "developer.x.com", + "expanded_url": "https://developer.x.com", + "url": "https://t.co/Rh0kWC6xS8", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 421, + "followers_count": 5038, + "friends_count": 1619, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 67, + "location": "San Francisco, CA", + "media_count": 154, + "name": "Suhem Parack", + "normal_followers_count": 5038, + "pinned_tweet_ids_str": [ + "1793359653960589327" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/857699969263964161/1712432865", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1842253249082245120/ML_fynoY_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "suhemparack", + "statuses_count": 2511, + "translator_type": "none", + "url": "https://t.co/Rh0kWC6xS8", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1471588288142057479", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {}, + "super_follow_eligible": true + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878891746349990073" + ], + "editable_until_msecs": "1736801275000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "20759", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878890234336903268", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/NrcvlSq9PU", + "legacy": { + "binding_values": [ + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Home - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/NrcvlSq9PU", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/NrcvlSq9PU", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878890234336903268" + ], + "editable_until_msecs": "1736800914000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "149694", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 86, + "bookmarked": false, + "created_at": "Mon Jan 13 19:41:54 +0000 2025", + "conversation_id_str": "1878890234336903268", + "display_text_range": [ + 0, + 176 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com", + "url": "https://t.co/NrcvlSq9PU", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 325, + "favorited": false, + "full_text": "Introducing new X Developer Platform docs! 📄✨ \n\nThis update includes updated API reference pages and an interactive API playground. \n\nCheck it out now 👇\nhttps://t.co/NrcvlSq9PU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 23, + "reply_count": 49, + "retweet_count": 60, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878890234336903268" + } + } + }, + "legacy": { + "bookmark_count": 5, + "bookmarked": false, + "created_at": "Mon Jan 13 19:47:55 +0000 2025", + "conversation_id_str": "1878891746349990073", + "display_text_range": [ + 0, + 94 + ], + "entities": { + "hashtags": [], + "media": [ + { + "display_url": "pic.x.com/1IazD6ZEWc", + "expanded_url": "https://x.com/suhemparack/status/1878891746349990073/photo/1", + "id_str": "1878891684572102656", + "indices": [ + 95, + 118 + ], + "media_key": "3_1878891684572102656", + "media_url_https": "https://pbs.twimg.com/media/GhMqCEZbAAAXiXT.jpg", + "type": "photo", + "url": "https://t.co/1IazD6ZEWc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 642, + "w": 1816, + "resize": "fit" + }, + "medium": { + "h": 424, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 240, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 642, + "width": 1816, + "focus_rects": [ + { + "x": 108, + "y": 0, + "w": 1146, + "h": 642 + }, + { + "x": 360, + "y": 0, + "w": 642, + "h": 642 + }, + { + "x": 400, + "y": 0, + "w": 563, + "h": 642 + }, + { + "x": 521, + "y": 0, + "w": 321, + "h": 642 + }, + { + "x": 0, + "y": 0, + "w": 1816, + "h": 642 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1878891684572102656" + } + } + } + ], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/0IMySlZO24", + "indices": [ + 71, + 94 + ] + } + ], + "user_mentions": [] + }, + "extended_entities": { + "media": [ + { + "display_url": "pic.x.com/1IazD6ZEWc", + "expanded_url": "https://x.com/suhemparack/status/1878891746349990073/photo/1", + "id_str": "1878891684572102656", + "indices": [ + 95, + 118 + ], + "media_key": "3_1878891684572102656", + "media_url_https": "https://pbs.twimg.com/media/GhMqCEZbAAAXiXT.jpg", + "type": "photo", + "url": "https://t.co/1IazD6ZEWc", + "ext_media_availability": { + "status": "Available" + }, + "features": { + "large": { + "faces": [] + }, + "medium": { + "faces": [] + }, + "small": { + "faces": [] + }, + "orig": { + "faces": [] + } + }, + "sizes": { + "large": { + "h": 642, + "w": 1816, + "resize": "fit" + }, + "medium": { + "h": 424, + "w": 1200, + "resize": "fit" + }, + "small": { + "h": 240, + "w": 680, + "resize": "fit" + }, + "thumb": { + "h": 150, + "w": 150, + "resize": "crop" + } + }, + "original_info": { + "height": 642, + "width": 1816, + "focus_rects": [ + { + "x": 108, + "y": 0, + "w": 1146, + "h": 642 + }, + { + "x": 360, + "y": 0, + "w": 642, + "h": 642 + }, + { + "x": 400, + "y": 0, + "w": 563, + "h": 642 + }, + { + "x": 521, + "y": 0, + "w": 321, + "h": 642 + }, + { + "x": 0, + "y": 0, + "w": 1816, + "h": 642 + } + ] + }, + "media_results": { + "result": { + "media_key": "3_1878891684572102656" + } + } + } + ] + }, + "favorite_count": 47, + "favorited": false, + "full_text": "Excited about the new API docs refresh for the X API. Check it out now https://t.co/0IMySlZO24 https://t.co/1IazD6ZEWc", + "is_quote_status": true, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 0, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/oYYZGv156d", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 6, + "retweet_count": 16, + "retweeted": false, + "user_id_str": "857699969263964161", + "id_str": "1878891746349990073" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "profile-conversation-1897829040857808914-tweet-1878896915334770918", + "dispensable": false, + "item": { + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1878896915334770918", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878896915334770918" + ], + "editable_until_msecs": "1736802507000", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "394", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jan 13 20:08:27 +0000 2025", + "conversation_id_str": "1878891746349990073", + "display_text_range": [ + 13, + 14 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "857699969263964161", + "name": "Suhem Parack", + "screen_name": "suhemparack", + "indices": [ + 0, + 12 + ] + } + ] + }, + "favorite_count": 3, + "favorited": false, + "full_text": "@suhemparack 🥳", + "in_reply_to_screen_name": "suhemparack", + "in_reply_to_status_id_str": "1878891746349990073", + "in_reply_to_user_id_str": "857699969263964161", + "is_quote_status": false, + "lang": "qme", + "quote_count": 0, + "reply_count": 0, + "retweet_count": 0, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878896915334770918" + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + } + ], + "metadata": { + "conversationMetadata": { + "allTweetIds": [ + "1878891746349990073", + "1878896915334770918" + ], + "enableDeduplication": true + } + }, + "displayType": "VerticalConversation", + "clientEventInfo": { + "component": "suggest_ranked_organic_tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "tweet-1878896870048899454", + "sortIndex": "1897829040857808877", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineTweet", + "__typename": "TimelineTweet", + "tweet_results": { + "result": { + "__typename": "Tweet", + "rest_id": "1878896870048899454", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878896870048899454" + ], + "editable_until_msecs": "1736802496692", + "is_edit_eligible": false, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "state": "Enabled" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "legacy": { + "bookmark_count": 0, + "bookmarked": false, + "created_at": "Mon Jan 13 20:08:16 +0000 2025", + "conversation_id_str": "1878896870048899454", + "display_text_range": [ + 0, + 140 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [ + { + "id_str": "2533341854", + "name": "Chris Park", + "screen_name": "chrisparkX", + "indices": [ + 3, + 14 + ] + } + ] + }, + "favorite_count": 0, + "favorited": false, + "full_text": "RT @chrisparkX: New X Developer docs! 🔥\n\nOn top of introducing net new high value APIs this year, a core priority is to enhance the overall…", + "is_quote_status": true, + "lang": "en", + "quote_count": 0, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/Jx6FS2z69A", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 0, + "retweet_count": 48, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878896870048899454", + "retweeted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878893441708650643", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyNTMzMzQxODU0", + "rest_id": "2533341854", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Thu May 29 20:24:26 +0000 2014", + "default_profile": false, + "default_profile_image": false, + "description": "𝕏 | @X @API @XDevelopers", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 25642, + "followers_count": 11707, + "friends_count": 1175, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 133, + "location": "New York, NY", + "media_count": 206, + "name": "Chris Park", + "normal_followers_count": 11707, + "pinned_tweet_ids_str": [ + "1866979874197606606" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2533341854/1638372155", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1770195415729569792/wUEX1LCO_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "chrisparkX", + "statuses_count": 1585, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878893441708650643" + ], + "editable_until_msecs": "1736801679000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "44954", + "state": "EnabledWithCount" + }, + "source": "<a href=\"http://twitter.com/download/iphone\" rel=\"nofollow\">Twitter for iPhone</a>", + "quoted_status_result": { + "result": { + "__typename": "Tweet", + "rest_id": "1878890234336903268", + "core": { + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMjQ0OTk0OTQ1", + "rest_id": "2244994945", + "affiliates_highlighted_label": { + "label": { + "url": { + "url": "https://twitter.com/X", + "urlType": "DeepLink" + }, + "badge": { + "url": "https://pbs.twimg.com/profile_images/1683899100922511378/5lY42eHs_bigger.jpg" + }, + "description": "X", + "userLabelType": "BusinessLabel", + "userLabelDisplayType": "Badge" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Square", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sat Dec 14 04:35:55 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "The voice of the X Dev team and your official source for updates, news, and events, related to the X API.", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com/", + "url": "https://t.co/NIwHVIVyrN", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 2167, + "followers_count": 700242, + "friends_count": 746, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 2682, + "location": "127.0.0.1", + "media_count": 821, + "name": "Developers", + "normal_followers_count": 700242, + "pinned_tweet_ids_str": [ + "1851463451929186504" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2244994945/1690213128", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1683501992314798080/xl1POYLw_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "XDevelopers", + "statuses_count": 4079, + "translator_type": "regular", + "url": "https://t.co/NIwHVIVyrN", + "verified": false, + "verified_type": "Business", + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1516891231749517312", + "professional_type": "Business", + "category": [ + { + "id": 1009, + "name": "Community", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + } + }, + "card": { + "rest_id": "https://t.co/NrcvlSq9PU", + "legacy": { + "binding_values": [ + { + "key": "vanity_url", + "value": { + "scribe_key": "vanity_url", + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "domain", + "value": { + "string_value": "docs.x.com", + "type": "STRING" + } + }, + { + "key": "title", + "value": { + "string_value": "Home - X", + "type": "STRING" + } + }, + { + "key": "card_url", + "value": { + "scribe_key": "card_url", + "string_value": "https://t.co/NrcvlSq9PU", + "type": "STRING" + } + } + ], + "card_platform": { + "platform": { + "audience": { + "name": "production" + }, + "device": { + "name": "Swift", + "version": "12" + } + } + }, + "name": "summary_large_image", + "url": "https://t.co/NrcvlSq9PU", + "user_refs_results": [] + } + }, + "unmention_data": {}, + "edit_control": { + "edit_tweet_ids": [ + "1878890234336903268" + ], + "editable_until_msecs": "1736800914000", + "is_edit_eligible": true, + "edits_remaining": "5" + }, + "is_translatable": false, + "views": { + "count": "149694", + "state": "EnabledWithCount" + }, + "source": "<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>", + "legacy": { + "bookmark_count": 86, + "bookmarked": false, + "created_at": "Mon Jan 13 19:41:54 +0000 2025", + "conversation_id_str": "1878890234336903268", + "display_text_range": [ + 0, + 176 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [ + { + "display_url": "docs.x.com", + "expanded_url": "https://docs.x.com", + "url": "https://t.co/NrcvlSq9PU", + "indices": [ + 153, + 176 + ] + } + ], + "user_mentions": [] + }, + "favorite_count": 325, + "favorited": false, + "full_text": "Introducing new X Developer Platform docs! 📄✨ \n\nThis update includes updated API reference pages and an interactive API playground. \n\nCheck it out now 👇\nhttps://t.co/NrcvlSq9PU", + "is_quote_status": false, + "lang": "en", + "possibly_sensitive": false, + "possibly_sensitive_editable": true, + "quote_count": 23, + "reply_count": 49, + "retweet_count": 60, + "retweeted": false, + "user_id_str": "2244994945", + "id_str": "1878890234336903268" + } + } + }, + "legacy": { + "bookmark_count": 9, + "bookmarked": false, + "created_at": "Mon Jan 13 19:54:39 +0000 2025", + "conversation_id_str": "1878893441708650643", + "display_text_range": [ + 0, + 182 + ], + "entities": { + "hashtags": [], + "symbols": [], + "timestamps": [], + "urls": [], + "user_mentions": [] + }, + "favorite_count": 190, + "favorited": false, + "full_text": "New X Developer docs! 🔥\n\nOn top of introducing net new high value APIs this year, a core priority is to enhance the overall X API developer experience. \n\nMore updates to follow soon.", + "is_quote_status": true, + "lang": "en", + "quote_count": 1, + "quoted_status_id_str": "1878890234336903268", + "quoted_status_permalink": { + "url": "https://t.co/Jx6FS2z69A", + "expanded": "https://twitter.com/XDevelopers/status/1878890234336903268", + "display": "x.com/XDevelopers/st…" + }, + "reply_count": 24, + "retweet_count": 48, + "retweeted": false, + "user_id_str": "2533341854", + "id_str": "1878893441708650643" + } + } + } + } + } + }, + "tweetDisplayType": "Tweet" + }, + "clientEventInfo": { + "component": "tweet", + "element": "tweet", + "details": { + "timelinesDetails": { + "injectionType": "RankedOrganicTweet", + "controllerData": "DAACDAABDAABCgABAAAAAAAAAAAKAAkZg01YfVqQAQAAAAA=" + } + } + } + } + }, + { + "entryId": "cursor-top-1897829040857808897", + "sortIndex": "1897829040857808897", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxdSDAJxEKAAIaVMi9x1qhAQgAAwAAAAEAAA", + "cursorType": "Top" + } + }, + { + "entryId": "cursor-bottom-1897829040857808876", + "sortIndex": "1897829040857808876", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "DAABCgABGlZxdSC__-oKAAIaEy6_nNuhfggAAwAAAAIAAA", + "cursorType": "Bottom" + } + } + ] + } + ], + "metadata": { + "scribeConfig": { + "page": "profileAll" + } + } + } + } + } + } + } +} diff --git a/apps/twscrape/tests/mocked-data/raw_verified_followers.json b/apps/twscrape/tests/mocked-data/raw_verified_followers.json new file mode 100644 index 0000000..27d53e0 --- /dev/null +++ b/apps/twscrape/tests/mocked-data/raw_verified_followers.json @@ -0,0 +1,1624 @@ +{ + "data": { + "user": { + "result": { + "__typename": "User", + "timeline": { + "timeline": { + "instructions": [ + { + "type": "TimelineClearCache" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Top" + }, + { + "type": "TimelineTerminateTimeline", + "direction": "Bottom" + }, + { + "type": "TimelineAddEntries", + "entries": [ + { + "entryId": "user-1116561834", + "sortIndex": "1897829016367267840", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTE2NTYxODM0", + "rest_id": "1116561834", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu Jan 24 11:40:33 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "Covering fintech, finance, and innovation. Exploring how technology reshapes financial markets, banking, and investments worldwide.\nReporter @WSJ", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "wsj.com/news/author/ro…", + "expanded_url": "https://www.wsj.com/news/author/rod-james", + "url": "https://t.co/i8rhXyTH91", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 1553, + "followers_count": 3008, + "friends_count": 630, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "New York, United States", + "media_count": 13, + "name": "Rod James", + "normal_followers_count": 3008, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1116561834/1740706827", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1895035591202390016/Ljm7qwXB_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "RodJamesPE", + "statuses_count": 1465, + "translator_type": "none", + "url": "https://t.co/i8rhXyTH91", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1879262959379325263", + "professional_type": "Creator", + "category": [ + { + "id": 1067, + "name": "Researcher", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1270752248", + "sortIndex": "1897829016367267839", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjcwNzUyMjQ4", + "rest_id": "1270752248", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Mar 15 21:28:40 +0000 2013", + "default_profile": false, + "default_profile_image": false, + "description": "SE, FinTech; Financial Analyst. Making Bill payments fun. Everything Finance, investment & Automation. Updates NFA. Channel👉 https://t.co/POK5cHHj5q", + "entities": { + "description": { + "urls": [ + { + "display_url": "t.me/Phonyz1000x", + "expanded_url": "https://t.me/Phonyz1000x", + "url": "https://t.co/POK5cHHj5q", + "indices": [ + 125, + 148 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "linktr.ee/philips.o", + "expanded_url": "https://linktr.ee/philips.o", + "url": "https://t.co/lCm6rFfFNK", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 18522, + "followers_count": 2574, + "friends_count": 577, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 20, + "location": "NaN, Global !OFF Notis", + "media_count": 2200, + "name": "Photons of Philips🧊🇦🇺🇯🇵🇳🇿", + "normal_followers_count": 2574, + "pinned_tweet_ids_str": [ + "1614119868487303170" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1270752248/1674754666", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1896506148771012608/bEFCtJmy_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "JoinPhotonPhill", + "statuses_count": 14780, + "translator_type": "none", + "url": "https://t.co/lCm6rFfFNK", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1467554770739023872", + "professional_type": "Creator", + "category": [ + { + "id": 713, + "name": "Science & Technology", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "bitcoin_handle": "18Hv9ZaCeW7A9LsXAGk4h8ygfPYxzQ8jbE", + "ethereum_handle": "0x30ecc7fdb5a1f59d8990fdbefbda986d100cb7cd" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1712950172873809920", + "sortIndex": "1897829016367267838", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzEyOTUwMTcyODczODA5OTIw", + "rest_id": "1712950172873809920", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Fri Oct 13 21:55:47 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "OSS Crypto Contributor", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "github.com/0xmatt11", + "expanded_url": "http://github.com/0xmatt11", + "url": "https://t.co/7D6yZA0enu", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 19359, + "followers_count": 1448, + "friends_count": 3178, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 7, + "location": "📐 NC", + "media_count": 501, + "name": "Matt", + "normal_followers_count": 1448, + "pinned_tweet_ids_str": [ + "1744369864091779078" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1712950172873809920/1725329073", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1871384314572677121/4PwahgXk_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "0xMatt6669420", + "statuses_count": 10156, + "translator_type": "none", + "url": "https://t.co/7D6yZA0enu", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": false, + "bitcoin_handle": "", + "ethereum_handle": "" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1649571578", + "sortIndex": "1897829016367267837", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjQ5NTcxNTc4", + "rest_id": "1649571578", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Tue Aug 06 05:40:16 +0000 2013", + "default_profile": true, + "default_profile_image": false, + "description": "cryptounicorn", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 8, + "followers_count": 5, + "friends_count": 7, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": " Lewistown, PA ", + "media_count": 0, + "name": "OVERBORNE", + "normal_followers_count": 5, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1649571578/1740483268", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1894350176854138881/qxCiu08n_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "CamachoDarien", + "statuses_count": 8, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2899311553", + "sortIndex": "1897829016367267836", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyODk5MzExNTUz", + "rest_id": "2899311553", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Fri Nov 14 10:55:03 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2, + "followers_count": 1088, + "friends_count": 55, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "United States", + "media_count": 4, + "name": "Eliana", + "normal_followers_count": 1088, + "pinned_tweet_ids_str": [ + "1896028739743728041" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1896622968932847616/QUQLI4Ni_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Eliana10_84", + "statuses_count": 28, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1890897563903291417", + "professional_type": "Business", + "category": [ + { + "id": 920, + "name": "Other", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1638335264333393920", + "sortIndex": "1897829016367267835", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNjM4MzM1MjY0MzMzMzkzOTIw", + "rest_id": "1638335264333393920", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Mar 22 00:23:15 +0000 2023", + "default_profile": true, + "default_profile_image": false, + "description": "Software developer, nerd, geek and baseball and college football fan, proudly not gay.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 374, + "followers_count": 125, + "friends_count": 138, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "South Carolina, USA", + "media_count": 8, + "name": "Damon DeCoste", + "normal_followers_count": 125, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1638335264333393920/1679444768", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1638336105144635394/31Jhm37-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DamonDecoste", + "statuses_count": 227, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-2368878901", + "sortIndex": "1897829016367267834", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMzY4ODc4OTAx", + "rest_id": "2368878901", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Mar 02 13:21:16 +0000 2014", + "default_profile": true, + "default_profile_image": false, + "description": "Living in USA Free Women, aspiring to a better life.\nTraveling is my great passion, love beaches and waves all over the world!✈️🌊👙", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "aliceandolivia.com", + "expanded_url": "http://www.aliceandolivia.com", + "url": "https://t.co/VLJttx9Y1T", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 8206, + "followers_count": 252, + "friends_count": 7, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 1, + "location": "Houston, Texas", + "media_count": 42, + "name": "Seraphina.Jankauskas", + "normal_followers_count": 252, + "pinned_tweet_ids_str": [ + "1897812332681871671" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/2368878901/1740946958", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1896295093990248448/pT7KqIzP_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "M_otoymknd", + "statuses_count": 936, + "translator_type": "none", + "url": "https://t.co/VLJttx9Y1T", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1277524574335205376", + "sortIndex": "1897829016367267833", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjc3NTI0NTc0MzM1MjA1Mzc2", + "rest_id": "1277524574335205376", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Jun 29 08:49:40 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "Fitness/Reading/Free Investor\nEvery effort you make is a step closer to your dream. Don’t be afraid of falling.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 168, + "followers_count": 59, + "friends_count": 273, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "Earth", + "media_count": 14, + "name": "Lily", + "normal_followers_count": 59, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1277524574335205376/1739633389", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1890785585863983104/gS0ASjp0_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Lily_Stewart1", + "statuses_count": 102, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-418213955", + "sortIndex": "1897829016367267832", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo0MTgyMTM5NTU=", + "rest_id": "418213955", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": false, + "created_at": "Mon Nov 21 22:11:47 +0000 2011", + "default_profile": false, + "default_profile_image": false, + "description": "Science Writer, Naturalist, Philosophizer, Opinionator, Cat Feeder, Comedian\nμολὼν λαβέ\nAmerican Patriot Seeker & Speaker of Truth", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 13712, + "followers_count": 1298, + "friends_count": 2407, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 10, + "location": "Terra Firma", + "media_count": 1804, + "name": "Nick McGinley", + "normal_followers_count": 1298, + "pinned_tweet_ids_str": [ + "1141618716121161728" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/418213955/1671369158", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1438693271614677009/vs97vJk__normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NickMcGinley1", + "statuses_count": 20746, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-17934850", + "sortIndex": "1897829016367267831", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxNzkzNDg1MA==", + "rest_id": "17934850", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Dec 07 03:15:55 +0000 2008", + "default_profile": false, + "default_profile_image": false, + "description": "🇬🇧 🇺🇸 Follow me for content on : Tech, AI, Politics, Family, Current Affairs and belly aching laughter 😁 • Dad • Husband •", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "MyGrok.app", + "expanded_url": "https://MyGrok.app", + "url": "https://t.co/1ZJNd2rAOd", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 7649, + "followers_count": 2628, + "friends_count": 1847, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 20, + "location": "United Earth", + "media_count": 4487, + "name": "Nicky 🇬🇧", + "normal_followers_count": 2628, + "pinned_tweet_ids_str": [ + "1895899711225413670" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/17934850/1740499351", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1895664093333221376/LCJInvNt_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "NickyThomas", + "statuses_count": 18157, + "translator_type": "none", + "url": "https://t.co/1ZJNd2rAOd", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1590462816946888712", + "professional_type": "Creator", + "category": [ + { + "id": 1042, + "name": "Content Creator", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "bitcoin_handle": "164765SMASBYd9w7wcSBtyfcxY2K44VGSM" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1804959957462216704", + "sortIndex": "1897829016367267830", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODA0OTU5OTU3NDYyMjE2NzA0", + "rest_id": "1804959957462216704", + "affiliates_highlighted_label": { + "label": { + "badge": { + "url": "https://pbs.twimg.com/semantic_core_img/1428827730364096519/4ZXpTBhS?format=png&name=orig" + }, + "description": "Automated", + "longDescription": { + "text": "Automated by @OpuaYTReal", + "entities": [ + { + "fromIndex": 13, + "toIndex": 24, + "ref": { + "type": "TimelineRichTextMention", + "screen_name": "OpuaYTReal", + "mention_results": { + "result": { + "__typename": "UserUnavailable", + "reason": "Suspended", + "message": "User is suspended" + } + } + } + } + ] + }, + "userLabelType": "AutomatedLabel" + } + }, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Sun Jun 23 19:29:30 +0000 2024", + "default_profile": true, + "default_profile_image": false, + "description": "46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 46 | #46twt | Ran By @OpuaYT | Follows Back on both accounts | Satire | Minor", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "opuadm.com", + "expanded_url": "https://opuadm.com/", + "url": "https://t.co/hZErkwOOZr", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 28495, + "followers_count": 1486, + "friends_count": 2576, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 21, + "location": "", + "media_count": 2058, + "name": "46 46 46 46 46 46 46 46 46 46 46 46 (Follows Back)", + "normal_followers_count": 1486, + "pinned_tweet_ids_str": [ + "1837784046060884282" + ], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1804959957462216704/1740920105", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1896182476159991809/2AidplFz_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "46officials", + "statuses_count": 11909, + "translator_type": "none", + "url": "https://t.co/hZErkwOOZr", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1872357677378019776", + "professional_type": "Creator", + "category": [ + { + "id": 15, + "name": "Entertainment & Recreation", + "icon_name": "IconBriefcaseStroke" + } + ] + }, + "tipjar_settings": { + "is_enabled": true, + "bitcoin_handle": "bc1q6ffu4c2ly3fzdrs3t8j33234kme03ysyuzgce9", + "ethereum_handle": "0xba94D1B156826F6Bc0b2eDD850c72331daBd95b5" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-21433980", + "sortIndex": "1897829016367267829", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoyMTQzMzk4MA==", + "rest_id": "21433980", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Fri Feb 20 21:07:26 +0000 2009", + "default_profile": true, + "default_profile_image": false, + "description": "Into all things Techno", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 140, + "followers_count": 21, + "friends_count": 52, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "Sydney", + "media_count": 0, + "name": "Eddie Lim", + "normal_followers_count": 21, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1874684576360169472/uh5PCqzS_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "therealeddielim", + "statuses_count": 86, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1897198650457272320", + "sortIndex": "1897829016367267828", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxODk3MTk4NjUwNDU3MjcyMzIw", + "rest_id": "1897198650457272320", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Wed Mar 05 08:13:24 +0000 2025", + "default_profile": true, + "default_profile_image": false, + "description": "", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 0, + "followers_count": 0, + "friends_count": 3, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 0, + "name": "TheWash app", + "normal_followers_count": 0, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897198977642037248/ZyWpoBJU_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "Thewashapp_bcn", + "statuses_count": 0, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-848635117836873728", + "sortIndex": "1897829016367267827", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NDg2MzUxMTc4MzY4NzM3Mjg=", + "rest_id": "848635117836873728", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": false, + "created_at": "Sun Apr 02 20:35:53 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "computer programmer | car enthusiast", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "dominicthomas.me", + "expanded_url": "https://dominicthomas.me", + "url": "https://t.co/JwjrTtEWtY", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 7458, + "followers_count": 196, + "friends_count": 1291, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 4, + "location": "", + "media_count": 33, + "name": "Dom", + "normal_followers_count": 196, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/848635117836873728/1741121795", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1486778896850862081/KnQLzuw-_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "domtomthedev", + "statuses_count": 2224, + "translator_type": "none", + "url": "https://t.co/JwjrTtEWtY", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true, + "cash_app_handle": "d0mt0m" + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1229765584901955584", + "sortIndex": "1897829016367267826", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjI5NzY1NTg0OTAxOTU1NTg0", + "rest_id": "1229765584901955584", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Feb 18 13:52:25 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "Software Engineer / Backend, DevOps", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 2357, + "followers_count": 133, + "friends_count": 495, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 6, + "location": "Tokyo", + "media_count": 60, + "name": "Sho", + "normal_followers_count": 133, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1229765584901955584/1733191555", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1897260805302968325/TnCUWlZd_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "00sht_", + "statuses_count": 481, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1525532640019095552", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-991756998", + "sortIndex": "1897829016367267825", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5OTE3NTY5OTg=", + "rest_id": "991756998", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Wed Dec 05 21:00:56 +0000 2012", + "default_profile": true, + "default_profile_image": false, + "description": "@THC_Labz | @LunardollzNft | @lucky_dogs2025 | @GAINZNFTS", + "entities": { + "description": { + "urls": [] + }, + "url": { + "urls": [ + { + "display_url": "linktr.ee/Shimmy0802", + "expanded_url": "https://linktr.ee/Shimmy0802", + "url": "https://t.co/dv7AmA309k", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 3203, + "followers_count": 615, + "friends_count": 1833, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "Chicago, Illinois", + "media_count": 729, + "name": "Shimmy", + "normal_followers_count": 615, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/991756998/1737866107", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1889881338183856129/Ae0gm9SD_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "jason_shimmy", + "statuses_count": 4724, + "translator_type": "none", + "url": "https://t.co/dv7AmA309k", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "professional": { + "rest_id": "1825674610311913787", + "professional_type": "Creator", + "category": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-933121477666332672", + "sortIndex": "1897829016367267824", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo5MzMxMjE0Nzc2NjYzMzI2NzI=", + "rest_id": "933121477666332672", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Tue Nov 21 23:54:31 +0000 2017", + "default_profile": true, + "default_profile_image": false, + "description": "“Pionero del #Bitcoin ⚡ | Creyente en la libertad financiera y el poder de la descentralización | HODLer a largo plazo | Transformando el futuro 🟠", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 4336, + "followers_count": 113, + "friends_count": 881, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 5, + "location": "La Libertad, El Salvador", + "media_count": 35, + "name": "TheReal Bitmage⚡", + "normal_followers_count": 113, + "pinned_tweet_ids_str": [], + "possibly_sensitive": true, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/933121477666332672/1736017894", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1875621103466352640/amezrBHI_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "DLegend76", + "statuses_count": 315, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1260805702932725770", + "sortIndex": "1897829016367267823", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMjYwODA1NzAyOTMyNzI1Nzcw", + "rest_id": "1260805702932725770", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Thu May 14 05:35:05 +0000 2020", + "default_profile": true, + "default_profile_image": false, + "description": "Be yourself, everyone else is already taken.", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 664, + "followers_count": 140, + "friends_count": 322, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "UK 🇬🇧", + "media_count": 0, + "name": "Emily", + "normal_followers_count": 140, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1260805702932725770/1736445397", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1877413834308116481/Mzzguam7_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "MarionnEmily", + "statuses_count": 1912, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-846432643579330560", + "sortIndex": "1897829016367267822", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjo4NDY0MzI2NDM1NzkzMzA1NjA=", + "rest_id": "846432643579330560", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": true, + "can_media_tag": true, + "created_at": "Mon Mar 27 18:44:02 +0000 2017", + "default_profile": false, + "default_profile_image": false, + "description": "Frontend/full-stack engineer, mostly React, Next.js, TypeScript, TailwindCSS, tRPC nowadays. Building https://t.co/stofpZtt8r", + "entities": { + "description": { + "urls": [ + { + "display_url": "easyinvoicepdf.com", + "expanded_url": "https://easyinvoicepdf.com", + "url": "https://t.co/stofpZtt8r", + "indices": [ + 102, + 125 + ] + } + ] + }, + "url": { + "urls": [ + { + "display_url": "vladsazon.com", + "expanded_url": "https://vladsazon.com", + "url": "https://t.co/4orvRCRMvO", + "indices": [ + 0, + 23 + ] + } + ] + } + }, + "fast_followers_count": 0, + "favourites_count": 31420, + "followers_count": 86, + "friends_count": 1662, + "has_custom_timelines": true, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 19, + "name": "Vlad Sazonau", + "normal_followers_count": 86, + "pinned_tweet_ids_str": [ + "1893642883229519970" + ], + "possibly_sensitive": false, + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1893812331525685248/38FDw5Pu_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "vlad_sazon", + "statuses_count": 156, + "translator_type": "none", + "url": "https://t.co/4orvRCRMvO", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": {} + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "user-1137892568010776576", + "sortIndex": "1897829016367267821", + "content": { + "entryType": "TimelineTimelineItem", + "__typename": "TimelineTimelineItem", + "itemContent": { + "itemType": "TimelineUser", + "__typename": "TimelineUser", + "user_results": { + "result": { + "__typename": "User", + "id": "VXNlcjoxMTM3ODkyNTY4MDEwNzc2NTc2", + "rest_id": "1137892568010776576", + "affiliates_highlighted_label": {}, + "has_graduated_access": true, + "is_blue_verified": true, + "profile_image_shape": "Circle", + "legacy": { + "following": false, + "can_dm": false, + "can_media_tag": true, + "created_at": "Mon Jun 10 01:21:44 +0000 2019", + "default_profile": true, + "default_profile_image": false, + "description": "Sou um Homem/Menino com um Grande Sonho!\nVou lutar pra alcançar meus Objetivos.\n\nFé em Deus 🙌\n\n24 y", + "entities": { + "description": { + "urls": [] + } + }, + "fast_followers_count": 0, + "favourites_count": 330, + "followers_count": 8, + "friends_count": 245, + "has_custom_timelines": false, + "is_translator": false, + "listed_count": 0, + "location": "", + "media_count": 4, + "name": "LZN", + "normal_followers_count": 8, + "pinned_tweet_ids_str": [], + "possibly_sensitive": false, + "profile_banner_url": "https://pbs.twimg.com/profile_banners/1137892568010776576/1590395616", + "profile_image_url_https": "https://pbs.twimg.com/profile_images/1525286788822179840/MO3m0wCm_normal.jpg", + "profile_interstitial_type": "", + "screen_name": "lzngod", + "statuses_count": 139, + "translator_type": "none", + "verified": false, + "want_retweets": false, + "withheld_in_countries": [] + }, + "tipjar_settings": { + "is_enabled": true + } + } + }, + "userDisplayType": "User" + }, + "clientEventInfo": { + "component": "BlueVerifiedFollowersSgs", + "element": "user" + } + } + }, + { + "entryId": "cursor-bottom-1897829016367267820", + "sortIndex": "1897829016367267820", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "1825886428817458253|1897829016367267818", + "cursorType": "Bottom" + } + }, + { + "entryId": "cursor-top-1897829016367267841", + "sortIndex": "1897829016367267841", + "content": { + "entryType": "TimelineTimelineCursor", + "__typename": "TimelineTimelineCursor", + "value": "-1|1897829016367267841", + "cursorType": "Top" + } + } + ] + } + ] + } + } + } + } + } +} diff --git a/apps/twscrape/tests/test_api.py b/apps/twscrape/tests/test_api.py new file mode 100644 index 0000000..97c5f9d --- /dev/null +++ b/apps/twscrape/tests/test_api.py @@ -0,0 +1,61 @@ +import os + +import pytest + +from twscrape.accounts_pool import NoAccountError +from twscrape.api import API +from twscrape.utils import gather, get_env_bool + + +class MockedError(Exception): + pass + + +GQL_GEN = [ + "search", + "tweet_replies", + "retweeters", + "followers", + "following", + "user_tweets", + "user_tweets_and_replies", + "list_timeline", + "trends", +] + + +async def test_gql_params(api_mock: API, monkeypatch): + for func in GQL_GEN: + args = [] + + def mock_gql_items(*a, **kw): + args.append((a, kw)) + raise MockedError() + + try: + monkeypatch.setattr(api_mock, "_gql_items", mock_gql_items) + await gather(getattr(api_mock, func)("user1", limit=100, kv={"count": 100})) + except MockedError: + pass + + assert len(args) == 1, f"{func} not called once" + assert args[0][1]["limit"] == 100, f"limit not changed in {func}" + assert args[0][0][1]["count"] == 100, f"count not changed in {func}" + + +async def test_raise_when_no_account(api_mock: API): + await api_mock.pool.delete_accounts(["user1"]) + assert len(await api_mock.pool.get_all()) == 0 + + assert get_env_bool("TWS_RAISE_WHEN_NO_ACCOUNT") is False + os.environ["TWS_RAISE_WHEN_NO_ACCOUNT"] = "1" + assert get_env_bool("TWS_RAISE_WHEN_NO_ACCOUNT") is True + + with pytest.raises(NoAccountError): + await gather(api_mock.search("foo", limit=10)) + + with pytest.raises(NoAccountError): + await api_mock.user_by_id(123) + + del os.environ["TWS_RAISE_WHEN_NO_ACCOUNT"] + assert get_env_bool("TWS_RAISE_WHEN_NO_ACCOUNT") is False diff --git a/apps/twscrape/tests/test_parser.py b/apps/twscrape/tests/test_parser.py new file mode 100644 index 0000000..8ebe916 --- /dev/null +++ b/apps/twscrape/tests/test_parser.py @@ -0,0 +1,490 @@ +import json +import os +from typing import Callable + +from twscrape import API, gather +from twscrape.models import ( + AudiospaceCard, + BroadcastCard, + PollCard, + SummaryCard, + Trend, + Tweet, + User, + UserRef, + parse_tweet, +) + +BASE_DIR = os.path.dirname(__file__) +DATA_DIR = os.path.join(BASE_DIR, "mocked-data") +os.makedirs(DATA_DIR, exist_ok=True) + + +def get_api(): + api = API() + # To be sure all tests are mocked + api.pool = None # type: ignore + return api + + +class FakeRep: + text: str + + def __init__(self, text: str): + self.text = text + + def json(self): + return json.loads(self.text) + + +def fake_rep(filename: str): + filename = filename if filename.endswith(".json") else f"{filename}.json" + filename = filename if filename.startswith("/") else os.path.join(DATA_DIR, filename) + + with open(filename) as fp: + return FakeRep(fp.read()) + + +def mock_rep(fn: Callable, filename: str, as_generator=False): + rep = fake_rep(filename) + + async def cb_rep(*args, **kwargs): + return rep + + async def cb_gen(*args, **kwargs): + yield rep + + assert "__self__" in dir(fn) + cb = cb_gen if as_generator else cb_rep + cb.__name__ = fn.__name__ + cb.__self__ = fn.__self__ # pyright: ignore + setattr(fn.__self__, fn.__name__, cb) # pyright: ignore + + +def check_tweet(doc: Tweet | None): + assert doc is not None + assert isinstance(doc.id, int) + assert isinstance(doc.id_str, str) + assert str(doc.id) == doc.id_str + + assert doc.url is not None + assert doc.id_str in doc.url + assert doc.user is not None + + assert isinstance(doc.conversationId, int) + assert isinstance(doc.conversationIdStr, str) + assert str(doc.conversationId) == doc.conversationIdStr + + if doc.inReplyToTweetId is not None: + assert isinstance(doc.inReplyToTweetId, int) + assert isinstance(doc.inReplyToTweetIdStr, str) + assert str(doc.inReplyToTweetId) == doc.inReplyToTweetIdStr + + if doc.inReplyToUser: + check_user_ref(doc.inReplyToUser) + + if doc.mentionedUsers: + for x in doc.mentionedUsers: + check_user_ref(x) + + obj = doc.dict() + assert doc.id == obj["id"] + assert doc.id_str == obj["id_str"] + assert doc.user.id == obj["user"]["id"] + + assert "url" in obj + assert "_type" in obj + assert obj["_type"] == "snscrape.modules.twitter.Tweet" + + assert "url" in obj["user"] + assert "_type" in obj["user"] + assert obj["user"]["_type"] == "snscrape.modules.twitter.User" + + txt = doc.json() + assert isinstance(txt, str) + assert str(doc.id) in txt + + if doc.media is not None: + if len(doc.media.photos) > 0: + assert doc.media.photos[0].url is not None + + if len(doc.media.videos) > 0: + for x in doc.media.videos: + assert x.thumbnailUrl is not None + assert x.duration is not None + for v in x.variants: + assert v.url is not None + assert v.bitrate is not None + assert v.contentType is not None + + if doc.retweetedTweet is not None: + try: + assert doc.rawContent.endswith(doc.retweetedTweet.rawContent), "content should be full" + except AssertionError as e: + print("\n" + "-" * 60) + print(doc.url) + print("1:", doc.rawContent) + print("2:", doc.retweetedTweet.rawContent) + print("-" * 60) + raise e + + check_user(doc.user) + assert doc.bookmarkedCount is not None + + +def check_user(doc: User): + assert doc.id is not None + assert isinstance(doc.id, int) + assert isinstance(doc.id_str, str) + assert str(doc.id) == doc.id_str + + assert doc.username is not None + assert doc.descriptionLinks is not None + assert doc.pinnedIds is not None + if doc.pinnedIds: + for x in doc.pinnedIds: + assert isinstance(x, int) + + if len(doc.descriptionLinks) > 0: + for x in doc.descriptionLinks: + assert x.url is not None + assert x.text is not None + assert x.tcourl is not None + + obj = doc.dict() + assert doc.id == obj["id"] + assert doc.username == obj["username"] + + txt = doc.json() + assert isinstance(txt, str) + assert str(doc.id) in txt + + +def check_user_ref(doc: UserRef): + assert isinstance(doc.id, int) + assert isinstance(doc.id_str, str) + assert str(doc.id) == doc.id_str + + assert doc.username is not None + assert doc.displayname is not None + + obj = doc.dict() + assert doc.id == obj["id"] + assert doc.id_str == obj["id_str"] + + +def check_trend(doc: Trend): + assert doc.name is not None + assert doc.trend_url is not None + assert doc.trend_metadata is not None + assert isinstance(doc.grouped_trends, list) or doc.grouped_trends is None + + assert doc.trend_url.url is not None + assert doc.trend_url.urlType is not None + assert doc.trend_url.urlEndpointOptions + + +async def test_search(): + api = get_api() + mock_rep(api.search_raw, "raw_search", as_generator=True) + + items = await gather(api.search("elon musk lang:en", limit=20)) + assert len(items) > 0 + + bookmarks_count = 0 + for doc in items: + check_tweet(doc) + bookmarks_count += doc.bookmarkedCount + + assert bookmarks_count > 0, "`bookmark_fields` key is changed or unluck search data" + + +async def test_user_by_id(): + api = get_api() + mock_rep(api.user_by_id_raw, "raw_user_by_id") + + doc = await api.user_by_id(2244994945) + assert doc is not None + assert doc.id == 2244994945 + assert doc.username == "XDevelopers" + + obj = doc.dict() + assert doc.id == obj["id"] + assert doc.username == obj["username"] + + txt = doc.json() + assert isinstance(txt, str) + assert str(doc.id) in txt + + +async def test_user_by_login(): + api = get_api() + mock_rep(api.user_by_login_raw, "raw_user_by_login") + + doc = await api.user_by_login("xdevelopers") + assert doc is not None + assert doc.id == 2244994945 + assert doc.username == "XDevelopers" + + obj = doc.dict() + assert doc.id == obj["id"] + assert doc.username == obj["username"] + + txt = doc.json() + assert isinstance(txt, str) + assert str(doc.id) in txt + + +async def test_tweet_details(): + api = get_api() + mock_rep(api.tweet_details_raw, "raw_tweet_details") + + doc = await api.tweet_details(1649191520250245121) + assert doc is not None, "tweet should not be None" + check_tweet(doc) + + assert doc.id == 1649191520250245121 + assert doc.user is not None, "tweet.user should not be None" + + +async def test_tweet_replies(): + api = get_api() + mock_rep(api.tweet_replies_raw, "raw_tweet_replies", as_generator=True) + + twid = 1649191520250245121 + tweets = await gather(api.tweet_replies(twid, limit=20)) + assert len(tweets) > 0 + + for doc in tweets: + check_tweet(doc) + assert doc.inReplyToTweetId == twid + + +async def test_followers(): + api = get_api() + mock_rep(api.followers_raw, "raw_followers", as_generator=True) + + users = await gather(api.followers(2244994945)) + assert len(users) > 0 + + for doc in users: + check_user(doc) + + +async def test_verified_followers(): + api = get_api() + mock_rep(api.verified_followers_raw, "raw_verified_followers", as_generator=True) + + users = await gather(api.verified_followers(2244994945)) + assert len(users) > 0 + + for doc in users: + check_user(doc) + assert doc.blue is True, "snould be only Blue users" + + +async def test_subscriptions(): + api = get_api() + mock_rep(api.subscriptions_raw, "raw_subscriptions", as_generator=True) + + users = await gather(api.subscriptions(44196397)) + assert len(users) > 0 + + for doc in users: + check_user(doc) + + +async def test_following(): + api = get_api() + mock_rep(api.following_raw, "raw_following", as_generator=True) + + users = await gather(api.following(2244994945)) + assert len(users) > 0 + + for doc in users: + check_user(doc) + + +async def test_retweters(): + api = get_api() + mock_rep(api.retweeters_raw, "raw_retweeters", as_generator=True) + + users = await gather(api.retweeters(1649191520250245121)) + assert len(users) > 0 + + for doc in users: + check_user(doc) + + +async def test_user_tweets(): + api = get_api() + mock_rep(api.user_tweets_raw, "raw_user_tweets", as_generator=True) + + tweets = await gather(api.user_tweets(2244994945)) + assert len(tweets) > 0 + + is_any_pinned = False + for doc in tweets: + check_tweet(doc) + is_any_pinned = is_any_pinned or doc.id in doc.user.pinnedIds + + assert is_any_pinned, "at least one tweet should be pinned (or bad luck with data)" + + +async def test_user_tweets_and_replies(): + api = get_api() + mock_rep(api.user_tweets_and_replies_raw, "raw_user_tweets_and_replies", as_generator=True) + + tweets = await gather(api.user_tweets_and_replies(2244994945)) + assert len(tweets) > 0 + + for doc in tweets: + check_tweet(doc) + + +async def test_raw_user_media(): + api = get_api() + mock_rep(api.user_media_raw, "raw_user_media", as_generator=True) + + tweets = await gather(api.user_media(2244994945)) + assert len(tweets) > 0 + + for doc in tweets: + check_tweet(doc) + assert doc.media is not None + media_count = len(doc.media.photos) + len(doc.media.videos) + len(doc.media.animated) + assert media_count > 0, f"{doc.url} should have media" + + +async def test_list_timeline(): + api = get_api() + mock_rep(api.list_timeline_raw, "raw_list_timeline", as_generator=True) + + tweets = await gather(api.list_timeline(1494877848087187461)) + assert len(tweets) > 0 + + for doc in tweets: + check_tweet(doc) + + +async def test_trends(): + api = get_api() + mock_rep(api.trends_raw, "raw_trends", as_generator=True) + + items = await gather(api.trends("sport")) + assert len(items) > 0 + + for doc in items: + check_trend(doc) + + +async def test_tweet_with_video(): + api = get_api() + + files = [ + ("manual_tweet_with_video_1.json", 1671508600538161153), + ("manual_tweet_with_video_2.json", 1671753569412820992), + ] + + for file, twid in files: + mock_rep(api.tweet_details_raw, file) + doc = await api.tweet_details(twid) + assert doc is not None + check_tweet(doc) + + +async def test_issue_28(): + api = get_api() + + mock_rep(api.tweet_details_raw, "_issue_28_1") + doc = await api.tweet_details(1658409412799737856) + assert doc is not None + check_tweet(doc) + + assert doc.id == 1658409412799737856 + assert doc.user is not None + + assert doc.retweetedTweet is not None + assert doc.retweetedTweet.viewCount is not None + assert doc.viewCount is not None # views should come from retweetedTweet + assert doc.viewCount == doc.retweetedTweet.viewCount + check_tweet(doc.retweetedTweet) + + mock_rep(api.tweet_details_raw, "_issue_28_2") + doc = await api.tweet_details(1658421690001502208) + assert doc is not None + check_tweet(doc) + assert doc.id == 1658421690001502208 + assert doc.viewCount is not None + + assert doc.quotedTweet is not None + assert doc.quotedTweet.id != doc.id + check_tweet(doc.quotedTweet) + assert doc.quotedTweet.viewCount is not None + + +async def test_issue_42(): + raw = fake_rep("_issue_42").json() + doc = parse_tweet(raw, 1665951747842641921) + assert doc is not None + assert doc.retweetedTweet is not None + assert doc.rawContent is not None + assert doc.retweetedTweet.rawContent is not None + assert doc.rawContent.endswith(doc.retweetedTweet.rawContent) + + +async def test_issue_56(): + raw = fake_rep("_issue_56").json() + doc = parse_tweet(raw, 1682072224013099008) + assert doc is not None + assert len(set([x.tcourl for x in doc.links])) == len(doc.links) + assert len(doc.links) == 5 + + +async def test_cards(): + # Issues: + # - https://github.com/vladkens/twscrape/issues/72 + # - https://github.com/vladkens/twscrape/issues/191 + + # Check SummaryCard + raw = fake_rep("card_summary").json() + doc = parse_tweet(raw, 1696922210588410217) + assert doc is not None + assert doc.card is not None + assert isinstance(doc.card, SummaryCard) + assert doc.card._type == "summary" + assert doc.card.title is not None + assert doc.card.description is not None + assert doc.card.url is not None + + # Check PollCard + raw = fake_rep("card_poll").json() + doc = parse_tweet(raw, 1780666831310877100) + assert doc is not None + assert doc.card is not None + assert isinstance(doc.card, PollCard) + assert doc.card._type == "poll" + assert doc.card.finished is not None + assert doc.card.options is not None + assert len(doc.card.options) > 0 + for x in doc.card.options: + assert x.label is not None + assert x.votesCount is not None + + # Check BrodcastCard + raw = fake_rep("card_broadcast").json() + doc = parse_tweet(raw, 1790441814857826439) + assert doc is not None and doc.card is not None + assert doc.card._type == "broadcast" + assert isinstance(doc.card, BroadcastCard) + assert doc.card.title is not None + assert doc.card.url is not None + assert doc.card.photo is not None + + # Check AudiospaceCard + raw = fake_rep("card_audiospace").json() + doc = parse_tweet(raw, 1789054061729173804) + assert doc is not None and doc.card is not None + assert doc.card._type == "audiospace" + assert isinstance(doc.card, AudiospaceCard) + assert doc.card.url is not None diff --git a/apps/twscrape/tests/test_pool.py b/apps/twscrape/tests/test_pool.py new file mode 100644 index 0000000..3f1f0a9 --- /dev/null +++ b/apps/twscrape/tests/test_pool.py @@ -0,0 +1,138 @@ +from twscrape.accounts_pool import AccountsPool +from twscrape.utils import utc + + +async def test_add_accounts(pool_mock: AccountsPool): + # should add account + await pool_mock.add_account("user1", "pass1", "email1", "email_pass1") + acc = await pool_mock.get("user1") + assert acc.username == "user1" + assert acc.password == "pass1" + assert acc.email == "email1" + assert acc.email_password == "email_pass1" + + # should not add account with same username + await pool_mock.add_account("user1", "pass2", "email2", "email_pass2") + acc = await pool_mock.get("user1") + assert acc.username == "user1" + assert acc.password == "pass1" + assert acc.email == "email1" + assert acc.email_password == "email_pass1" + + # should not add account with different username case + await pool_mock.add_account("USER1", "pass2", "email2", "email_pass2") + acc = await pool_mock.get("user1") + assert acc.username == "user1" + assert acc.password == "pass1" + assert acc.email == "email1" + assert acc.email_password == "email_pass1" + + # should add account with different username + await pool_mock.add_account("user2", "pass2", "email2", "email_pass2") + acc = await pool_mock.get("user2") + assert acc.username == "user2" + assert acc.password == "pass2" + assert acc.email == "email2" + assert acc.email_password == "email_pass2" + + +async def test_get_all(pool_mock: AccountsPool): + # should return empty list + accs = await pool_mock.get_all() + assert len(accs) == 0 + + # should return all accounts + await pool_mock.add_account("user1", "pass1", "email1", "email_pass1") + await pool_mock.add_account("user2", "pass2", "email2", "email_pass2") + accs = await pool_mock.get_all() + assert len(accs) == 2 + assert accs[0].username == "user1" + assert accs[1].username == "user2" + + +async def test_save(pool_mock: AccountsPool): + # should save account + await pool_mock.add_account("user1", "pass1", "email1", "email_pass1") + acc = await pool_mock.get("user1") + acc.password = "pass2" + await pool_mock.save(acc) + acc = await pool_mock.get("user1") + assert acc.password == "pass2" + + # should not save account + acc = await pool_mock.get("user1") + acc.username = "user2" + await pool_mock.save(acc) + acc = await pool_mock.get("user1") + assert acc.username == "user1" + + +async def test_get_for_queue(pool_mock: AccountsPool): + Q = "test_queue" + + # should return account + await pool_mock.add_account("user1", "pass1", "email1", "email_pass1") + await pool_mock.set_active("user1", True) + acc = await pool_mock.get_for_queue(Q) + assert acc is not None + assert acc.username == "user1" + assert acc.active is True + assert acc.locks is not None + assert Q in acc.locks + assert acc.locks[Q] is not None + + # should return None + acc = await pool_mock.get_for_queue(Q) + assert acc is None + + +async def test_account_unlock(pool_mock: AccountsPool): + Q = "test_queue" + + await pool_mock.add_account("user1", "pass1", "email1", "email_pass1") + await pool_mock.set_active("user1", True) + acc = await pool_mock.get_for_queue(Q) + assert acc is not None + assert acc.locks[Q] is not None + + # should unlock account and make available for queue + await pool_mock.unlock(acc.username, Q) + acc = await pool_mock.get_for_queue(Q) + assert acc is not None + assert acc.locks[Q] is not None + + # should update lock time + end_time = utc.ts() + 60 # + 1 minute + await pool_mock.lock_until(acc.username, Q, end_time) + + acc = await pool_mock.get(acc.username) + assert int(acc.locks[Q].timestamp()) == end_time + + +async def test_get_stats(pool_mock: AccountsPool): + Q = "SearchTimeline" + + # should return empty stats + stats = await pool_mock.stats() + for k, v in stats.items(): + assert v == 0, f"{k} should be 0" + + # should increate total + await pool_mock.add_account("user1", "pass1", "email1", "email_pass1") + stats = await pool_mock.stats() + assert stats["total"] == 1 + assert stats["active"] == 0 + + # should increate active + await pool_mock.set_active("user1", True) + stats = await pool_mock.stats() + assert stats["total"] == 1 + assert stats["active"] == 1 + + # should update queue stats + acc = await pool_mock.get_for_queue(Q) + assert acc is not None + stats = await pool_mock.stats() + assert stats["total"] == 1 + assert stats["active"] == 1 + assert stats[f"locked_{Q}"] == 1 diff --git a/apps/twscrape/tests/test_queue_client.py b/apps/twscrape/tests/test_queue_client.py new file mode 100644 index 0000000..b9265e3 --- /dev/null +++ b/apps/twscrape/tests/test_queue_client.py @@ -0,0 +1,158 @@ +from contextlib import aclosing + +import httpx +from pytest_httpx import HTTPXMock + +from twscrape.accounts_pool import AccountsPool +from twscrape.queue_client import QueueClient + +DB_FILE = "/tmp/twscrape_test_queue_client.db" +URL = "https://example.com/api" +CF = tuple[AccountsPool, QueueClient] + + +async def get_locked(pool: AccountsPool) -> set[str]: + rep = await pool.get_all() + return set([x.username for x in rep if x.locks.get("SearchTimeline", None) is not None]) + + +async def test_lock_account_when_used(httpx_mock: HTTPXMock, client_fixture): + pool, client = client_fixture + + locked = await get_locked(pool) + assert len(locked) == 0 + + # should lock account on getting it + await client.__aenter__() + locked = await get_locked(pool) + assert len(locked) == 1 + assert "user1" in locked + + # keep locked on request + httpx_mock.add_response(url=URL, json={"foo": "bar"}, status_code=200) + assert (await client.get(URL)).json() == {"foo": "bar"} + + locked = await get_locked(pool) + assert len(locked) == 1 + assert "user1" in locked + + # unlock on exit + await client.__aexit__(None, None, None) + locked = await get_locked(pool) + assert len(locked) == 0 + + +async def test_do_not_switch_account_on_200(httpx_mock: HTTPXMock, client_fixture: CF): + pool, client = client_fixture + + # get account and lock it + await client.__aenter__() + locked1 = await get_locked(pool) + assert len(locked1) == 1 + + # make several requests with status=200 + for x in range(1): + httpx_mock.add_response(url=URL, json={"foo": x}, status_code=200) + rep = await client.get(URL) + assert rep is not None + assert rep.json() == {"foo": x} + + # account should not be switched + locked2 = await get_locked(pool) + assert locked1 == locked2 + + # unlock on exit + await client.__aexit__(None, None, None) + locked3 = await get_locked(pool) + assert len(locked3) == 0 + + +async def test_switch_acc_on_http_error(httpx_mock: HTTPXMock, client_fixture: CF): + pool, client = client_fixture + + # locked account on enter + await client.__aenter__() + locked1 = await get_locked(pool) + assert len(locked1) == 1 + + # fail one request, account should be switched + httpx_mock.add_response(url=URL, json={"foo": "1"}, status_code=403) + httpx_mock.add_response(url=URL, json={"foo": "2"}, status_code=200) + + rep = await client.get(URL) + assert rep is not None + assert rep.json() == {"foo": "2"} + + locked2 = await get_locked(pool) + assert len(locked2) == 2 + + # unlock on exit (failed account still should locked) + await client.__aexit__(None, None, None) + locked3 = await get_locked(pool) + assert len(locked3) == 1 + assert locked1 == locked3 # failed account locked + + +async def test_retry_with_same_acc_on_network_error(httpx_mock: HTTPXMock, client_fixture: CF): + pool, client = client_fixture + + # locked account on enter + await client.__aenter__() + locked1 = await get_locked(pool) + assert len(locked1) == 1 + + # timeout on first request, account should not be switched + httpx_mock.add_exception(httpx.ReadTimeout("Unable to read within timeout")) + httpx_mock.add_response(url=URL, json={"foo": "2"}, status_code=200) + + rep = await client.get(URL) + assert rep is not None + assert rep.json() == {"foo": "2"} + + locked2 = await get_locked(pool) + assert locked2 == locked1 + + # check username added to request obj (for logging) + username = getattr(rep, "__username", None) + assert username is not None + + +async def test_ctx_closed_on_break(httpx_mock: HTTPXMock, client_fixture: CF): + pool, client = client_fixture + + async def get_data_stream(): + async with client as c: + counter = 0 + while True: + counter += 1 + check_retry = counter == 2 + before_ctx = c.ctx + + if check_retry: + httpx_mock.add_response(url=URL, json={"counter": counter}, status_code=403) + httpx_mock.add_response(url=URL, json={"counter": counter}, status_code=200) + else: + httpx_mock.add_response(url=URL, json={"counter": counter}, status_code=200) + + rep = await c.get(URL) + + if check_retry: + assert before_ctx != c.ctx + elif before_ctx is not None: + assert before_ctx == c.ctx + + assert rep is not None + assert rep.json() == {"counter": counter} + yield rep.json()["counter"] + + if counter == 9: + return + + # need to use async with to break to work + async with aclosing(get_data_stream()) as gen: + async for x in gen: + if x == 3: + break + + # ctx should be None after break + assert client.ctx is None diff --git a/apps/twscrape/tests/test_utils.py b/apps/twscrape/tests/test_utils.py new file mode 100644 index 0000000..cf2374b --- /dev/null +++ b/apps/twscrape/tests/test_utils.py @@ -0,0 +1,27 @@ +import pytest + +from twscrape.utils import parse_cookies + + +def test_cookies_parse(): + val = "abc=123; def=456; ghi=789" + assert parse_cookies(val) == {"abc": "123", "def": "456", "ghi": "789"} + + val = '{"abc": "123", "def": "456", "ghi": "789"}' + assert parse_cookies(val) == {"abc": "123", "def": "456", "ghi": "789"} + + val = '[{"name": "abc", "value": "123"}, {"name": "def", "value": "456"}, {"name": "ghi", "value": "789"}]' + assert parse_cookies(val) == {"abc": "123", "def": "456", "ghi": "789"} + + val = "eyJhYmMiOiAiMTIzIiwgImRlZiI6ICI0NTYiLCAiZ2hpIjogIjc4OSJ9" + assert parse_cookies(val) == {"abc": "123", "def": "456", "ghi": "789"} + + val = "W3sibmFtZSI6ICJhYmMiLCAidmFsdWUiOiAiMTIzIn0sIHsibmFtZSI6ICJkZWYiLCAidmFsdWUiOiAiNDU2In0sIHsibmFtZSI6ICJnaGkiLCAidmFsdWUiOiAiNzg5In1d" + assert parse_cookies(val) == {"abc": "123", "def": "456", "ghi": "789"} + + val = '{"cookies": {"abc": "123", "def": "456", "ghi": "789"}}' + assert parse_cookies(val) == {"abc": "123", "def": "456", "ghi": "789"} + + with pytest.raises(ValueError, match=r"Invalid cookie value: .+"): + val = "{invalid}" + assert parse_cookies(val) == {} diff --git a/apps/twscrape/twscrape/__init__.py b/apps/twscrape/twscrape/__init__.py new file mode 100644 index 0000000..1bbc98a --- /dev/null +++ b/apps/twscrape/twscrape/__init__.py @@ -0,0 +1,7 @@ +# ruff: noqa: F401 +from .account import Account +from .accounts_pool import AccountsPool, NoAccountError +from .api import API +from .logger import set_log_level +from .models import * # noqa: F403 +from .utils import gather diff --git a/apps/twscrape/twscrape/account.py b/apps/twscrape/twscrape/account.py new file mode 100644 index 0000000..4d9d7cb --- /dev/null +++ b/apps/twscrape/twscrape/account.py @@ -0,0 +1,75 @@ +import json +import os +import sqlite3 +from dataclasses import asdict, dataclass, field +from datetime import datetime + +from httpx import AsyncClient, AsyncHTTPTransport + +from .models import JSONTrait +from .utils import utc + +TOKEN = "Bearer AAAAAAAAAAAAAAAAAAAAANRILgAAAAAAnNwIzUejRCOuH5E6I8xnZz4puTs%3D1Zv7ttfk8LF81IUq16cHjhLTvJu4FA33AGWWjCpTnA" + + +@dataclass +class Account(JSONTrait): + username: str + password: str + email: str + email_password: str + user_agent: str + active: bool + locks: dict[str, datetime] = field(default_factory=dict) # queue: datetime + stats: dict[str, int] = field(default_factory=dict) # queue: requests + headers: dict[str, str] = field(default_factory=dict) + cookies: dict[str, str] = field(default_factory=dict) + mfa_code: str | None = None + proxy: str | None = None + error_msg: str | None = None + last_used: datetime | None = None + _tx: str | None = None + + @staticmethod + def from_rs(rs: sqlite3.Row): + doc = dict(rs) + doc["locks"] = {k: utc.from_iso(v) for k, v in json.loads(doc["locks"]).items()} + doc["stats"] = {k: v for k, v in json.loads(doc["stats"]).items() if isinstance(v, int)} + doc["headers"] = json.loads(doc["headers"]) + doc["cookies"] = json.loads(doc["cookies"]) + doc["active"] = bool(doc["active"]) + doc["last_used"] = utc.from_iso(doc["last_used"]) if doc["last_used"] else None + return Account(**doc) + + def to_rs(self): + rs = asdict(self) + rs["locks"] = json.dumps(rs["locks"], default=lambda x: x.isoformat()) + rs["stats"] = json.dumps(rs["stats"]) + rs["headers"] = json.dumps(rs["headers"]) + rs["cookies"] = json.dumps(rs["cookies"]) + rs["last_used"] = rs["last_used"].isoformat() if rs["last_used"] else None + return rs + + def make_client(self, proxy: str | None = None) -> AsyncClient: + proxies = [proxy, os.getenv("TWS_PROXY"), self.proxy] + proxies = [x for x in proxies if x is not None] + proxy = proxies[0] if proxies else None + + transport = AsyncHTTPTransport(retries=2) + client = AsyncClient(proxy=proxy, follow_redirects=True, transport=transport) + + # saved from previous usage + client.cookies.update(self.cookies) + client.headers.update(self.headers) + + # default settings + client.headers["user-agent"] = self.user_agent + client.headers["content-type"] = "application/json" + client.headers["authorization"] = TOKEN + client.headers["x-twitter-active-user"] = "yes" + client.headers["x-twitter-client-language"] = "en" + + if "ct0" in client.cookies: + client.headers["x-csrf-token"] = client.cookies["ct0"] + + return client diff --git a/apps/twscrape/twscrape/accounts_pool.py b/apps/twscrape/twscrape/accounts_pool.py new file mode 100644 index 0000000..8ba9f40 --- /dev/null +++ b/apps/twscrape/twscrape/accounts_pool.py @@ -0,0 +1,385 @@ +import asyncio +import sqlite3 +import uuid +from datetime import datetime, timezone +from typing import TypedDict + +from fake_useragent import UserAgent +from httpx import HTTPStatusError + +from .account import Account +from .db import execute, fetchall, fetchone +from .logger import logger +from .login import LoginConfig, login +from .utils import get_env_bool, parse_cookies, utc + + +class NoAccountError(Exception): + pass + + +class AccountInfo(TypedDict): + username: str + logged_in: bool + active: bool + last_used: datetime | None + total_req: int + error_msg: str | None + + +def guess_delim(line: str): + lp, rp = tuple([x.strip() for x in line.split("username")]) + return rp[0] if not lp else lp[-1] + + +class AccountsPool: + # _order_by: str = "RANDOM()" + _order_by: str = "username" + + def __init__( + self, + db_file="accounts.db", + login_config: LoginConfig | None = None, + raise_when_no_account=False, + ): + self._db_file = db_file + self._login_config = login_config or LoginConfig() + self._raise_when_no_account = raise_when_no_account + + async def load_from_file(self, filepath: str, line_format: str): + line_delim = guess_delim(line_format) + tokens = line_format.split(line_delim) + + required = set(["username", "password", "email", "email_password"]) + if not required.issubset(tokens): + raise ValueError(f"Invalid line format: {line_format}") + + accounts = [] + with open(filepath, "r") as f: + lines = f.read().split("\n") + lines = [x.strip() for x in lines if x.strip()] + + for line in lines: + data = [x.strip() for x in line.split(line_delim)] + if len(data) < len(tokens): + raise ValueError(f"Invalid line: {line}") + + data = data[: len(tokens)] + vals = {k: v for k, v in zip(tokens, data) if k != "_"} + accounts.append(vals) + + for x in accounts: + await self.add_account(**x) + + async def add_account( + self, + username: str, + password: str, + email: str, + email_password: str, + user_agent: str | None = None, + proxy: str | None = None, + cookies: str | None = None, + mfa_code: str | None = None, + ): + qs = "SELECT * FROM accounts WHERE username = :username" + rs = await fetchone(self._db_file, qs, {"username": username}) + if rs: + logger.warning(f"Account {username} already exists") + return + + account = Account( + username=username, + password=password, + email=email, + email_password=email_password, + user_agent=user_agent or UserAgent().safari, + active=False, + locks={}, + stats={}, + headers={}, + cookies=parse_cookies(cookies) if cookies else {}, + proxy=proxy, + mfa_code=mfa_code, + ) + + if "ct0" in account.cookies: + account.active = True + + await self.save(account) + logger.info(f"Account {username} added successfully (active={account.active})") + + async def delete_accounts(self, usernames: str | list[str]): + usernames = usernames if isinstance(usernames, list) else [usernames] + usernames = list(set(usernames)) + if not usernames: + logger.warning("No usernames provided") + return + + qs = f"""DELETE FROM accounts WHERE username IN ({",".join([f'"{x}"' for x in usernames])})""" + await execute(self._db_file, qs) + + async def delete_inactive(self): + qs = "DELETE FROM accounts WHERE active = false" + await execute(self._db_file, qs) + + async def get(self, username: str): + qs = "SELECT * FROM accounts WHERE username = :username" + rs = await fetchone(self._db_file, qs, {"username": username}) + if not rs: + raise ValueError(f"Account {username} not found") + return Account.from_rs(rs) + + async def get_all(self): + qs = "SELECT * FROM accounts" + rs = await fetchall(self._db_file, qs) + return [Account.from_rs(x) for x in rs] + + async def get_account(self, username: str): + qs = "SELECT * FROM accounts WHERE username = :username" + rs = await fetchone(self._db_file, qs, {"username": username}) + if not rs: + return None + return Account.from_rs(rs) + + async def save(self, account: Account): + data = account.to_rs() + cols = list(data.keys()) + + qs = f""" + INSERT INTO accounts ({",".join(cols)}) VALUES ({",".join([f":{x}" for x in cols])}) + ON CONFLICT(username) DO UPDATE SET {",".join([f"{x}=excluded.{x}" for x in cols])} + """ + await execute(self._db_file, qs, data) + + async def login(self, account: Account): + try: + await login(account, cfg=self._login_config) + logger.info(f"Logged in to {account.username} successfully") + return True + except HTTPStatusError as e: + rep = e.response + logger.error(f"Failed to login '{account.username}': {rep.status_code} - {rep.text}") + return False + except Exception as e: + logger.error(f"Failed to login '{account.username}': {e}") + return False + finally: + await self.save(account) + + async def login_all(self, usernames: list[str] | None = None): + if usernames is None: + qs = "SELECT * FROM accounts WHERE active = false AND error_msg IS NULL" + else: + us = ",".join([f'"{x}"' for x in usernames]) + qs = f"SELECT * FROM accounts WHERE username IN ({us})" + + rs = await fetchall(self._db_file, qs) + accounts = [Account.from_rs(rs) for rs in rs] + # await asyncio.gather(*[login(x) for x in self.accounts]) + + counter = {"total": len(accounts), "success": 0, "failed": 0} + for i, x in enumerate(accounts, start=1): + logger.info(f"[{i}/{len(accounts)}] Logging in {x.username} - {x.email}") + status = await self.login(x) + counter["success" if status else "failed"] += 1 + return counter + + async def relogin(self, usernames: str | list[str]): + usernames = usernames if isinstance(usernames, list) else [usernames] + usernames = list(set(usernames)) + if not usernames: + logger.warning("No usernames provided") + return + + qs = f""" + UPDATE accounts SET + active = false, + locks = json_object(), + last_used = NULL, + error_msg = NULL, + headers = json_object(), + cookies = json_object(), + user_agent = "{UserAgent().safari}" + WHERE username IN ({",".join([f'"{x}"' for x in usernames])}) + """ + + await execute(self._db_file, qs) + await self.login_all(usernames) + + async def relogin_failed(self): + qs = "SELECT username FROM accounts WHERE active = false AND error_msg IS NOT NULL" + rs = await fetchall(self._db_file, qs) + await self.relogin([x["username"] for x in rs]) + + async def reset_locks(self): + qs = "UPDATE accounts SET locks = json_object()" + await execute(self._db_file, qs) + + async def set_active(self, username: str, active: bool): + qs = "UPDATE accounts SET active = :active WHERE username = :username" + await execute(self._db_file, qs, {"username": username, "active": active}) + + async def lock_until(self, username: str, queue: str, unlock_at: int, req_count=0): + qs = f""" + UPDATE accounts SET + locks = json_set(locks, '$.{queue}', datetime({unlock_at}, 'unixepoch')), + stats = json_set(stats, '$.{queue}', COALESCE(json_extract(stats, '$.{queue}'), 0) + {req_count}), + last_used = datetime({utc.ts()}, 'unixepoch') + WHERE username = :username + """ + await execute(self._db_file, qs, {"username": username}) + + async def unlock(self, username: str, queue: str, req_count=0): + qs = f""" + UPDATE accounts SET + locks = json_remove(locks, '$.{queue}'), + stats = json_set(stats, '$.{queue}', COALESCE(json_extract(stats, '$.{queue}'), 0) + {req_count}), + last_used = datetime({utc.ts()}, 'unixepoch') + WHERE username = :username + """ + await execute(self._db_file, qs, {"username": username}) + + async def _get_and_lock(self, queue: str, condition: str): + # if space in condition, it's a subquery, otherwise it's username + condition = f"({condition})" if " " in condition else f"'{condition}'" + + if int(sqlite3.sqlite_version_info[1]) >= 35: + qs = f""" + UPDATE accounts SET + locks = json_set(locks, '$.{queue}', datetime('now', '+15 minutes')), + last_used = datetime({utc.ts()}, 'unixepoch') + WHERE username = {condition} + RETURNING * + """ + rs = await fetchone(self._db_file, qs) + else: + tx = uuid.uuid4().hex + qs = f""" + UPDATE accounts SET + locks = json_set(locks, '$.{queue}', datetime('now', '+15 minutes')), + last_used = datetime({utc.ts()}, 'unixepoch'), + _tx = '{tx}' + WHERE username = {condition} + """ + await execute(self._db_file, qs) + + qs = f"SELECT * FROM accounts WHERE _tx = '{tx}'" + rs = await fetchone(self._db_file, qs) + + return Account.from_rs(rs) if rs else None + + async def get_for_queue(self, queue: str): + q = f""" + SELECT username FROM accounts + WHERE active = true AND ( + locks IS NULL + OR json_extract(locks, '$.{queue}') IS NULL + OR json_extract(locks, '$.{queue}') < datetime('now') + ) + ORDER BY {self._order_by} + LIMIT 1 + """ + + return await self._get_and_lock(queue, q) + + async def get_for_queue_or_wait(self, queue: str) -> Account | None: + msg_shown = False + while True: + account = await self.get_for_queue(queue) + if not account: + if self._raise_when_no_account or get_env_bool("TWS_RAISE_WHEN_NO_ACCOUNT"): + raise NoAccountError(f"No account available for queue {queue}") + + if not msg_shown: + nat = await self.next_available_at(queue) + if not nat: + logger.warning("No active accounts. Stopping...") + return None + + msg = f'No account available for queue "{queue}". Next available at {nat}' + logger.info(msg) + msg_shown = True + + await asyncio.sleep(5) + continue + else: + if msg_shown: + logger.info(f"Continuing with account {account.username} on queue {queue}") + + return account + + async def next_available_at(self, queue: str): + qs = f""" + SELECT json_extract(locks, '$."{queue}"') as lock_until + FROM accounts + WHERE active = true AND json_extract(locks, '$."{queue}"') IS NOT NULL + ORDER BY lock_until ASC + LIMIT 1 + """ + rs = await fetchone(self._db_file, qs) + if rs: + now, trg = utc.now(), utc.from_iso(rs[0]) + if trg < now: + return "now" + + at_local = datetime.now() + (trg - now) + return at_local.strftime("%H:%M:%S") + + return None + + async def mark_inactive(self, username: str, error_msg: str | None): + qs = """ + UPDATE accounts SET active = false, error_msg = :error_msg + WHERE username = :username + """ + await execute(self._db_file, qs, {"username": username, "error_msg": error_msg}) + + async def stats(self): + def locks_count(queue: str): + return f""" + SELECT COUNT(*) FROM accounts + WHERE json_extract(locks, '$.{queue}') IS NOT NULL + AND json_extract(locks, '$.{queue}') > datetime('now') + """ + + qs = "SELECT DISTINCT(f.key) as k from accounts, json_each(locks) f" + rs = await fetchall(self._db_file, qs) + gql_ops = [x["k"] for x in rs] + + config = [ + ("total", "SELECT COUNT(*) FROM accounts"), + ("active", "SELECT COUNT(*) FROM accounts WHERE active = true"), + ("inactive", "SELECT COUNT(*) FROM accounts WHERE active = false"), + *[(f"locked_{x}", locks_count(x)) for x in gql_ops], + ] + + qs = f"SELECT {','.join([f'({q}) as {k}' for k, q in config])}" + rs = await fetchone(self._db_file, qs) + return dict(rs) if rs else {} + + async def accounts_info(self): + accounts = await self.get_all() + + items: list[AccountInfo] = [] + for x in accounts: + item: AccountInfo = { + "username": x.username, + "logged_in": (x.headers or {}).get("authorization", "") != "", + "active": x.active, + "last_used": x.last_used, + "total_req": sum(x.stats.values()), + "error_msg": str(x.error_msg)[0:60], + } + items.append(item) + + old_time = datetime(1970, 1, 1).replace(tzinfo=timezone.utc) + items = sorted(items, key=lambda x: x["username"].lower()) + items = sorted( + items, + key=lambda x: x["last_used"] or old_time if x["total_req"] > 0 else old_time, + reverse=True, + ) + items = sorted(items, key=lambda x: x["active"], reverse=True) + # items = sorted(items, key=lambda x: x["total_req"], reverse=True) + return items diff --git a/apps/twscrape/twscrape/api.py b/apps/twscrape/twscrape/api.py new file mode 100644 index 0000000..2c744a2 --- /dev/null +++ b/apps/twscrape/twscrape/api.py @@ -0,0 +1,514 @@ +from contextlib import aclosing +from typing import Literal + +from httpx import Response + +from .accounts_pool import AccountsPool +from .logger import set_log_level +from .models import Tweet, User, parse_trends, parse_tweet, parse_tweets, parse_user, parse_users +from .queue_client import QueueClient +from .utils import encode_params, find_obj, get_by_path + +# OP_{NAME} – {NAME} should be same as second part of GQL ID (required to auto-update script) +OP_SearchTimeline = "U3QTLwGF8sZCHDuWIMSAmg/SearchTimeline" +OP_UserByRestId = "5vdJ5sWkbSRDiiNZvwc2Yg/UserByRestId" +OP_UserByScreenName = "32pL5BWe9WKeSK1MoPvFQQ/UserByScreenName" +OP_TweetDetail = "Ez6kRPyXbqNlhBwcNMpU-Q/TweetDetail" +OP_Followers = "OGScL-RC4DFMsRGOCjPR6g/Followers" +OP_Following = "o5eNLkJb03ayTQa97Cpp7w/Following" +OP_Retweeters = "niCJ2QyTuAgZWv01E7mqJQ/Retweeters" +OP_UserTweets = "Y9WM4Id6UcGFE8Z-hbnixw/UserTweets" +OP_UserTweetsAndReplies = "pZXwh96YGRqmBbbxu7Vk2Q/UserTweetsAndReplies" +OP_ListLatestTweetsTimeline = "H_dAKg97dSn3FOMfrNS8nw/ListLatestTweetsTimeline" +OP_BlueVerifiedFollowers = "WijS8Cwfqhtk5hDN9q7sgw/BlueVerifiedFollowers" +OP_UserCreatorSubscriptions = "H4p-DZU4gYqcZulycazCZw/UserCreatorSubscriptions" +OP_UserMedia = "ophTtKkfXcUKnXlxh9fU5w/UserMedia" +OP_Bookmarks = "1vFR5f4iSCQZLzjdSsNYwA/Bookmarks" +OP_GenericTimelineById = "5u36Lskx1dfACjC_WHmH3Q/GenericTimelineById" + +GQL_URL = "https://x.com/i/api/graphql" +GQL_FEATURES = { # search values here (view source) https://x.com/ + "articles_preview_enabled": False, + "c9s_tweet_anatomy_moderator_badge_enabled": True, + "communities_web_enable_tweet_community_results_fetch": True, + "creator_subscriptions_quote_tweet_preview_enabled": False, + "creator_subscriptions_tweet_preview_api_enabled": True, + "freedom_of_speech_not_reach_fetch_enabled": True, + "graphql_is_translatable_rweb_tweet_is_translatable_enabled": True, + "longform_notetweets_consumption_enabled": True, + "longform_notetweets_inline_media_enabled": True, + "longform_notetweets_rich_text_read_enabled": True, + "responsive_web_edit_tweet_api_enabled": True, + "responsive_web_enhance_cards_enabled": False, + "responsive_web_graphql_exclude_directive_enabled": True, + "responsive_web_graphql_skip_user_profile_image_extensions_enabled": False, + "responsive_web_graphql_timeline_navigation_enabled": True, + "responsive_web_media_download_video_enabled": False, + "responsive_web_twitter_article_tweet_consumption_enabled": True, + "rweb_tipjar_consumption_enabled": True, + "rweb_video_timestamps_enabled": True, + "standardized_nudges_misinfo": True, + "tweet_awards_web_tipping_enabled": False, + "tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled": True, + "tweet_with_visibility_results_prefer_gql_media_interstitial_enabled": False, + "tweetypie_unmention_optimization_enabled": True, + "verified_phone_label_enabled": False, + "view_counts_everywhere_api_enabled": True, + "responsive_web_grok_analyze_button_fetch_trends_enabled": False, + "premium_content_api_read_enabled": False, + "profile_label_improvements_pcf_label_in_post_enabled": False, + "responsive_web_grok_share_attachment_enabled": False, + "responsive_web_grok_analyze_post_followups_enabled": False, + "responsive_web_grok_image_annotation_enabled": False, + "responsive_web_grok_analysis_button_from_backend": False, + "responsive_web_jetfuel_frame": False, +} + +KV = dict | None +TrendId = Literal["trending", "news", "sport", "entertainment"] | str + + +class API: + # Note: kv is variables, ft is features from original GQL request + pool: AccountsPool + + def __init__( + self, + pool: AccountsPool | str | None = None, + debug=False, + proxy: str | None = None, + raise_when_no_account=False, + ): + if isinstance(pool, AccountsPool): + self.pool = pool + elif isinstance(pool, str): + self.pool = AccountsPool(db_file=pool, raise_when_no_account=raise_when_no_account) + else: + self.pool = AccountsPool(raise_when_no_account=raise_when_no_account) + + self.proxy = proxy + self.debug = debug + if self.debug: + set_log_level("DEBUG") + + # general helpers + + def _is_end(self, rep: Response, q: str, res: list, cur: str | None, cnt: int, lim: int): + new_count = len(res) + new_total = cnt + new_count + + is_res = new_count > 0 + is_cur = cur is not None + is_lim = lim > 0 and new_total >= lim + + return rep if is_res else None, new_total, is_cur and not is_lim + + def _get_cursor(self, obj: dict, cursor_type="Bottom") -> str | None: + if cur := find_obj(obj, lambda x: x.get("cursorType") == cursor_type): + return cur.get("value") + return None + + # gql helpers + + async def _gql_items( + self, op: str, kv: dict, ft: dict | None = None, limit=-1, cursor_type="Bottom" + ): + queue, cur, cnt, active = op.split("/")[-1], None, 0, True + kv, ft = {**kv}, {**GQL_FEATURES, **(ft or {})} + + async with QueueClient(self.pool, queue, self.debug, proxy=self.proxy) as client: + while active: + params = {"variables": kv, "features": ft} + if cur is not None: + params["variables"]["cursor"] = cur + if queue in ("SearchTimeline", "ListLatestTweetsTimeline"): + params["fieldToggles"] = {"withArticleRichContentState": False} + if queue in ("UserMedia",): + params["fieldToggles"] = {"withArticlePlainText": False} + + rep = await client.get(f"{GQL_URL}/{op}", params=encode_params(params)) + if rep is None: + return + + obj = rep.json() + els = get_by_path(obj, "entries") or [] + els = [ + x + for x in els + if not ( + x["entryId"].startswith("cursor-") + or x["entryId"].startswith("messageprompt-") + ) + ] + cur = self._get_cursor(obj, cursor_type) + + rep, cnt, active = self._is_end(rep, queue, els, cur, cnt, limit) + if rep is None: + return + + yield rep + + async def _gql_item(self, op: str, kv: dict, ft: dict | None = None): + ft = ft or {} + queue = op.split("/")[-1] + async with QueueClient(self.pool, queue, self.debug, proxy=self.proxy) as client: + params = {"variables": {**kv}, "features": {**GQL_FEATURES, **ft}} + return await client.get(f"{GQL_URL}/{op}", params=encode_params(params)) + + # search + + async def search_raw(self, q: str, limit=-1, kv: KV = None): + op = OP_SearchTimeline + kv = { + "rawQuery": q, + "count": 20, + "product": "Latest", + "querySource": "typed_query", + **(kv or {}), + } + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def search(self, q: str, limit=-1, kv: KV = None): + async with aclosing(self.search_raw(q, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep.json(), limit): + yield x + + async def search_user(self, q: str, limit=-1, kv: KV = None): + kv = {"product": "People", **(kv or {})} + async with aclosing(self.search_raw(q, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_users(rep.json(), limit): + yield x + + # user_by_id + + async def user_by_id_raw(self, uid: int, kv: KV = None): + op = OP_UserByRestId + kv = {"userId": str(uid), "withSafetyModeUserFields": True, **(kv or {})} + ft = { + "hidden_profile_likes_enabled": True, + "highlights_tweets_tab_ui_enabled": True, + "creator_subscriptions_tweet_preview_api_enabled": True, + "hidden_profile_subscriptions_enabled": True, + "responsive_web_twitter_article_notes_tab_enabled": False, + "subscriptions_feature_can_gift_premium": False, + "profile_label_improvements_pcf_label_in_post_enabled": False, + } + return await self._gql_item(op, kv, ft) + + async def user_by_id(self, uid: int, kv: KV = None) -> User | None: + rep = await self.user_by_id_raw(uid, kv=kv) + return parse_user(rep) if rep else None + + # user_by_login + + async def user_by_login_raw(self, login: str, kv: KV = None): + op = OP_UserByScreenName + kv = {"screen_name": login, "withSafetyModeUserFields": True, **(kv or {})} + ft = { + "highlights_tweets_tab_ui_enabled": True, + "hidden_profile_likes_enabled": True, + "creator_subscriptions_tweet_preview_api_enabled": True, + "hidden_profile_subscriptions_enabled": True, + "subscriptions_verification_info_verified_since_enabled": True, + "subscriptions_verification_info_is_identity_verified_enabled": False, + "responsive_web_twitter_article_notes_tab_enabled": False, + "subscriptions_feature_can_gift_premium": False, + "profile_label_improvements_pcf_label_in_post_enabled": False, + } + return await self._gql_item(op, kv, ft) + + async def user_by_login(self, login: str, kv: KV = None) -> User | None: + rep = await self.user_by_login_raw(login, kv=kv) + return parse_user(rep) if rep else None + + # tweet_details + + async def tweet_details_raw(self, twid: int, kv: KV = None): + op = OP_TweetDetail + kv = { + "focalTweetId": str(twid), + "with_rux_injections": True, + "includePromotedContent": True, + "withCommunity": True, + "withQuickPromoteEligibilityTweetFields": True, + "withBirdwatchNotes": True, + "withVoice": True, + "withV2Timeline": True, + **(kv or {}), + } + return await self._gql_item(op, kv) + + async def tweet_details(self, twid: int, kv: KV = None) -> Tweet | None: + rep = await self.tweet_details_raw(twid, kv=kv) + return parse_tweet(rep, twid) if rep else None + + # tweet_replies + # note: uses same op as tweet_details, see: https://github.com/vladkens/twscrape/issues/104 + + async def tweet_replies_raw(self, twid: int, limit=-1, kv: KV = None): + op = OP_TweetDetail + kv = { + "focalTweetId": str(twid), + "referrer": "tweet", + "with_rux_injections": True, + "includePromotedContent": True, + "withCommunity": True, + "withQuickPromoteEligibilityTweetFields": True, + "withBirdwatchNotes": True, + "withVoice": True, + "withV2Timeline": True, + **(kv or {}), + } + async with aclosing( + self._gql_items(op, kv, limit=limit, cursor_type="ShowMoreThreads") + ) as gen: + async for x in gen: + yield x + + async def tweet_replies(self, twid: int, limit=-1, kv: KV = None): + async with aclosing(self.tweet_replies_raw(twid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep.json(), limit): + if x.inReplyToTweetId == twid: + yield x + + # followers + + async def followers_raw(self, uid: int, limit=-1, kv: KV = None): + op = OP_Followers + kv = {"userId": str(uid), "count": 20, "includePromotedContent": False, **(kv or {})} + ft = {"responsive_web_twitter_article_notes_tab_enabled": False} + async with aclosing(self._gql_items(op, kv, limit=limit, ft=ft)) as gen: + async for x in gen: + yield x + + async def followers(self, uid: int, limit=-1, kv: KV = None): + async with aclosing(self.followers_raw(uid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_users(rep.json(), limit): + yield x + + # verified_followers + + async def verified_followers_raw(self, uid: int, limit=-1, kv: KV = None): + op = OP_BlueVerifiedFollowers + kv = {"userId": str(uid), "count": 20, "includePromotedContent": False, **(kv or {})} + ft = { + "responsive_web_twitter_article_notes_tab_enabled": True, + } + async with aclosing(self._gql_items(op, kv, limit=limit, ft=ft)) as gen: + async for x in gen: + yield x + + async def verified_followers(self, uid: int, limit=-1, kv: KV = None): + async with aclosing(self.verified_followers_raw(uid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_users(rep.json(), limit): + yield x + + # following + + async def following_raw(self, uid: int, limit=-1, kv: KV = None): + op = OP_Following + kv = {"userId": str(uid), "count": 20, "includePromotedContent": False, **(kv or {})} + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def following(self, uid: int, limit=-1, kv: KV = None): + async with aclosing(self.following_raw(uid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_users(rep.json(), limit): + yield x + + # subscriptions + + async def subscriptions_raw(self, uid: int, limit=-1, kv: KV = None): + op = OP_UserCreatorSubscriptions + kv = {"userId": str(uid), "count": 20, "includePromotedContent": False, **(kv or {})} + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def subscriptions(self, uid: int, limit=-1, kv: KV = None): + async with aclosing(self.subscriptions_raw(uid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_users(rep.json(), limit): + yield x + + # retweeters + + async def retweeters_raw(self, twid: int, limit=-1, kv: KV = None): + op = OP_Retweeters + kv = {"tweetId": str(twid), "count": 20, "includePromotedContent": True, **(kv or {})} + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def retweeters(self, twid: int, limit=-1, kv: KV = None): + async with aclosing(self.retweeters_raw(twid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_users(rep.json(), limit): + yield x + + # user_tweets + + async def user_tweets_raw(self, uid: int, limit=-1, kv: KV = None): + op = OP_UserTweets + kv = { + "userId": str(uid), + "count": 40, + "includePromotedContent": True, + "withQuickPromoteEligibilityTweetFields": True, + "withVoice": True, + "withV2Timeline": True, + **(kv or {}), + } + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def user_tweets(self, uid: int, limit=-1, kv: KV = None): + async with aclosing(self.user_tweets_raw(uid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep.json(), limit): + yield x + + # user_tweets_and_replies + + async def user_tweets_and_replies_raw(self, uid: int, limit=-1, kv: KV = None): + op = OP_UserTweetsAndReplies + kv = { + "userId": str(uid), + "count": 40, + "includePromotedContent": True, + "withCommunity": True, + "withVoice": True, + "withV2Timeline": True, + **(kv or {}), + } + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def user_tweets_and_replies(self, uid: int, limit=-1, kv: KV = None): + async with aclosing(self.user_tweets_and_replies_raw(uid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep.json(), limit): + yield x + + # user_media + + async def user_media_raw(self, uid: int, limit=-1, kv: KV = None): + op = OP_UserMedia + kv = { + "userId": str(uid), + "count": 40, + "includePromotedContent": False, + "withClientEventToken": False, + "withBirdwatchNotes": False, + "withVoice": True, + "withV2Timeline": True, + **(kv or {}), + } + + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def user_media(self, uid: int, limit=-1, kv: KV = None): + async with aclosing(self.user_media_raw(uid, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep, limit): + # sometimes some tweets without media, so skip them + media_count = ( + len(x.media.photos) + len(x.media.videos) + len(x.media.animated) + if x.media + else 0 + ) + + if media_count > 0: + yield x + + # list_timeline + + async def list_timeline_raw(self, list_id: int, limit=-1, kv: KV = None): + op = OP_ListLatestTweetsTimeline + kv = {"listId": str(list_id), "count": 20, **(kv or {})} + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def list_timeline(self, list_id: int, limit=-1, kv: KV = None): + async with aclosing(self.list_timeline_raw(list_id, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep, limit): + yield x + + # trends + + async def trends_raw(self, trend_id: TrendId, limit=-1, kv: KV = None): + map = { + "trending": "VGltZWxpbmU6DAC2CwABAAAACHRyZW5kaW5nAAA", + "news": "VGltZWxpbmU6DAC2CwABAAAABG5ld3MAAA", + "sport": "VGltZWxpbmU6DAC2CwABAAAABnNwb3J0cwAA", + "entertainment": "VGltZWxpbmU6DAC2CwABAAAADWVudGVydGFpbm1lbnQAAA", + } + trend_id = map.get(trend_id, trend_id) + + op = OP_GenericTimelineById + kv = { + "timelineId": trend_id, + "count": 20, + "withQuickPromoteEligibilityTweetFields": True, + **(kv or {}), + } + async with aclosing(self._gql_items(op, kv, limit=limit)) as gen: + async for x in gen: + yield x + + async def trends(self, trend_id: TrendId, limit=-1, kv: KV = None): + async with aclosing(self.trends_raw(trend_id, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_trends(rep, limit): + yield x + + async def search_trend(self, q: str, limit=-1, kv: KV = None): + kv = { + "querySource": "trend_click", + **(kv or {}), + } + async with aclosing(self.search_raw(q, limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep.json(), limit): + yield x + + # Get current user bookmarks + + async def bookmarks_raw(self, limit=-1, kv: KV = None): + op = OP_Bookmarks + kv = { + "count": 20, + "includePromotedContent": False, + "withClientEventToken": False, + "withBirdwatchNotes": False, + "withVoice": True, + "withV2Timeline": True, + **(kv or {}), + } + ft = { + "graphql_timeline_v2_bookmark_timeline": True, + } + async with aclosing(self._gql_items(op, kv, ft, limit=limit)) as gen: + async for x in gen: + yield x + + async def bookmarks(self, limit=-1, kv: KV = None): + async with aclosing(self.bookmarks_raw(limit=limit, kv=kv)) as gen: + async for rep in gen: + for x in parse_tweets(rep.json(), limit): + yield x diff --git a/apps/twscrape/twscrape/cli.py b/apps/twscrape/twscrape/cli.py new file mode 100644 index 0000000..6b3d66f --- /dev/null +++ b/apps/twscrape/twscrape/cli.py @@ -0,0 +1,207 @@ +#!/usr/bin/env python3 + +import argparse +import asyncio +import io +import json +import sqlite3 +from importlib.metadata import version + +import httpx + +from .api import API, AccountsPool +from .db import get_sqlite_version +from .logger import logger, set_log_level +from .login import LoginConfig +from .models import Tweet, User +from .utils import print_table + + +class CustomHelpFormatter(argparse.HelpFormatter): + def __init__(self, prog): + super().__init__(prog, max_help_position=30, width=120) + + +def get_fn_arg(args): + names = ["query", "tweet_id", "user_id", "username", "list_id", "trend_id"] + for name in names: + if name in args: + return name, getattr(args, name) + + logger.error(f"Missing argument: {names}") + exit(1) + + +def to_str(doc: httpx.Response | Tweet | User | None) -> str: + if doc is None: + return "Not Found. See --raw for more details." + + tmp = doc.json() + return tmp if isinstance(tmp, str) else json.dumps(tmp, default=str) + + +async def main(args): + if args.debug: + set_log_level("DEBUG") + + if args.command == "version": + print(f"twscrape: {version('twscrape')}") + print(f"SQLite runtime: {sqlite3.sqlite_version} ({await get_sqlite_version()})") + return + + login_config = LoginConfig(getattr(args, "email_first", False), getattr(args, "manual", False)) + pool = AccountsPool(args.db, login_config=login_config) + api = API(pool, debug=args.debug) + + if args.command == "accounts": + print_table([dict(x) for x in await pool.accounts_info()]) + return + + if args.command == "stats": + rep = await pool.stats() + total, active, inactive = rep["total"], rep["active"], rep["inactive"] + + res = [] + for k, v in rep.items(): + if not k.startswith("locked") or v == 0: + continue + res.append({"queue": k, "locked": v, "available": max(active - v, 0)}) + + res = sorted(res, key=lambda x: x["locked"], reverse=True) + print_table(res, hr_after=True) + print(f"Total: {total} - Active: {active} - Inactive: {inactive}") + return + + if args.command == "add_accounts": + await pool.load_from_file(args.file_path, args.line_format) + print("\nNow run:\ntwscrape login_accounts") + return + + if args.command == "del_accounts": + await pool.delete_accounts(args.usernames) + return + + if args.command == "login_accounts": + stats = await pool.login_all() + print(stats) + return + + if args.command == "relogin_failed": + await pool.relogin_failed() + return + + if args.command == "relogin": + await pool.relogin(args.usernames) + return + + if args.command == "reset_locks": + await pool.reset_locks() + return + + if args.command == "delete_inactive": + await pool.delete_inactive() + return + + fn = args.command + "_raw" if args.raw else args.command + fn = getattr(api, fn, None) + if fn is None: + logger.error(f"Unknown command: {args.command}") + exit(1) + + _, val = get_fn_arg(args) + + if "limit" in args: + async for doc in fn(val, limit=args.limit): + print(to_str(doc)) + else: + doc = await fn(val) + print(to_str(doc)) + + +def custom_help(p): + buffer = io.StringIO() + p.print_help(buffer) + msg = buffer.getvalue() + + cmd = msg.split("positional arguments:")[1].strip().split("\n")[0] + msg = msg.replace("positional arguments:", "commands:") + msg = [x for x in msg.split("\n") if cmd not in x and "..." not in x] + msg[0] = f"{msg[0]} <command> [...]" + + i = 0 + for i, line in enumerate(msg): + if line.strip().startswith("search"): + break + + msg.insert(i, "") + msg.insert(i + 1, "search commands:") + + print("\n".join(msg)) + + +def run(): + p = argparse.ArgumentParser(add_help=False, formatter_class=CustomHelpFormatter) + p.add_argument("--db", default="accounts.db", help="Accounts database file") + p.add_argument("--debug", action="store_true", help="Enable debug mode") + subparsers = p.add_subparsers(dest="command") + + def c_one(name: str, msg: str, a_name: str, a_msg: str, a_type: type = str): + p = subparsers.add_parser(name, help=msg) + p.add_argument(a_name, help=a_msg, type=a_type) + p.add_argument("--raw", action="store_true", help="Print raw response") + return p + + def c_lim(name: str, msg: str, a_name: str, a_msg: str, a_type: type = str): + p = c_one(name, msg, a_name, a_msg, a_type) + p.add_argument("--limit", type=int, default=-1, help="Max tweets to retrieve") + return p + + subparsers.add_parser("version", help="Show version") + subparsers.add_parser("accounts", help="List all accounts") + subparsers.add_parser("stats", help="Get current usage stats") + + add_accounts = subparsers.add_parser("add_accounts", help="Add accounts") + add_accounts.add_argument("file_path", help="File with accounts") + add_accounts.add_argument("line_format", help="args of Pool.add_account splited by same delim") + + del_accounts = subparsers.add_parser("del_accounts", help="Delete accounts") + del_accounts.add_argument("usernames", nargs="+", default=[], help="Usernames to delete") + + login_cmd = subparsers.add_parser("login_accounts", help="Login accounts") + relogin = subparsers.add_parser("relogin", help="Re-login selected accounts") + relogin.add_argument("usernames", nargs="+", default=[], help="Usernames to re-login") + re_failed = subparsers.add_parser("relogin_failed", help="Retry login for failed accounts") + + login_commands = [login_cmd, relogin, re_failed] + for cmd in login_commands: + cmd.add_argument("--email-first", action="store_true", help="Check email first") + cmd.add_argument("--manual", action="store_true", help="Enter email code manually") + + subparsers.add_parser("reset_locks", help="Reset all locks") + subparsers.add_parser("delete_inactive", help="Delete inactive accounts") + + c_lim("search", "Search for tweets", "query", "Search query") + c_one("tweet_details", "Get tweet details", "tweet_id", "Tweet ID", int) + c_lim("tweet_replies", "Get replies of a tweet", "tweet_id", "Tweet ID", int) + c_lim("retweeters", "Get retweeters of a tweet", "tweet_id", "Tweet ID", int) + c_one("user_by_id", "Get user data by ID", "user_id", "User ID", int) + c_one("user_by_login", "Get user data by username", "username", "Username") + c_lim("following", "Get user following", "user_id", "User ID", int) + c_lim("followers", "Get user followers", "user_id", "User ID", int) + # https://x.com/xDaily/status/1701694747767648500 + c_lim("verified_followers", "Get user verified followers", "user_id", "User ID", int) + c_lim("subscriptions", "Get user subscriptions", "user_id", "User ID", int) + c_lim("user_tweets", "Get user tweets", "user_id", "User ID", int) + c_lim("user_tweets_and_replies", "Get user tweets and replies", "user_id", "User ID", int) + c_lim("user_media", "Get user's media", "user_id", "User ID", int) + c_lim("list_timeline", "Get tweets from list", "list_id", "List ID", int) + c_lim("trends", "Get trends", "trend_id", "Trend ID or name", str) + + args = p.parse_args() + if args.command is None: + return custom_help(p) + + try: + asyncio.run(main(args)) + except KeyboardInterrupt: + pass diff --git a/apps/twscrape/twscrape/db.py b/apps/twscrape/twscrape/db.py new file mode 100644 index 0000000..862ee10 --- /dev/null +++ b/apps/twscrape/twscrape/db.py @@ -0,0 +1,158 @@ +import asyncio +import random +import sqlite3 +from collections import defaultdict + +import aiosqlite + +from .logger import logger + +MIN_SQLITE_VERSION = "3.24" + +_lock = asyncio.Lock() + + +def lock_retry(max_retries=10): + # this lock decorator has double nature: + # 1. it uses asyncio lock in same process + # 2. it retries when db locked by other process (eg. two cli instances running) + def decorator(func): + async def wrapper(*args, **kwargs): + for i in range(max_retries): + try: + async with _lock: + return await func(*args, **kwargs) + except sqlite3.OperationalError as e: + if i == max_retries - 1 or "database is locked" not in str(e): + raise e + + await asyncio.sleep(random.uniform(0.5, 1.0)) + + return wrapper + + return decorator + + +async def get_sqlite_version(): + async with aiosqlite.connect(":memory:") as db: + async with db.execute("SELECT SQLITE_VERSION()") as cur: + rs = await cur.fetchone() + return rs[0] if rs else "3.0.0" + + +async def check_version(): + ver = await get_sqlite_version() + ver = ".".join(ver.split(".")[:2]) + + try: + msg = f"SQLite version '{ver}' is too old, please upgrade to {MIN_SQLITE_VERSION}+" + if float(ver) < float(MIN_SQLITE_VERSION): + raise SystemError(msg) + except ValueError: + pass + + +async def migrate(db: aiosqlite.Connection): + async with db.execute("PRAGMA user_version") as cur: + rs = await cur.fetchone() + uv = rs[0] if rs else 0 + + async def v1(): + qs = """ + CREATE TABLE IF NOT EXISTS accounts ( + username TEXT PRIMARY KEY NOT NULL COLLATE NOCASE, + password TEXT NOT NULL, + email TEXT NOT NULL COLLATE NOCASE, + email_password TEXT NOT NULL, + user_agent TEXT NOT NULL, + active BOOLEAN DEFAULT FALSE NOT NULL, + locks TEXT DEFAULT '{}' NOT NULL, + headers TEXT DEFAULT '{}' NOT NULL, + cookies TEXT DEFAULT '{}' NOT NULL, + proxy TEXT DEFAULT NULL, + error_msg TEXT DEFAULT NULL + );""" + await db.execute(qs) + + async def v2(): + await db.execute("ALTER TABLE accounts ADD COLUMN stats TEXT DEFAULT '{}' NOT NULL") + await db.execute("ALTER TABLE accounts ADD COLUMN last_used TEXT DEFAULT NULL") + + async def v3(): + await db.execute("ALTER TABLE accounts ADD COLUMN _tx TEXT DEFAULT NULL") + + async def v4(): + await db.execute("ALTER TABLE accounts ADD COLUMN mfa_code TEXT DEFAULT NULL") + + migrations = { + 1: v1, + 2: v2, + 3: v3, + 4: v4, + } + + # logger.debug(f"Current migration v{uv} (latest v{len(migrations)})") + for i in range(uv + 1, len(migrations) + 1): + logger.info(f"Running migration to v{i}") + try: + await migrations[i]() + except sqlite3.OperationalError as e: + if "duplicate column name" not in str(e): + raise e + + await db.execute(f"PRAGMA user_version = {i}") + await db.commit() + + +class DB: + _init_queries: defaultdict[str, list[str]] = defaultdict(list) + _init_once: defaultdict[str, bool] = defaultdict(bool) + + def __init__(self, db_path): + self.db_path = db_path + self.conn = None + + async def __aenter__(self): + await check_version() + db = await aiosqlite.connect(self.db_path) + db.row_factory = aiosqlite.Row + + if not self._init_once[self.db_path]: + await migrate(db) + self._init_once[self.db_path] = True + + self.conn = db + return db + + async def __aexit__(self, exc_type, exc_val, exc_tb): + if self.conn: + await self.conn.commit() + await self.conn.close() + + +@lock_retry() +async def execute(db_path: str, qs: str, params: dict | None = None): + async with DB(db_path) as db: + await db.execute(qs, params) + + +@lock_retry() +async def fetchone(db_path: str, qs: str, params: dict | None = None): + async with DB(db_path) as db: + async with db.execute(qs, params) as cur: + row = await cur.fetchone() + return row + + +@lock_retry() +async def fetchall(db_path: str, qs: str, params: dict | None = None): + async with DB(db_path) as db: + async with db.execute(qs, params) as cur: + rows = await cur.fetchall() + return rows + + +@lock_retry() +async def executemany(db_path: str, qs: str, params: list[dict]): + async with DB(db_path) as db: + await db.executemany(qs, params) diff --git a/apps/twscrape/twscrape/imap.py b/apps/twscrape/twscrape/imap.py new file mode 100644 index 0000000..acf4917 --- /dev/null +++ b/apps/twscrape/twscrape/imap.py @@ -0,0 +1,111 @@ +import asyncio +import email as emaillib +import imaplib +import os +import time +from datetime import datetime + +from .logger import logger + + +def env_int(key: str | list[str], default: int) -> int: + key = [key] if isinstance(key, str) else key + val = [os.getenv(k) for k in key] + val = [int(x) for x in val if x is not None] + return val[0] if val else default + + +TWS_WAIT_EMAIL_CODE = env_int(["TWS_WAIT_EMAIL_CODE", "LOGIN_CODE_TIMEOUT"], 30) + + +class EmailLoginError(Exception): + def __init__(self, message="Email login error"): + self.message = message + super().__init__(self.message) + + +class EmailCodeTimeoutError(Exception): + def __init__(self, message="Email code timeout"): + self.message = message + super().__init__(self.message) + + +IMAP_MAPPING: dict[str, str] = { + "yahoo.com": "imap.mail.yahoo.com", + "icloud.com": "imap.mail.me.com", + "outlook.com": "imap-mail.outlook.com", + "hotmail.com": "imap-mail.outlook.com", +} + + +def add_imap_mapping(email_domain: str, imap_domain: str): + IMAP_MAPPING[email_domain] = imap_domain + + +def _get_imap_domain(email: str) -> str: + email_domain = email.split("@")[1] + if email_domain in IMAP_MAPPING: + return IMAP_MAPPING[email_domain] + return f"imap.{email_domain}" + + +def _wait_email_code(imap: imaplib.IMAP4_SSL, count: int, min_t: datetime | None) -> str | None: + for i in range(count, 0, -1): + _, rep = imap.fetch(str(i), "(RFC822)") + for x in rep: + if isinstance(x, tuple): + msg = emaillib.message_from_bytes(x[1]) + + # https://www.ietf.org/rfc/rfc9051.html#section-6.3.12-13 + msg_time = msg.get("Date", "").split("(")[0].strip() + msg_time = datetime.strptime(msg_time, "%a, %d %b %Y %H:%M:%S %z") + + msg_from = str(msg.get("From", "")).lower() + msg_subj = str(msg.get("Subject", "")).lower() + logger.info(f"({i} of {count}) {msg_from} - {msg_time} - {msg_subj}") + + if min_t is not None and msg_time < min_t: + return None + + if "info@x.com" in msg_from and "confirmation code is" in msg_subj: + # eg. Your Twitter confirmation code is XXX + return msg_subj.split(" ")[-1].strip() + + return None + + +async def imap_get_email_code( + imap: imaplib.IMAP4_SSL, email: str, min_t: datetime | None = None +) -> str: + try: + logger.info(f"Waiting for confirmation code for {email}...") + start_time = time.time() + while True: + _, rep = imap.select("INBOX") + msg_count = int(rep[0].decode("utf-8")) if len(rep) > 0 and rep[0] is not None else 0 + code = _wait_email_code(imap, msg_count, min_t) + if code is not None: + return code + + if TWS_WAIT_EMAIL_CODE < time.time() - start_time: + raise EmailCodeTimeoutError(f"Email code timeout ({TWS_WAIT_EMAIL_CODE} sec)") + + await asyncio.sleep(5) + except Exception as e: + imap.select("INBOX") + imap.close() + raise e + + +async def imap_login(email: str, password: str): + domain = _get_imap_domain(email) + imap = imaplib.IMAP4_SSL(domain) + + try: + imap.login(email, password) + imap.select("INBOX", readonly=True) + except imaplib.IMAP4.error as e: + logger.error(f"Error logging into {email} on {domain}: {e}") + raise EmailLoginError() from e + + return imap diff --git a/apps/twscrape/twscrape/logger.py b/apps/twscrape/twscrape/logger.py new file mode 100644 index 0000000..ad781a5 --- /dev/null +++ b/apps/twscrape/twscrape/logger.py @@ -0,0 +1,20 @@ +import sys +from typing import Literal + +from loguru import logger + +_LEVELS = Literal["TRACE", "DEBUG", "INFO", "WARNING", "ERROR", "CRITICAL"] +_LOG_LEVEL: _LEVELS = "INFO" + + +def set_log_level(level: _LEVELS): + global _LOG_LEVEL + _LOG_LEVEL = level + + +def _filter(r): + return r["level"].no >= logger.level(_LOG_LEVEL).no + + +logger.remove() +logger.add(sys.stderr, filter=_filter) diff --git a/apps/twscrape/twscrape/login.py b/apps/twscrape/twscrape/login.py new file mode 100644 index 0000000..1f73c7b --- /dev/null +++ b/apps/twscrape/twscrape/login.py @@ -0,0 +1,279 @@ +import imaplib +from dataclasses import dataclass +from datetime import timedelta +from typing import Any + +import pyotp +from httpx import AsyncClient, Response + +from .account import Account +from .imap import imap_get_email_code, imap_login +from .logger import logger +from .utils import utc + +LOGIN_URL = "https://api.x.com/1.1/onboarding/task.json" + + +@dataclass +class LoginConfig: + email_first: bool = False + manual: bool = False + + +@dataclass +class TaskCtx: + client: AsyncClient + acc: Account + cfg: LoginConfig + prev: Any + imap: None | imaplib.IMAP4_SSL + + +async def get_guest_token(client: AsyncClient): + rep = await client.post("https://api.x.com/1.1/guest/activate.json") + rep.raise_for_status() + return rep.json()["guest_token"] + + +async def login_initiate(client: AsyncClient) -> Response: + payload = { + "input_flow_data": { + "flow_context": {"debug_overrides": {}, "start_location": {"location": "unknown"}} + }, + "subtask_versions": {}, + } + + rep = await client.post(LOGIN_URL, params={"flow_name": "login"}, json=payload) + rep.raise_for_status() + return rep + + +async def login_alternate_identifier(ctx: TaskCtx, *, username: str) -> Response: + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "LoginEnterAlternateIdentifierSubtask", + "enter_text": {"text": username, "link": "next_link"}, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_instrumentation(ctx: TaskCtx) -> Response: + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "LoginJsInstrumentationSubtask", + "js_instrumentation": {"response": "{}", "link": "next_link"}, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_enter_username(ctx: TaskCtx) -> Response: + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "LoginEnterUserIdentifierSSO", + "settings_list": { + "setting_responses": [ + { + "key": "user_identifier", + "response_data": {"text_data": {"result": ctx.acc.username}}, + } + ], + "link": "next_link", + }, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_enter_password(ctx: TaskCtx) -> Response: + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "LoginEnterPassword", + "enter_password": {"password": ctx.acc.password, "link": "next_link"}, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_two_factor_auth_challenge(ctx: TaskCtx) -> Response: + if ctx.acc.mfa_code is None: + raise ValueError("MFA code is required") + + totp = pyotp.TOTP(ctx.acc.mfa_code) + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "LoginTwoFactorAuthChallenge", + "enter_text": {"text": totp.now(), "link": "next_link"}, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_duplication_check(ctx: TaskCtx) -> Response: + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "AccountDuplicationCheck", + "check_logged_in_account": {"link": "AccountDuplicationCheck_false"}, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_confirm_email(ctx: TaskCtx) -> Response: + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "LoginAcid", + "enter_text": {"text": ctx.acc.email, "link": "next_link"}, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_confirm_email_code(ctx: TaskCtx): + if ctx.cfg.manual: + print(f"Enter email code for {ctx.acc.username} / {ctx.acc.email}") + value = input("Code: ") + value = value.strip() + else: + if not ctx.imap: + ctx.imap = await imap_login(ctx.acc.email, ctx.acc.email_password) + + now_time = utc.now() - timedelta(seconds=30) + value = await imap_get_email_code(ctx.imap, ctx.acc.email, now_time) + + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [ + { + "subtask_id": "LoginAcid", + "enter_text": {"text": value, "link": "next_link"}, + } + ], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def login_success(ctx: TaskCtx) -> Response: + payload = { + "flow_token": ctx.prev["flow_token"], + "subtask_inputs": [], + } + + rep = await ctx.client.post(LOGIN_URL, json=payload) + rep.raise_for_status() + return rep + + +async def next_login_task(ctx: TaskCtx, rep: Response): + ct0 = ctx.client.cookies.get("ct0", None) + if ct0: + ctx.client.headers["x-csrf-token"] = ct0 + ctx.client.headers["x-twitter-auth-type"] = "OAuth2Session" + + ctx.prev = rep.json() + assert "flow_token" in ctx.prev, f"flow_token not in {rep.text}" + + for x in ctx.prev["subtasks"]: + task_id = x["subtask_id"] + + try: + if task_id == "LoginSuccessSubtask": + return await login_success(ctx) + if task_id == "LoginAcid": + is_code = x["enter_text"]["hint_text"].lower() == "confirmation code" + fn = login_confirm_email_code if is_code else login_confirm_email + return await fn(ctx) + if task_id == "AccountDuplicationCheck": + return await login_duplication_check(ctx) + if task_id == "LoginEnterPassword": + return await login_enter_password(ctx) + if task_id == "LoginTwoFactorAuthChallenge": + return await login_two_factor_auth_challenge(ctx) + if task_id == "LoginEnterUserIdentifierSSO": + return await login_enter_username(ctx) + if task_id == "LoginJsInstrumentationSubtask": + return await login_instrumentation(ctx) + if task_id == "LoginEnterAlternateIdentifierSubtask": + return await login_alternate_identifier(ctx, username=ctx.acc.username) + except Exception as e: + ctx.acc.error_msg = f"login_step={task_id} err={e}" + raise e + + return None + + +async def login(acc: Account, cfg: LoginConfig | None = None) -> Account: + log_id = f"{acc.username} - {acc.email}" + if acc.active: + logger.info(f"account already active {log_id}") + return acc + + cfg, imap = cfg or LoginConfig(), None + if cfg.email_first and not cfg.manual: + imap = await imap_login(acc.email, acc.email_password) + + async with acc.make_client() as client: + guest_token = await get_guest_token(client) + client.headers["x-guest-token"] = guest_token + + rep = await login_initiate(client) + ctx = TaskCtx(client, acc, cfg, None, imap) + while True: + rep = await next_login_task(ctx, rep) + if not rep: + break + + assert "ct0" in client.cookies, "ct0 not in cookies (most likely ip ban)" + client.headers["x-csrf-token"] = client.cookies["ct0"] + client.headers["x-twitter-auth-type"] = "OAuth2Session" + + acc.active = True + acc.headers = {k: v for k, v in client.headers.items()} + acc.cookies = {k: v for k, v in client.cookies.items()} + return acc diff --git a/apps/twscrape/twscrape/models.py b/apps/twscrape/twscrape/models.py new file mode 100644 index 0000000..d8ab740 --- /dev/null +++ b/apps/twscrape/twscrape/models.py @@ -0,0 +1,780 @@ +import email.utils +import json +import os +import random +import re +import string +import sys +import traceback +from dataclasses import asdict, dataclass, field +from datetime import datetime +from typing import Generator, Optional, Union + +import httpx + +from .logger import logger +from .utils import find_item, get_or, int_or, to_old_rep, utc + + +@dataclass +class JSONTrait: + def dict(self): + return asdict(self) + + def json(self): + return json.dumps(self.dict(), default=str) + + +@dataclass +class Coordinates(JSONTrait): + longitude: float + latitude: float + + @staticmethod + def parse(tw_obj: dict): + if tw_obj.get("coordinates"): + coords = tw_obj["coordinates"]["coordinates"] + return Coordinates(coords[0], coords[1]) + if tw_obj.get("geo"): + coords = tw_obj["geo"]["coordinates"] + return Coordinates(coords[1], coords[0]) + return None + + +@dataclass +class Place(JSONTrait): + id: str + fullName: str + name: str + type: str + country: str + countryCode: str + + @staticmethod + def parse(obj: dict): + return Place( + id=obj["id"], + fullName=obj["full_name"], + name=obj["name"], + type=obj["place_type"], + country=obj["country"], + countryCode=obj["country_code"], + ) + + +@dataclass +class TextLink(JSONTrait): + url: str + text: str | None + tcourl: str | None + + @staticmethod + def parse(obj: dict): + tmp = TextLink( + url=obj.get("expanded_url", None), + text=obj.get("display_url", None), + tcourl=obj.get("url", None), + ) + + if tmp.url is None or tmp.tcourl is None: + return None + + return tmp + + +@dataclass +class UserRef(JSONTrait): + id: int + id_str: str + username: str + displayname: str + _type: str = "snscrape.modules.twitter.UserRef" + + @staticmethod + def parse(obj: dict): + return UserRef( + id=int(obj["id_str"]), + id_str=obj["id_str"], + username=obj["screen_name"], + displayname=obj["name"], + ) + + +@dataclass +class User(JSONTrait): + id: int + id_str: str + url: str + username: str + displayname: str + rawDescription: str + created: datetime + followersCount: int + friendsCount: int + statusesCount: int + favouritesCount: int + listedCount: int + mediaCount: int + location: str + profileImageUrl: str + profileBannerUrl: str | None = None + protected: bool | None = None + verified: bool | None = None + blue: bool | None = None + blueType: str | None = None + descriptionLinks: list[TextLink] = field(default_factory=list) + pinnedIds: list[int] = field(default_factory=list) + _type: str = "snscrape.modules.twitter.User" + + # todo: + # link: typing.Optional[TextLink] = None + # label: typing.Optional["UserLabel"] = None + + @staticmethod + def parse(obj: dict, res=None): + return User( + id=int(obj["id_str"]), + id_str=obj["id_str"], + url=f"https://x.com/{obj['screen_name']}", + username=obj["screen_name"], + displayname=obj["name"], + rawDescription=obj["description"], + created=email.utils.parsedate_to_datetime(obj["created_at"]), + followersCount=obj["followers_count"], + friendsCount=obj["friends_count"], + statusesCount=obj["statuses_count"], + favouritesCount=obj["favourites_count"], + listedCount=obj["listed_count"], + mediaCount=obj["media_count"], + location=obj["location"], + profileImageUrl=obj["profile_image_url_https"], + profileBannerUrl=obj.get("profile_banner_url"), + verified=obj.get("verified"), + blue=obj.get("is_blue_verified"), + blueType=obj.get("verified_type"), + protected=obj.get("protected"), + descriptionLinks=_parse_links(obj, ["entities.description.urls", "entities.url.urls"]), + pinnedIds=[int(x) for x in obj.get("pinned_tweet_ids_str", [])], + ) + + +@dataclass +class Tweet(JSONTrait): + id: int + id_str: str + url: str + date: datetime + user: User + lang: str + rawContent: str + replyCount: int + retweetCount: int + likeCount: int + quoteCount: int + bookmarkedCount: int + conversationId: int + conversationIdStr: str + hashtags: list[str] + cashtags: list[str] + mentionedUsers: list[UserRef] + links: list[TextLink] + media: "Media" + viewCount: int | None = None + retweetedTweet: Optional["Tweet"] = None + quotedTweet: Optional["Tweet"] = None + place: Optional[Place] = None + coordinates: Optional[Coordinates] = None + inReplyToTweetId: int | None = None + inReplyToTweetIdStr: str | None = None + inReplyToUser: UserRef | None = None + source: str | None = None + sourceUrl: str | None = None + sourceLabel: str | None = None + card: Union[None, "SummaryCard", "PollCard", "BroadcastCard", "AudiospaceCard"] = None + possibly_sensitive: bool | None = None + _type: str = "snscrape.modules.twitter.Tweet" + + # todo: + # renderedContent: str + # vibe: Optional["Vibe"] = None + + @staticmethod + def parse(obj: dict, res: dict): + tw_usr = User.parse(res["users"][obj["user_id_str"]]) + + rt_id_path = [ + "retweeted_status_id_str", + "retweeted_status_result.result.rest_id", + "retweeted_status_result.result.tweet.rest_id", + ] + + qt_id_path = [ + "quoted_status_id_str", + "quoted_status_result.result.rest_id", + "quoted_status_result.result.tweet.rest_id", + ] + + rt_obj = get_or(res, f"tweets.{_first(obj, rt_id_path)}") + qt_obj = get_or(res, f"tweets.{_first(obj, qt_id_path)}") + + url = f"https://x.com/{tw_usr.username}/status/{obj['id_str']}" + doc = Tweet( + id=int(obj["id_str"]), + id_str=obj["id_str"], + url=url, + date=email.utils.parsedate_to_datetime(obj["created_at"]), + user=tw_usr, + lang=obj["lang"], + rawContent=get_or(obj, "note_tweet.note_tweet_results.result.text", obj["full_text"]), + replyCount=obj["reply_count"], + retweetCount=obj["retweet_count"], + likeCount=obj["favorite_count"], + quoteCount=obj["quote_count"], + bookmarkedCount=get_or(obj, "bookmark_count", 0), + conversationId=int(obj["conversation_id_str"]), + conversationIdStr=obj["conversation_id_str"], + hashtags=[x["text"] for x in get_or(obj, "entities.hashtags", [])], + cashtags=[x["text"] for x in get_or(obj, "entities.symbols", [])], + mentionedUsers=[UserRef.parse(x) for x in get_or(obj, "entities.user_mentions", [])], + links=_parse_links( + obj, ["entities.urls", "note_tweet.note_tweet_results.result.entity_set.urls"] + ), + viewCount=_get_views(obj, rt_obj or {}), + retweetedTweet=Tweet.parse(rt_obj, res) if rt_obj else None, + quotedTweet=Tweet.parse(qt_obj, res) if qt_obj else None, + place=Place.parse(obj["place"]) if obj.get("place") else None, + coordinates=Coordinates.parse(obj), + inReplyToTweetId=int_or(obj, "in_reply_to_status_id_str"), + inReplyToTweetIdStr=get_or(obj, "in_reply_to_status_id_str"), + inReplyToUser=_get_reply_user(obj, res), + source=obj.get("source", None), + sourceUrl=_get_source_url(obj), + sourceLabel=_get_source_label(obj), + media=Media.parse(obj), + card=_parse_card(obj, url), + possibly_sensitive=obj.get("possibly_sensitive", None), + ) + + # issue #42 – restore full rt text + rt = doc.retweetedTweet + if rt is not None and rt.user is not None and doc.rawContent.endswith("…"): + rt_msg = f"RT @{rt.user.username}: {rt.rawContent}" + if doc.rawContent != rt_msg: + doc.rawContent = rt_msg + + return doc + + +@dataclass +class MediaPhoto(JSONTrait): + url: str + + @staticmethod + def parse(obj: dict): + return MediaPhoto(url=obj["media_url_https"]) + + +@dataclass +class MediaVideo(JSONTrait): + thumbnailUrl: str + variants: list["MediaVideoVariant"] + duration: int + views: int | None = None + + @staticmethod + def parse(obj: dict): + return MediaVideo( + thumbnailUrl=obj["media_url_https"], + variants=[ + MediaVideoVariant.parse(x) for x in obj["video_info"]["variants"] if "bitrate" in x + ], + duration=obj["video_info"]["duration_millis"], + views=int_or(obj, "mediaStats.viewCount"), + ) + + +@dataclass +class MediaAnimated(JSONTrait): + thumbnailUrl: str + videoUrl: str + + @staticmethod + def parse(obj: dict): + try: + return MediaAnimated( + thumbnailUrl=obj["media_url_https"], + videoUrl=obj["video_info"]["variants"][0]["url"], + ) + except KeyError: + return None + + +@dataclass +class MediaVideoVariant(JSONTrait): + contentType: str + bitrate: int + url: str + + @staticmethod + def parse(obj: dict): + return MediaVideoVariant( + contentType=obj["content_type"], + bitrate=obj["bitrate"], + url=obj["url"], + ) + + +@dataclass +class Media(JSONTrait): + photos: list[MediaPhoto] = field(default_factory=list) + videos: list[MediaVideo] = field(default_factory=list) + animated: list[MediaAnimated] = field(default_factory=list) + + @staticmethod + def parse(obj: dict): + photos: list[MediaPhoto] = [] + videos: list[MediaVideo] = [] + animated: list[MediaAnimated] = [] + + for x in get_or(obj, "extended_entities.media", []): + if x["type"] == "video": + if video := MediaVideo.parse(x): + videos.append(video) + continue + + if x["type"] == "photo": + if photo := MediaPhoto.parse(x): + photos.append(photo) + continue + + if x["type"] == "animated_gif": + if animated_gif := MediaAnimated.parse(x): + animated.append(animated_gif) + continue + + logger.warning(f"Unknown media type: {x['type']}: {json.dumps(x)}") + + return Media(photos=photos, videos=videos, animated=animated) + + +@dataclass +class Card(JSONTrait): + pass + + +@dataclass +class SummaryCard(Card): + title: str + description: str + vanityUrl: str + url: str + photo: MediaPhoto | None = None + video: MediaVideo | None = None + _type: str = "summary" + + +@dataclass +class PollOption(JSONTrait): + label: str + votesCount: int + + +@dataclass +class PollCard(Card): + options: list[PollOption] + finished: bool + _type: str = "poll" + + +@dataclass +class BroadcastCard(Card): + title: str + url: str + photo: MediaPhoto | None = None + _type: str = "broadcast" + + +@dataclass +class AudiospaceCard(Card): + url: str + _type: str = "audiospace" + + +@dataclass +class RequestParam(JSONTrait): + key: str + value: str + + +@dataclass +class TrendUrl(JSONTrait): + url: str + urlType: str + urlEndpointOptions: list[RequestParam] + + @staticmethod + def parse(obj: dict): + return TrendUrl( + url=obj["url"], + urlType=obj["urlType"], + urlEndpointOptions=[ + RequestParam(key=x["key"], value=x["value"]) + for x in obj["urtEndpointOptions"]["requestParams"] + ], + ) + + +@dataclass +class TrendMetadata(JSONTrait): + domain_context: str + meta_description: str + url: TrendUrl + + @staticmethod + def parse(obj: dict): + return TrendMetadata( + domain_context=obj["domain_context"], + meta_description=obj["meta_description"], + url=TrendUrl.parse(obj["url"]), + ) + + +@dataclass +class GroupedTrend(JSONTrait): + name: str + url: TrendUrl + + @staticmethod + def parse(obj: dict): + return GroupedTrend(name=obj["name"], url=TrendUrl.parse(obj["url"])) + + +@dataclass +class Trend(JSONTrait): + id: Optional[str] + rank: Optional[str | int] + name: str + trend_url: TrendUrl + trend_metadata: TrendMetadata + grouped_trends: list[GroupedTrend] = field(default_factory=list) + _type: str = "timelinetrend" + + @staticmethod + def parse(obj: dict, res=None): + grouped_trends = [GroupedTrend.parse(x) for x in obj.get("grouped_trends", [])] + return Trend( + id=f"trend-{obj['name']}", + name=obj["name"], + rank=int(obj["rank"]) if "rank" in obj else None, + trend_url=TrendUrl.parse(obj["trend_url"]), + trend_metadata=TrendMetadata.parse(obj["trend_metadata"]), + grouped_trends=grouped_trends, + ) + + +def _parse_card_get_bool(values: list[dict], key: str): + for x in values: + if x["key"] == key: + return x["value"]["boolean_value"] + return False + + +def _parse_card_get_str(values: list[dict], key: str, defaultVal=None) -> str | None: + for x in values: + if x["key"] == key: + return x["value"]["string_value"] + return defaultVal + + +def _parse_card_extract_str(values: list[dict], key: str): + pretenders = [x["value"]["string_value"] for x in values if x["key"] == key] + new_values = [x for x in values if x["key"] != key] + return pretenders[0] if pretenders else "", new_values + + +def _parse_card_extract_title(values: list[dict]): + new_values, pretenders = [], [] + # title is trimmed to 70 chars, so try to find the longest text in alt_text + for x in values: + k = x["key"] + if k == "title" or k.endswith("_alt_text"): + pretenders.append(x["value"]["string_value"]) + else: + new_values.append(x) + + pretenders = sorted(pretenders, key=lambda x: len(x), reverse=True) + return pretenders[0] if pretenders else "", new_values + + +def _parse_card_extract_largest_photo(values: list[dict]): + photos = [x for x in values if x["value"]["type"] == "IMAGE"] + photos = sorted(photos, key=lambda x: x["value"]["image_value"]["height"], reverse=True) + values = [x for x in values if x["value"]["type"] != "IMAGE"] + if photos: + return MediaPhoto(url=photos[0]["value"]["image_value"]["url"]), values + else: + return None, values + + +def _parse_card_prepare_values(obj: dict): + values = get_or(obj, "card.legacy.binding_values", []) + # values = sorted(values, key=lambda x: x["key"]) + # values = [x for x in values if x["key"] not in {"domain", "creator", "site"}] + values = [x for x in values if x["value"]["type"] != "IMAGE_COLOR"] + return values + + +def _parse_card(obj: dict, url: str): + name = get_or(obj, "card.legacy.name", None) + if not name: + return None + + if name in {"summary", "summary_large_image", "player"}: + val = _parse_card_prepare_values(obj) + title, val = _parse_card_extract_title(val) + description, val = _parse_card_extract_str(val, "description") + vanity_url, val = _parse_card_extract_str(val, "vanity_url") + url, val = _parse_card_extract_str(val, "card_url") + photo, val = _parse_card_extract_largest_photo(val) + + return SummaryCard( + title=title, + description=description, + vanityUrl=vanity_url, + url=url, + photo=photo, + ) + + if name == "unified_card": + val = _parse_card_prepare_values(obj) + val = [x for x in val if x["key"] == "unified_card"][0]["value"]["string_value"] + val = json.loads(val) + + co = get_or(val, "component_objects", {}) + do = get_or(val, "destination_objects", {}) + me = list(get_or(val, "media_entities", {}).values()) + if len(me) > 1: + logger.debug(f"[Card] Multiple media entities: {json.dumps(me, indent=2)}") + + me = me[0] if me else {} + + title = get_or(co, "details_1.data.title.content", "") + description = get_or(co, "details_1.data.subtitle.content", "") + vanity_url = get_or(do, "browser_with_docked_media_1.data.url_data.vanity", "") + url = get_or(do, "browser_with_docked_media_1.data.url_data.url", "") + video = MediaVideo.parse(me) if me and me["type"] == "video" else None + photo = MediaPhoto.parse(me) if me and me["type"] == "photo" else None + + return SummaryCard( + title=title, + description=description, + vanityUrl=vanity_url, + url=url, + photo=photo, + video=video, + ) + + if re.match(r"poll\d+choice_text_only", name): + val = _parse_card_prepare_values(obj) + + options = [] + for x in range(20): + label = _parse_card_get_str(val, f"choice{x + 1}_label") + votes = _parse_card_get_str(val, f"choice{x + 1}_count") + if label is None or votes is None: + break + + options.append(PollOption(label=label, votesCount=int(votes))) + + finished = _parse_card_get_bool(val, "counts_are_final") + # duration_minutes = int(_parse_card_get_str(val, "duration_minutes") or "0") + # end_datetime_utc = _parse_card_get_str(val, "end_datetime_utc") + # print(json.dumps(val, indent=2)) + return PollCard(options=options, finished=finished) + + if name == "745291183405076480:broadcast": + val = _parse_card_prepare_values(obj) + card_url = _parse_card_get_str(val, "broadcast_url") + card_title = _parse_card_get_str(val, "broadcast_title") + photo, _ = _parse_card_extract_largest_photo(val) + if card_url is None or card_title is None: + return None + + return BroadcastCard(title=card_title, url=card_url, photo=photo) + + if name == "3691233323:audiospace": + # no more data in this object, possible extra api call needed to get card info + val = _parse_card_prepare_values(obj) + card_url = _parse_card_get_str(val, "card_url") + if card_url is None: + return None + + # print(json.dumps(val, indent=2)) + return AudiospaceCard(url=card_url) + + logger.warning(f"Unknown card type '{name}' on {url}") + if "PYTEST_CURRENT_TEST" in os.environ: # help debugging tests + print(f"Unknown card type '{name}' on {url}", file=sys.stderr) + # print(json.dumps(obj["card"]["legacy"], indent=2)) + return None + + +# internal helpers + + +def _get_reply_user(tw_obj: dict, res: dict): + user_id = tw_obj.get("in_reply_to_user_id_str", None) + if user_id is None: + return None + + if user_id in res["users"]: + return UserRef.parse(res["users"][user_id]) + + mentions = get_or(tw_obj, "entities.user_mentions", []) + mention = find_item(mentions, lambda x: x["id_str"] == tw_obj["in_reply_to_user_id_str"]) + if mention: + return UserRef.parse(mention) + + # todo: user not found in reply (probably deleted or hidden) + return None + + +def _get_source_url(tw_obj: dict): + source = tw_obj.get("source", None) + if source and (match := re.search(r'href=[\'"]?([^\'" >]+)', source)): + return str(match.group(1)) + return None + + +def _get_source_label(tw_obj: dict): + source = tw_obj.get("source", None) + if source and (match := re.search(r">([^<]*)<", source)): + return str(match.group(1)) + return None + + +def _parse_links(obj: dict, paths: list[str]): + links = [] + for x in paths: + links.extend(get_or(obj, x, [])) + + links = [TextLink.parse(x) for x in links] + links = [x for x in links if x is not None] + + return links + + +def _first(obj: dict, paths: list[str]): + for x in paths: + cid = get_or(obj, x, None) + if cid is not None: + return cid + return None + + +def _get_views(obj: dict, rt_obj: dict): + for x in [obj, rt_obj]: + for y in ["ext_views.count", "views.count"]: + k = int_or(x, y) + if k is not None: + return k + return None + + +def _write_dump(kind: str, e: Exception, x: dict, obj: dict): + uniq = "".join(random.choice(string.ascii_lowercase) for _ in range(5)) + time = utc.now().strftime("%Y-%m-%d_%H-%M-%S") + dumpfile = f"/tmp/twscrape/twscrape_parse_error_{time}_{uniq}.txt" + os.makedirs(os.path.dirname(dumpfile), exist_ok=True) + + with open(dumpfile, "w") as fp: + msg = [ + f"Error parsing {kind}. Error: {type(e)}", + traceback.format_exc(), + json.dumps(x, default=str), + json.dumps(obj, default=str), + ] + fp.write("\n\n".join(msg)) + + logger.error(f"Failed to parse response of {kind}, writing dump to {dumpfile}") + + +def _parse_items(rep: httpx.Response, kind: str, limit: int = -1): + if kind == "user": + Cls, key = User, "users" + elif kind == "tweet": + Cls, key = Tweet, "tweets" + elif kind == "trends": + Cls, key = Trend, "trends" + else: + raise ValueError(f"Invalid kind: {kind}") + + # check for dict, because httpx.Response can be mocked in tests with different type + res = rep if isinstance(rep, dict) else rep.json() + obj = to_old_rep(res) + + ids = set() + for x in obj[key].values(): + if limit != -1 and len(ids) >= limit: + # todo: move somewhere in configuration like force_limit + # https://github.com/vladkens/twscrape/issues/26#issuecomment-1656875132 + # break + pass + + try: + tmp = Cls.parse(x, obj) + if tmp.id not in ids: + ids.add(tmp.id) + yield tmp + except Exception as e: + _write_dump(kind, e, x, obj) + continue + + +# public helpers + + +def parse_tweet(rep: httpx.Response, twid: int) -> Tweet | None: + try: + docs = list(parse_tweets(rep)) + for x in docs: + if x.id == twid: + return x + return None + except Exception as e: + logger.error(f"Failed to parse tweet {twid} - {type(e)}:\n{traceback.format_exc()}") + return None + + +def parse_user(rep: httpx.Response) -> User | None: + try: + docs = list(parse_users(rep)) + if len(docs) == 1: + return docs[0] + return None + except Exception as e: + logger.error(f"Failed to parse user - {type(e)}:\n{traceback.format_exc()}") + return None + + +def parse_trend(rep: httpx.Response) -> Trend | None: + try: + docs = list(parse_trends(rep)) + if len(docs) == 1: + return docs[0] + return None + except Exception as e: + logger.error(f"Failed to parse trend - {type(e)}:\n{traceback.format_exc()}") + return None + + +def parse_tweets(rep: httpx.Response, limit: int = -1) -> Generator[Tweet, None, None]: + return _parse_items(rep, "tweet", limit) # type: ignore + + +def parse_users(rep: httpx.Response, limit: int = -1) -> Generator[User, None, None]: + return _parse_items(rep, "user", limit) # type: ignore + + +def parse_trends(rep: httpx.Response, limit: int = -1) -> Generator[Trend, None, None]: + return _parse_items(rep, kind="trends", limit=limit) # type: ignore diff --git a/apps/twscrape/twscrape/queue_client.py b/apps/twscrape/twscrape/queue_client.py new file mode 100644 index 0000000..b9be223 --- /dev/null +++ b/apps/twscrape/twscrape/queue_client.py @@ -0,0 +1,244 @@ +import json +import os +from typing import Any + +import httpx +from httpx import AsyncClient, Response + +from .accounts_pool import Account, AccountsPool +from .logger import logger +from .utils import utc + +ReqParams = dict[str, str | int] | None +TMP_TS = utc.now().isoformat().split(".")[0].replace("T", "_").replace(":", "-")[0:16] + + +class Ctx: + def __init__(self, acc: Account, clt: AsyncClient): + self.acc = acc + self.clt = clt + self.req_count = 0 + + +class HandledError(Exception): + pass + + +class AbortReqError(Exception): + pass + + +def req_id(rep: Response): + lr = str(rep.headers.get("x-rate-limit-remaining", -1)) + ll = str(rep.headers.get("x-rate-limit-limit", -1)) + sz = max(len(lr), len(ll)) + lr, ll = lr.rjust(sz), ll.rjust(sz) + + username = getattr(rep, "__username", "<UNKNOWN>") + return f"{lr}/{ll} - {username}" + + +def dump_rep(rep: Response): + count = getattr(dump_rep, "__count", -1) + 1 + setattr(dump_rep, "__count", count) + + acc = getattr(rep, "__username", "<unknown>") + outfile = f"{count:05d}_{rep.status_code}_{acc}.txt" + outfile = f"/tmp/twscrape-{TMP_TS}/{outfile}" + os.makedirs(os.path.dirname(outfile), exist_ok=True) + + msg = [] + msg.append(f"{count:,d} - {req_id(rep)}") + msg.append(f"{rep.status_code} {rep.request.method} {rep.request.url}") + msg.append("\n") + # msg.append("\n".join([str(x) for x in list(rep.request.headers.items())])) + msg.append("\n".join([str(x) for x in list(rep.headers.items())])) + msg.append("\n") + + try: + msg.append(json.dumps(rep.json(), indent=2)) + except json.JSONDecodeError: + msg.append(rep.text) + + txt = "\n".join(msg) + with open(outfile, "w") as f: + f.write(txt) + + +class QueueClient: + def __init__(self, pool: AccountsPool, queue: str, debug=False, proxy: str | None = None): + self.pool = pool + self.queue = queue + self.debug = debug + self.ctx: Ctx | None = None + self.proxy = proxy + + async def __aenter__(self): + await self._get_ctx() + return self + + async def __aexit__(self, exc_type, exc_val, exc_tb): + await self._close_ctx() + + async def _close_ctx(self, reset_at=-1, inactive=False, msg: str | None = None): + if self.ctx is None: + return + + ctx, self.ctx, self.req_count = self.ctx, None, 0 + username = ctx.acc.username + await ctx.clt.aclose() + + if inactive: + await self.pool.mark_inactive(username, msg) + return + + if reset_at > 0: + await self.pool.lock_until(ctx.acc.username, self.queue, reset_at, ctx.req_count) + return + + await self.pool.unlock(ctx.acc.username, self.queue, ctx.req_count) + + async def _get_ctx(self): + if self.ctx: + return self.ctx + + acc = await self.pool.get_for_queue_or_wait(self.queue) + if acc is None: + return None + + clt = acc.make_client(proxy=self.proxy) + self.ctx = Ctx(acc, clt) + return self.ctx + + async def _check_rep(self, rep: Response) -> None: + """ + This function can raise Exception and request will be retried or aborted + Or if None is returned, response will passed to api parser as is + """ + + if self.debug: + dump_rep(rep) + + try: + res = rep.json() + except json.JSONDecodeError: + res: Any = {"_raw": rep.text} + + limit_remaining = int(rep.headers.get("x-rate-limit-remaining", -1)) + limit_reset = int(rep.headers.get("x-rate-limit-reset", -1)) + # limit_max = int(rep.headers.get("x-rate-limit-limit", -1)) + + err_msg = "OK" + if "errors" in res: + err_msg = set([f"({x.get('code', -1)}) {x['message']}" for x in res["errors"]]) + err_msg = "; ".join(list(err_msg)) + + log_msg = f"{rep.status_code:3d} - {req_id(rep)} - {err_msg}" + logger.trace(log_msg) + + # for dev: need to add some features in api.py + if err_msg.startswith("(336) The following features cannot be null"): + logger.error(f"[DEV] Update required: {err_msg}") + exit(1) + + # general api rate limit + if limit_remaining == 0 and limit_reset > 0: + logger.debug(f"Rate limited: {log_msg}") + await self._close_ctx(limit_reset) + raise HandledError() + + # no way to check is account banned in direct way, but this check should work + if err_msg.startswith("(88) Rate limit exceeded") and limit_remaining > 0: + logger.warning(f"Ban detected: {log_msg}") + await self._close_ctx(-1, inactive=True, msg=err_msg) + raise HandledError() + + if err_msg.startswith("(326) Authorization: Denied by access control"): + logger.warning(f"Ban detected: {log_msg}") + await self._close_ctx(-1, inactive=True, msg=err_msg) + raise HandledError() + + if err_msg.startswith("(32) Could not authenticate you"): + logger.warning(f"Session expired or banned: {log_msg}") + await self._close_ctx(-1, inactive=True, msg=err_msg) + raise HandledError() + + if err_msg == "OK" and rep.status_code == 403: + logger.warning(f"Session expired or banned: {log_msg}") + await self._close_ctx(-1, inactive=True, msg=None) + raise HandledError() + + # something from twitter side - abort all queries, see: https://github.com/vladkens/twscrape/pull/80 + if err_msg.startswith("(131) Dependency: Internal error"): + # looks like when data exists, we can ignore this error + # https://github.com/vladkens/twscrape/issues/166 + if rep.status_code == 200 and "data" in res and "user" in res["data"]: + err_msg = "OK" + else: + logger.warning(f"Dependency error (request skipped): {err_msg}") + raise AbortReqError() + + # content not found + if rep.status_code == 200 and "_Missing: No status found with that ID" in err_msg: + return # ignore this error + + # something from twitter side - just ignore it, see: https://github.com/vladkens/twscrape/pull/95 + if rep.status_code == 200 and "Authorization" in err_msg: + logger.warning(f"Authorization unknown error: {log_msg}") + return + + if err_msg != "OK": + logger.warning(f"API unknown error: {log_msg}") + return # ignore any other unknown errors + + try: + rep.raise_for_status() + except httpx.HTTPStatusError: + logger.error(f"Unhandled API response code: {log_msg}") + await self._close_ctx(utc.ts() + 60 * 15) # 15 minutes + raise HandledError() + + async def get(self, url: str, params: ReqParams = None) -> Response | None: + return await self.req("GET", url, params=params) + + async def req(self, method: str, url: str, params: ReqParams = None) -> Response | None: + unknown_retry, connection_retry = 0, 0 + + while True: + ctx = await self._get_ctx() # not need to close client, class implements __aexit__ + if ctx is None: + return None + + try: + rep = await ctx.clt.request(method, url, params=params) + setattr(rep, "__username", ctx.acc.username) + await self._check_rep(rep) + + ctx.req_count += 1 # count only successful + unknown_retry, connection_retry = 0, 0 + return rep + except AbortReqError: + # abort all queries + return + except HandledError: + # retry with new account + continue + except (httpx.ReadTimeout, httpx.ProxyError): + # http transport failed, just retry with same account + continue + except (httpx.ConnectError, httpx.ConnectTimeout) as e: + # if proxy missconfigured or ??? + connection_retry += 1 + if connection_retry >= 3: + raise e + except Exception as e: + unknown_retry += 1 + if unknown_retry >= 3: + msg = [ + "Unknown error. Account timeouted for 15 minutes.", + "Create issue please: https://github.com/vladkens/twscrape/issues", + f"If it mistake, you can unlock accounts with `twscrape reset_locks`. Err: {type(e)}: {e}", + ] + + logger.warning(" ".join(msg)) + await self._close_ctx(utc.ts() + 60 * 15) # 15 minutes diff --git a/apps/twscrape/twscrape/utils.py b/apps/twscrape/twscrape/utils.py new file mode 100644 index 0000000..34762f7 --- /dev/null +++ b/apps/twscrape/twscrape/utils.py @@ -0,0 +1,219 @@ +import base64 +import json +import os +from collections import defaultdict +from datetime import datetime, timezone +from typing import Any, AsyncGenerator, Callable, TypeVar + +T = TypeVar("T") + + +class utc: + @staticmethod + def now() -> datetime: + return datetime.now(timezone.utc) + + @staticmethod + def from_iso(iso: str) -> datetime: + return datetime.fromisoformat(iso).replace(tzinfo=timezone.utc) + + @staticmethod + def ts() -> int: + return int(utc.now().timestamp()) + + +async def gather(gen: AsyncGenerator[T, None]) -> list[T]: + items = [] + async for x in gen: + items.append(x) + return items + + +def encode_params(obj: dict): + res = {} + for k, v in obj.items(): + if isinstance(v, dict): + v = {a: b for a, b in v.items() if b is not None} + v = json.dumps(v, separators=(",", ":")) + + res[k] = str(v) + + return res + + +def get_or(obj: dict, key: str, default_value: T = None) -> Any | T: + for part in key.split("."): + if part not in obj: + return default_value + obj = obj[part] + return obj + + +def int_or(obj: dict, key: str, default_value: int | None = None): + try: + val = get_or(obj, key) + return int(val) if val is not None else default_value + except Exception: + return default_value + + +# https://stackoverflow.com/a/43184871 +def get_by_path(obj: dict, key: str, default=None): + stack = [iter(obj.items())] + while stack: + for k, v in stack[-1]: + if k == key: + return v + elif isinstance(v, dict): + stack.append(iter(v.items())) + break + elif isinstance(v, list): + stack.append(iter(enumerate(v))) + break + else: + stack.pop() + return default + + +def find_item(lst: list[T], fn: Callable[[T], bool]) -> T | None: + for item in lst: + if fn(item): + return item + return None + + +def find_or_fail(lst: list[T], fn: Callable[[T], bool]) -> T: + item = find_item(lst, fn) + if item is None: + raise ValueError() + return item + + +def find_obj(obj: dict, fn: Callable[[dict], bool]) -> Any | None: + if not isinstance(obj, dict): + return None + + if fn(obj): + return obj + + for _, v in obj.items(): + if isinstance(v, dict): + if res := find_obj(v, fn): + return res + elif isinstance(v, list): + for x in v: + if res := find_obj(x, fn): + return res + + return None + + +def get_typed_object(obj: dict, res: defaultdict[str, list]): + obj_type = obj.get("__typename", None) + if obj_type is not None: + res[obj_type].append(obj) + + for _, v in obj.items(): + if isinstance(v, dict): + get_typed_object(v, res) + elif isinstance(v, list): + for x in v: + if isinstance(x, dict): + get_typed_object(x, res) + + return res + + +def to_old_obj(obj: dict): + return { + **obj, + **obj["legacy"], + "id_str": str(obj["rest_id"]), + "id": int(obj["rest_id"]), + "legacy": None, + } + + +def to_old_rep(obj: dict) -> dict[str, dict]: + tmp = get_typed_object(obj, defaultdict(list)) + + tw1 = [x for x in tmp.get("Tweet", []) if "legacy" in x] + tw1 = {str(x["rest_id"]): to_old_obj(x) for x in tw1} + + # https://github.com/vladkens/twscrape/issues/53 + tw2 = [x["tweet"] for x in tmp.get("TweetWithVisibilityResults", []) if "legacy" in x["tweet"]] + tw2 = {str(x["rest_id"]): to_old_obj(x) for x in tw2} + + users = [x for x in tmp.get("User", []) if "legacy" in x and "id" in x] + users = {str(x["rest_id"]): to_old_obj(x) for x in users} + + trends = [x for x in tmp.get("TimelineTrend", [])] + trends = {x["name"]: x for x in trends} + + return {"tweets": {**tw1, **tw2}, "users": users, "trends": trends} + + +def print_table(rows: list[dict], hr_after=False): + if not rows: + return + + def prt(x): + if isinstance(x, str): + return x + + if isinstance(x, int): + return f"{x:,}" + + if isinstance(x, datetime): + return x.isoformat().split("+")[0].replace("T", " ") + + return str(x) + + keys = list(rows[0].keys()) + rows = [{k: k for k in keys}, *[{k: prt(x.get(k, "")) for k in keys} for x in rows]] + colw = [max(len(x[k]) for x in rows) + 1 for k in keys] + + lines = [] + for row in rows: + line = [f"{row[k]:<{colw[i]}}" for i, k in enumerate(keys)] + lines.append(" ".join(line)) + + max_len = max(len(x) for x in lines) + # lines.insert(1, "─" * max_len) + # lines.insert(0, "─" * max_len) + print("\n".join(lines)) + if hr_after: + print("-" * max_len) + + +def parse_cookies(val: str) -> dict[str, str]: + try: + val = base64.b64decode(val).decode() + except Exception: + pass + + try: + try: + res = json.loads(val) + if isinstance(res, dict) and "cookies" in res: + res = res["cookies"] + + if isinstance(res, list): + return {x["name"]: x["value"] for x in res} + if isinstance(res, dict): + return res + except json.JSONDecodeError: + res = val.split("; ") + res = [x.split("=") for x in res] + return {x[0]: x[1] for x in res} + except Exception: + pass + + raise ValueError(f"Invalid cookie value: {val}") + + +def get_env_bool(key: str, default_val: bool = False) -> bool: + val = os.getenv(key) + if val is None: + return default_val + return val.lower() in ("1", "true", "yes")