{"id":21026235,"url":"https://github.com/ultrasev/xreader","last_synced_at":"2026-05-08T06:17:12.415Z","repository":{"id":260733807,"uuid":"882174937","full_name":"ultrasev/xreader","owner":"ultrasev","description":null,"archived":false,"fork":false,"pushed_at":"2024-11-02T08:51:57.000Z","size":73,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-13T18:47:47.581Z","etag":null,"topics":["api","docker","jinaai","twitter-api","vercel"],"latest_commit_sha":null,"homepage":"https://xreader.vercel.app","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ultrasev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-02T04:29:36.000Z","updated_at":"2024-11-02T07:59:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"c85fd779-3cde-4f82-a659-1d5e1a08b165","html_url":"https://github.com/ultrasev/xreader","commit_stats":null,"previous_names":["ultrasev/xreader"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ultrasev/xreader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultrasev%2Fxreader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultrasev%2Fxreader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultrasev%2Fxreader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultrasev%2Fxreader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ultrasev","download_url":"https://codeload.github.com/ultrasev/xreader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ultrasev%2Fxreader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32769313,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T02:36:36.067Z","status":"ssl_error","status_checked_at":"2026-05-08T02:36:07.210Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","docker","jinaai","twitter-api","vercel"],"created_at":"2024-11-19T11:43:51.504Z","updated_at":"2026-05-08T06:17:12.380Z","avatar_url":"https://github.com/ultrasev.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"public/logo.png\" alt=\"logo\" width=\"200\"/\u003e\n\n# Twitter 文本提取 API\n\n一个简单的 API 项目，用于提取 Twitter/X 平台帖子的文本内容，可部署在 Vercel 或者 VPS 上。\n\n## 有哪些功能？\n\n- 通过简单的 GET 请求轻松访问推文内容\n- 无需 Twitter API 凭证即可清洗提取文本\n- 同时支持 twitter.com 和 x.com 的 URL\n- 轻量级设计，响应速度快\n\n## 实现原理\n\n本 API 封闭了以下接口：\n\n- Twitter 的 CDN API：`https://cdn.syndication.twimg.com/tweet-result?id=[tweet_id]\u0026token=[token]`\n- [React-Tweet 项目](https://react-tweet.vercel.app/) - Twitter CDN API 的封装\n- [Jina AI API](https://r.jina.ai/) - 支持从 Twitter 等平台获取内容\n- 更多详情请参考[这条推文](https://x.com/slippertopia/status/1852523921330893082)\n\n### 为什么需要 Jina AI API？\n\n对于长推文，CDN API 返回的数据是截断的，这种情况下，本 API 会调用 Jina AI API 进行再次提取。\n\n## 使用方法\n\n### API 接口\n\n- **URL**: [`https://xreader.vercel.app/x`](https://xreader.vercel.app/x)\n- **查询参数**: `url` - Twitter/X 帖子的 URL\n- **请求方式**: GET\n\n### 示例\n\n```bash\ncurl 'https://xreader.vercel.app/x?url=https://x.com/EllenDeGeneres/status/440322224407314432'\n```\n\n### 返回格式\n\n```json\n{\n  \"text\": \"If only Bradley's arm was longer. Best photo ever. #oscars http://t.co/C9U5NOtGap\",\n  \"status\": \"success\"\n}\n```\n\n### 错误处理\n\n| 状态码 | 说明         |\n| ------ | ------------ |\n| 200    | 成功         |\n| 400    | URL 格式无效 |\n| 500    | 服务器错误   |\n\n## Vercel 部署\n\n[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fultrasev%2Fxreader)\n\n## 联系方式\n\n如有问题或需要支持，请通过 Twitter 联系：[@slippertopia](https://x.com/slippertopia)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultrasev%2Fxreader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fultrasev%2Fxreader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fultrasev%2Fxreader/lists"}