read-x

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Read X

读取X内容

Fetch full content from X/Twitter posts and articles — no API key, no auth, no browser needed.
无需API密钥、无需认证、无需浏览器,即可获取X/Twitter帖子和文章的完整内容。

How It Works

工作原理

Use the FxTwitter API — a public, no-auth API that returns full tweet JSON including embedded articles, media, and engagement stats.
使用FxTwitter API——这是一个公开的无需认证的API,可返回包含嵌入文章、媒体资源和互动数据的完整推文JSON。

Endpoint

接口端点

https://api.fxtwitter.com/{username}/status/{tweet_id}
https://api.fxtwitter.com/{username}/status/{tweet_id}

When to Use

使用场景

  • User shares an x.com or twitter.com URL
  • User asks to read/summarize an X post or article
  • User shares a thread or long-form X article
  • 用户分享x.com或twitter.com链接
  • 用户要求读取/总结X帖子或文章
  • 用户分享推文线程或X平台长篇文章

When NOT to Use

不适用场景

  • User just wants to post/reply on X (this is read-only)
  • URL is not a post (e.g., x.com/username profile page)
  • 用户仅想在X上发布/回复内容(本工具仅支持读取)
  • 链接并非帖子(例如x.com/username个人主页)

How to Fetch

获取方法

Use
web_fetch
on the fxtwitter URL:
web_fetch: https://api.fxtwitter.com/{username}/status/{tweet_id}
对fxtwitter链接使用
web_fetch
web_fetch: https://api.fxtwitter.com/{username}/status/{tweet_id}

Extracting from the URL

从链接中提取信息

Given:
https://x.com/elonmusk/status/1234567890
  • username:
    elonmusk
  • tweet_id:
    1234567890
  • API URL:
    https://api.fxtwitter.com/elonmusk/status/1234567890
示例链接:
https://x.com/elonmusk/status/1234567890
  • username:
    elonmusk
  • tweet_id:
    1234567890
  • API URL:
    https://api.fxtwitter.com/elonmusk/status/1234567890

Response Structure

响应结构

The API returns JSON with:
  • tweet.text
    — tweet text
  • tweet.author
    — author info (name, handle, followers, bio)
  • tweet.likes
    ,
    tweet.retweets
    ,
    tweet.views
    — engagement
  • tweet.article
    — full long-form article content (if present)
    • tweet.article.title
      — article title
    • tweet.article.content.blocks[]
      — article body (block-based, like Draft.js)
      • Each block has
        text
        ,
        type
        (unstyled, header-two, blockquote, atomic), and
        inlineStyleRanges
        (Bold, Italic)
  • tweet.media
    — attached images/videos
  • tweet.replying_to
    — if it's a reply, who it's replying to
API返回的JSON包含以下字段:
  • tweet.text
    — 推文文本
  • tweet.author
    — 作者信息(姓名、账号、粉丝数、简介)
  • tweet.likes
    ,
    tweet.retweets
    ,
    tweet.views
    — 互动数据
  • tweet.article
    — 完整长篇文章内容(若存在)
    • tweet.article.title
      — 文章标题
    • tweet.article.content.blocks[]
      — 文章正文(基于块结构,类似Draft.js)
      • 每个块包含
        text
        type
        (普通文本、二级标题、引用、原子块)以及
        inlineStyleRanges
        (粗体、斜体)
  • tweet.media
    — 附加的图片/视频
  • tweet.replying_to
    — 若为回复推文,显示回复对象

Rendering Articles

文章渲染

When
tweet.article
exists, render it as clean markdown:
  • header-two
    ## heading
  • blockquote
    > quote
  • Bold
    inline style →
    **bold**
  • Italic
    inline style →
    *italic*
  • atomic
    with DIVIDER entity →
    ---
  • Links in
    entityMap
    [text](url)
当存在
tweet.article
时,将其渲染为简洁的Markdown格式:
  • header-two
    ## 二级标题
  • blockquote
    > 引用内容
  • Bold
    行内样式 →
    **粗体文本**
  • Italic
    行内样式 →
    *斜体文本*
  • 包含DIVIDER实体的
    atomic
    块 →
    ---
  • entityMap
    中的链接 →
    [显示文本](链接地址)

Limitations

限制条件

  • Read-only (no posting, liking, replying)
  • Some tweets may be unavailable (deleted, protected accounts)
  • Rate limits exist but are generous for casual use
  • Threads: each tweet is a separate request (follow
    replying_to
    chain)
  • 仅支持读取(不支持发布、点赞、回复)
  • 部分推文可能无法访问(已删除、受保护账号)
  • 存在调用速率限制,但针对日常使用较为宽松
  • 推文线程:每条推文需单独请求(需跟随
    replying_to
    链)