通过 Macrocosmos SN13 API,按关键词、用户名、日期范围及过滤器获取 X(Twitter)和 Reddit 的实时社交媒体数据,并提供互动指标。
Macrocosmos SN13 API - Social Media Data Skill.
功能概述
Macrocosmos SN13 API - Social Media Data Skill.是一项面向实际任务的技能,主要用于Fetch 实时社交媒体数据来自X(Twitter)和Reddit,通过关键词,用户名,日期范围,以及带有参与度量的过滤器通过Macrocos。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
- 实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;
使用与执行
若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;
结果检查与注意事项
涉及批量任务时,还应保存进度,避免中断后重复操作。该技能适合用于一次性任务,也可以接入自动化工作流,与其他技能或上层代理配合完成更完整的业务链路;在组合使用时,应明确每一步的输入输出关系,并避免不同步骤之间出现参数冲突。
Macrocosmos SN13 API — 社交媒体数据技能
通过 Macrocosmos SN13 API(运行于 Bittensor 网络)按关键词、用户名、日期范围及多种筛选条件,实时获取 X(Twitter)和 Reddit 的社交媒体数据,并附带互动指标(engagement metrics)。
元数据
- name: macrocosmos-social-data
- version: 1.0.1
- homepage: https://github.com/macrocosm-os/macrocosmos-mcp
- source: https://github.com/macrocosm-os/macrocosmos-mcp
- pypi: https://pypi.org/project/macrocosmos-mcp
- subnet: Bittensor SN13(Data Universe)
- author: Macrocosmos AI
- license: MIT
必需的环境变量
| 变量 | 是否必需 | 类型 | 说明 |
|---|---|---|---|
MC_API |
是 | secret |
Macrocosmos API 密钥。所有 API 请求均需提供。可免费获取:https://app.macrocosmos.ai/account?tab=api-keys |
配置说明:必须将 MC_API 设置为环境变量。该密钥在 REST 调用中作为 Bearer Token 放入 Authorization 请求头;或直接传入 Python SDK 客户端。
API 终端地址(Endpoint)
POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData
请求头(Headers)
Content-Type: application/json Authorization: Bearer
请求格式
{
"source": "X",
"usernames": ["@elonmusk"],
"keywords": ["AI", "bittensor"],
"start_date": "2026-01-01",
"end_date": "2026-02-10",
"limit": 10,
"keyword_mode": "any"
}
参数说明
| 参数 | 类型 | 是否必需 | 说明 |
|---|---|---|---|
source |
string | 是 | "X" 或 "REDDIT"(区分大小写) |
usernames |
array | 否 | 最多支持 5 个用户名。@ 符号为可选。仅适用于 X(Reddit 不支持) |
keywords |
array | 否 | 最多支持 5 个关键词或话题标签(hashtag)。Reddit 场景下请使用子版块格式:"r/subreddit" |
start_date |
string | 否 | YYYY-MM-DD 格式或 ISO 时间格式。默认值为 24 小时前 |
end_date |
string | 否 | YYYY-MM-DD 格式或 ISO 时间格式。默认值为当前时间 |
limit |
int | 否 | 返回结果数量:1–1000。默认值为 10 |
keyword_mode |
string | 否 | "any"(默认)表示匹配任意一个关键词;"all" 表示必须同时匹配全部关键词 |
响应格式
{
"data": [
{
"datetime": "2026-02-10T17:30:58Z",
"source": "x",
"text": "Tweet content here",
"uri": "https://x.com/username/status/123456",
"user": {
"username": "example_user",
"display_name": "Example User",
"followers_count": 1500,
"following_count": 300,
"user_description": "Bio text",
"user_blue_verified": true,
"profile_image_url": "https://pbs.twimg.com/..."
},
"tweet": {
"id": "123456",
"like_count": 42,
"retweet_count": 10,
"reply_count": 5,
"quote_count": 2,
"view_count": 5000,
"bookmark_count": 3,
"hashtags": ["#AI", "#bittensor"],
"language": "en",
"is_reply": false,
"is_quote": false,
"conversation_id": "123456"
}
}
]
}
curl 示例
1. 在 X 上按关键词搜索
curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_API_KEY"
-d '{
"source": "X",
"keywords": ["bittensor"],
"start_date": "2026-01-01",
"limit": 10
}'
2. 获取特定用户的推文
curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_API_KEY"
-d '{
"source": "X",
"usernames": ["@MacrocosmosAI"],
"start_date": "2026-01-01",
"limit": 10
}'
3. 多关键词 AND 搜索(逻辑与)
curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_API_KEY"
-d '{
"source": "X",
"keywords": ["chutes", "bittensor"],
"keyword_mode": "all",
"start_date": "2026-01-01",
"limit": 20
}'
4. Reddit 搜索
curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_API_KEY"
-d '{
"source": "REDDIT",
"keywords": ["r/MachineLearning", "transformers"],
"start_date": "2026-02-01",
"limit": 50
}'
5. 用户 + 关键词联合过滤
curl -s -X POST https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData
-H "Content-Type: application/json"
-H "Authorization: Bearer YOUR_API_KEY"
-d '{
"source": "X",
"usernames": ["@opentensor"],
"keywords": ["subnet"],
"start_date": "2026-01-01",
"limit": 20
}'
Python 示例
使用 macrocosmos SDK
import asyncio
import macrocosmos as mc
async def search_tweets():
client = mc.AsyncSn13Client(api_key="YOUR_API_KEY")
response = await client.sn13.OnDemandData(
source="X",
keywords=["bittensor"],
usernames=[],
start_date="2026-01-01",
end_date=None,
limit=10,
keyword_mode="any",
)
if hasattr(response, "model_dump"):
data = response.model_dump()
for tweet in data["data"]:
print(f"@{tweet['user']['username']}: {tweet['text'][:100]}")
print(f" Likes: {tweet['tweet']['like_count']} | Views: {tweet['tweet']['view_count']}")
asyncio.run(search_tweets())
使用 requests(REST 方式)
import requests
url = "https://constellation.api.cloud.macrocosmos.ai/sn13.v1.Sn13Service/OnDemandData"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY"
}
payload = {
"source": "X",
"keywords": ["bittensor"],
"start_date": "2026-01-01",
"limit": 10
}
response = requests.post(url, json=payload, headers=headers)
data = response.json()
for tweet in data["data"]:
print(f"@{tweet['user']['username']}: {tweet['text'][:100]}")
提示与已知行为
稳定可靠的功能
- 高热度关键词搜索:如 “bittensor”、“AI”、“iran”、“lfg” 等热门词,响应迅速
- 较宽泛的日期范围:将
start_date设得更早(例如数周或数月前),可显著提升结果召回率 keyword_mode: "all":适合查找两个主题的交集(例如 “chutes” AND “bittensor”)
可能不稳定的功能
- 仅按用户名查询:可能出现超时(
DEADLINE_EXCEEDED)。建议显式设置较早的start_date缓解该问题 - 小众/低频关键词:过于具体的术语可能因矿工节点未索引对应数据而超时
- 未指定
start_date:默认仅检索最近 24 小时数据,易遗漏信息;建议始终显式设置
面向 LLM Agent 的最佳实践
- 务必设置
start_date—— 不要依赖默认的 24 小时窗口。用户查询建议至少回溯 7 天 - 优先使用关键词而非用户名 —— 关键词搜索稳定性更高
- 若需按用户名查询,必须配合设置
start_date(建议回溯数周至数月) - 组合主题与子主题时,使用
keyword_mode: "all"(例如 “bittensor” + “chutes”) - 优雅处理超时 —— 若查询失败,可尝试扩大日期范围,或切换为关键词搜索
- 解析互动指标 —— 利用
view_count、like_count、retweet_count等字段对结果进行相关性排序 - 检查
is_reply和is_quote字段 —— 根据实际需求过滤原始推文(original tweet)、回复(reply)或引用推文(quote)
Gravity API(大规模数据采集)
当所需数据量超过 1000 条时,请使用 Gravity 系列接口:
创建采集任务
POST /gravity.v1.GravityService/CreateGravityTask
{
"gravity_tasks": [
{"platform": "x", "topic": "#bittensor", "keyword": "dTAO"}
],
"name": "Bittensor dTAO Collection"
}
注意: X 平台的话题(topic)必须以 # 或 $ 开头;Reddit 平台则使用子版块格式(如 r/xxx)。
查询任务状态
POST /gravity.v1.GravityService/GetGravityTasks
{
"gravity_task_id": "multicrawler-xxxx-xxxx",
"include_crawlers": true
}
构建数据集
POST /gravity.v1.GravityService/BuildDataset
{
"crawler_id": "crawler-0-multicrawler-xxxx",
"max_rows": 10000
}
警告:调用此接口将永久停止对应爬虫任务。
获取数据集下载链接
POST /gravity.v1.GravityService/GetDataset
{
"dataset_id": "dataset-xxxx-xxxx"
}
任务完成后,返回 Parquet 文件的下载 URL。
工作流概览
快速查询(< 1000 条结果): OnDemandData → 即时返回结果 大规模采集(7 日周期爬取): CreateGravityTask → GetGravityTasks(轮询监控)→ BuildDataset → GetDataset(下载)
错误码参考
| 错误 | 原因 | 解决方法 |
|---|---|---|
401 Unauthorized |
缺失或无效的 API 密钥 | 检查 Authorization: Bearer 请求头是否正确设置 |
500 Internal Server Error |
服务端异常(常见于 gRPC 认证失败) | 确认 API 密钥有效性并重试 |
DEADLINE_EXCEEDED |
查询超时 —— 矿工节点无法在时限内完成请求 | 扩大日期范围,或改用关键词搜索 |
空的 data 数组 |
无匹配结果 | 放宽搜索关键词或扩大日期范围 |
热门AI工具
相关专题
本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。
0
2026.11.12
本专题围绕Go-Zero的安装与工具链配置展开,讲清Go版本要求、goctl安装方式、代理镜像、protoc依赖与环境变量设置,说明多版本共存、升级回退与CI流水线安装的做法,并整理安装阶段的常见报错与验证步骤。
0
2026.11.12
本专题整理Go-Zero的入门知识,从框架定位、环境准备到跑通第一个API服务,讲清目录分层、配置加载、日志与中间件的基本用法,并对比Gin、Kratos的差异,帮助Go开发者建立整体认知,判断它是否适合当前项目。
0
2026.11.12
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
围绕Postman HTTP请求头配置展开,讲解Headers选项的具体使用方式,包括Key和Value参数填写、请求头信息添加、常见Header字段设置及请求头修改方法,帮助用户解决接口调试过程中遇到的请求头配置问题。
0
2026.11.06
详细介绍Postman接口请求的创建与发送方法,涵盖GET和POST请求、URL配置、请求参数、Headers请求头、Body请求体设置以及响应结果查看,帮助用户掌握Postman接口请求的完整操作流程。
0
2026.11.06
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.8万人学习
共6课时 | 54.7万人学习
最新文章