社交内容 · 数据 API

Mastodon

Mastodon API

按 Mastodon 联邦账号、标签或实例公共时间线读取公开嘟文与轻量资料,区分 Favourite 与 Boost;不承诺完整联邦历史或账号元数据。 调用 POST /api/v1/social ;返回结构化 JSON,$1.39 / 千次;失败不计费。

5

个能力

$1.39 / 千次

能力价格

同步

调用模式

1 个

一把 Key 通用 89 个平台

Mastodon 能力清单

action必填参数可选参数单次条数模式单价返回字段
user_postsusernameinstance默认 20 · 最多 100同步$1.39 / 千次id · url · text · author_name · author_username · author_url · instance · like_count · reblog_count · comment_count · language · is_reblog · posted_at · platform · media_urls · hashtags
profileusernameinstance—同步$1.39 / 千次username · display_name · handle · instance · url · platform
hashtaghashtaginstance默认 20 · 最多 100同步$1.39 / 千次id · url · text · author_name · author_username · author_url · instance · like_count · reblog_count · comment_count · language · is_reblog · posted_at · platform · media_urls · hashtags
trending—instance默认 20 · 最多 100同步$1.39 / 千次id · url · text · author_name · author_username · author_url · instance · like_count · reblog_count · comment_count · language · is_reblog · posted_at · platform · media_urls · hashtags
timeline—instance默认 20 · 最多 100同步$1.39 / 千次id · url · text · author_name · author_username · author_url · instance · like_count · reblog_count · comment_count · language · is_reblog · posted_at · platform · media_urls · hashtags

Mastodon 每个接口分别做什么

下面逐个解释 action、必填参数、可选筛选项和允许值。 请求都发到 POST /api/v1/social, 切换 action 时,也要按对应接口调整参数。 同名参数在不同平台、不同接口中可能指向不同对象;请以该条说明中的格式和适用范围为准。

下方只展示平台官方资料,用于核对对象与术语,不表示平台对 EveryInfra 的授权或背书。 本接口接受的参数、字段与能力边界以各条说明为准,不与平台官方 API 直接等同。

怎么调用 Mastodon 用户内容 API?

user_posts

使用 platform="mastodon"、action="user_posts" 调用“用户内容”能力;返回列表,默认 20 条、单次最多 100 条,主要包含 id、url、text、author_name、author_username、author_url 等 16 个字段。

Mastodon user_posts 的参数分别是什么意思?

username必填
Mastodon 账号名或 user@instance 形式的完整账号,开头 @ 可省略。仅传短用户名且未指定 instance 时默认 mastodon.social;不同实例的同名账号不是同一人。

官方明确 @[email protected] 与 @[email protected] 不是同一账号,完整标识由 username 和 domain 组成。该文只支持账号识别规则,不意味着本网关返回官方 Account 的全部元数据。官方来源:Mastodon WebFinger:账号名必须连同域名识别来源核查:

instance可选
Mastodon 实例域名,不带协议或路径。timeline 默认 fosstodon.org,其他入口默认 mastodon.social;显式 instance 优先于 username 中的实例,因此二者应保持一致。
Mastodon 特有返回字段与含义(3)
instance
所属实例域名。
is_reblog
是否为转嘟(Mastodon 的转发)。
reblog_count
转嘟数。

怎么调用 Mastodon 主页或对象详情 API?

profile

使用 platform="mastodon"、action="profile" 调用“主页或对象详情”能力;返回单个对象,主要包含 username、display_name、handle、instance、url、platform。

Mastodon profile 的参数分别是什么意思?

username必填
Mastodon 账号名或 user@instance 形式的完整账号,开头 @ 可省略。仅传短用户名且未指定 instance 时默认 mastodon.social;不同实例的同名账号不是同一人。

官方明确 @[email protected] 与 @[email protected] 不是同一账号,完整标识由 username 和 domain 组成。该文只支持账号识别规则,不意味着本网关返回官方 Account 的全部元数据。官方来源:Mastodon WebFinger:账号名必须连同域名识别来源核查:

instance可选
Mastodon 实例域名,不带协议或路径。timeline 默认 fosstodon.org,其他入口默认 mastodon.social;显式 instance 优先于 username 中的实例,因此二者应保持一致。
Mastodon 特有返回字段与含义(2)
instance
所属实例域名。
handle
完整账号标识,形如 @user@instance —— Mastodon 是联邦制,同名用户可存在于不同实例,只有 handle 全局唯一。

怎么调用 Mastodon 话题内容 API?

hashtag

使用 platform="mastodon"、action="hashtag" 调用“话题内容”能力;返回列表,默认 20 条、单次最多 100 条,主要包含 id、url、text、author_name、author_username、author_url 等 16 个字段。

Mastodon hashtag 的参数分别是什么意思?

hashtag必填
标签词,不带 #,在指定 instance 上读取话题流。当前不包含转嘟与回复,不能把它当作联邦全网标签的完整样本。

官方标签流读取含指定标签的公开状态,标签路径不带 #;实例禁用公开预览时访问受到限制。EveryInfra 的排除 Boost/回复和支持参数以本页自身契约为准,不照搬官方所有查询键。官方来源:Mastodon 标签流及实例公开预览限制来源核查:

instance可选
Mastodon 实例域名,不带协议或路径。timeline 默认 fosstodon.org,其他入口默认 mastodon.social;显式 instance 优先于 username 中的实例,因此二者应保持一致。
Mastodon 特有返回字段与含义(3)
instance
所属实例域名。
is_reblog
是否为转嘟(Mastodon 的转发)。
reblog_count
转嘟数。

怎么调用 Mastodon 时间线 API?

timeline

使用 platform="mastodon"、action="timeline" 调用“时间线”能力;返回列表,默认 20 条、单次最多 100 条,主要包含 id、url、text、author_name、author_username、author_url 等 16 个字段。

Mastodon timeline 的参数分别是什么意思?

instance可选
Mastodon 实例域名,不带协议或路径。timeline 默认 fosstodon.org,其他入口默认 mastodon.social;显式 instance 优先于 username 中的实例,因此二者应保持一致。

官方公共时间线端点返回指定实例所见的公开状态,并支持 local、remote、limit 和游标;部分实例会关闭匿名预览或要求认证,实例时间线也不是联邦全网完整样本。官方来源:Mastodon:指定实例的公共时间线来源核查:

Mastodon 特有返回字段与含义(3)
instance
所属实例域名。
is_reblog
是否为转嘟(Mastodon 的转发)。
reblog_count
转嘟数。
Mastodon user_posts 调用流程一次 Mastodon user_posts 调用的全过程:向 POST /api/v1/social 发送 platform="mastodon"、action="user_posts",以及必填参数 username;返回结构化 JSON,含 id、url、text、author_name、author_username 等字段;返回列表,单次最多 100 条,计费 $1.39 / 千次,失败与空结果不计费。1 · 请求POST /api/v1/socialplatform: "mastodon"action: "user_posts"usernameEveryInfra$1.39 / 千次2 · 响应 · 列表idurltextauthor_nameauthor_username
一次 Mastodon user_posts 调用的全过程:向 POST /api/v1/social 发送 platform="mastodon"、action="user_posts",以及必填参数 username;返回结构化 JSON,含 id、url、text、author_name、author_username 等字段;返回列表,单次最多 100 条,计费 $1.39 / 千次,失败与空结果不计费。

Mastodon 原始字段名

EveryInfra 统一字段名

左边是 Mastodon 数据里原本的字段名,右边是我们统一后的。点任意一行看对应关系。89 个平台复用通用字段命名,减少重复适配; 切换平台仍需核对参数、字段集合、类型与空值含义。这里展示映射关系,不是目标的实时返回数据。

Mastodon 的独有字段名(当前目录)

全站 89 个平台的当前目录中,这 2 个字段名只在 Mastodon 出现。 这是字段命名的分布,不代表其他平台没有同类信息,也不保证每次响应都含这些字段;具体含义和返回条件仍需逐接口核对。

  • reblog_count
  • is_reblog

返回字段含义

通用字段采用统一命名;切换平台时仍需核对目标格式、字段是否存在、类型、空值与平台特有含义。 机器可读版:/api/v1/social/fields

id
该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。
url
该记录在原平台上的可访问链接。
text
正文内容,已去除 HTML 标签。长文可能被截断。
author_name
作者昵称(显示名)。
author_username
作者用户名(@handle),通常可用于拼 URL。
author_url
作者在原平台的主页链接。
instance
所属实例域名。
like_count
点赞数。null 表示该平台或该接口不公开此数据,不等于 0。
reblog_count
转嘟数。
comment_count
评论数。null 表示不公开,不等于 0。
language
内容语言代码(如 zh、en),由平台判定,可能不准。
is_reblog
是否为转嘟(Mastodon 的转发)。
posted_at
发布时间,ISO 8601 格式、UTC 时区(如 2026-08-07T12:34:56+00:00)。平台只给非标准字符串时原样透传,解析前建议做容错。null 表示平台未公开。
platform
数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。
username
用户名(@handle)。
display_name
显示名,可能与 username 不同。
handle
完整账号标识,形如 @user@instance —— Mastodon 是联邦制,同名用户可存在于不同实例,只有 handle 全局唯一。

当前目录另列出 media_urls · hashtags,这些字段尚无逐项释义;请先核对 Mastodon 对应接口的用例与实际响应,不按字段名猜测类型或含义。

请求填写示例

替换用户名和实例域名;同名账号在不同实例不是同一目标。

以下为填写格式示意,并非成功调用记录。请替换 API Key 和尖括号中的目标,确认可选筛选项后再调用;示例不保证目标当前有数据。

mastodon_user_posts.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer omg_你的KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"mastodon","action":"user_posts","params":{"username":"<USERNAME>@mastodon.social"}}'

记录字段预览(非真实响应)

仅展示 user_posts 的记录字段,不包含外层响应、计费或任务状态。null 只作展示占位,不表示字段类型或实际空值;完整响应须以接口文档与实际调用为准。

fields.preview.json
{
  "id": null,
  "url": null,
  "text": null,
  "author_name": null,
  "author_username": null,
  "author_url": null,
  "instance": null,
  "like_count": null,
  "reblog_count": null,
  "comment_count": null,
  "language": null,
  "is_reblog": null,
  "posted_at": null,
  "platform": null,
  "media_urls": null,
  "hashtags": null
}

常见用例

以下是基于现有接口的接入思路,不是开箱即用的分析或告警功能。字段以实际返回为准,缺失值不按零处理。

用完整 Mastodon 账号地址读取帖子样本

user_posts 以 user@instance 区分联邦账号,不把不同站点的同名用户合并。 当前部分响应处理存在待修错误,不能视为已验证可用。

查看 user_posts 的 username 参数 →
  • username 推荐使用 user@instance 或 @user@instance;只传短名时当前默认 mastodon.social。完整主页 URL 不是这里已登记的 username 格式,当前目录也没有单独的 instance 或 url 覆盖参数。
  • 返回 author_username、author_url、instance 与帖子 url 用于保存账号和内容出处。like_count 对应 Favourite,reblog_count 对应 Boost(转嘟),comment_count 是回复计数;不将这些行为混成播放量,也不提供完整回复正文或私密提及。
  • 当前缺少独立 ID 或正文仅有 HTML 的结果会触发处理错误;这些路径修复前,不把目录存在或少量可解析结果当作稳定可用保证。

核对 Mastodon 账号的最小身份信息

profile 当前是身份级结果,不是完整的粉丝画像或主页统计接口。

查看 profile 的 username 参数 →
  • username 与 user_posts 使用同一账号地址规则;handle 是完整联邦标识,username 是短名,instance 是域名,三个字段不能互相替代。同名跨实例账号应分别记录。
  • 本入口从可读的账号帖子信息提取 display_name、handle 和 url,不提供 bio、avatar 或 follower_count。没有可读帖子时可能无法提取身份,空对象不等于账号不存在;也不要根据显示名称确认真人身份。

读取 Mastodon 指定标签的公开帖子

hashtag 是标签时间线,不是任意正文关键词搜索,也不代表全联邦的完整话题样本。当前部分响应处理存在待修复错误,不能视为已验证可用。

查看 hashtag 的 hashtag 参数 →
  • hashtag 传标签名,建议不带 #;tag 和 keyword 只是兼容输入,仍须提供必填 hashtag。当前入口默认 mastodon.social,生成目录未开放可切换实例的参数。
  • 现有配置排除 Boost 和回复,返回 text、language、author_url、url 与互动计数,用于观察原始公开话题帖。实例可关闭公开预览,空列表或访问失败不能被解释为无人讨论;也不能据此访问仅关注者可见内容。
  • 当前缺少独立 ID 或正文仅有 HTML 的结果会触发处理错误;这些路径修复前,不把目录存在或少量可解析结果当作稳定可用保证。

查看 Mastodon 实例视角的热门帖子

trending 返回热门状态帖,不是热门标签字符串、热链目录或全球影响力排名。

查看 trending 的 instance 参数 →
  • instance 可指定要查询的 Mastodon 实例域名,默认 mastodon.social;它不会把多个实例合并为全球榜,也不能用 keyword 代替实例视角的趋势发现。
  • 每行以 id / url 定位帖子,text、posted_at 和互动计数描述内容。官方热门结果会重新计算且不保证按发布时间排序;不能由数组位置推导历史峰值、所有实例共同榜单或固定增长率。
  • 本地已修复脱敏函数的正则别名错误并覆盖离线样本;未付费调用当前上游时,仍不能把目录存在或少量可解析结果当作稳定可用的保证。

从 Mastodon 默认公共时间线发现内容

timeline 用于读取公共状态帖样本,与已登录用户的 Home 时间线不同。

查看 timeline 的 instance 参数 →
  • instance 可指定公共时间线所属实例;这一入口默认 fosstodon.org,与其他默认使用 mastodon.social 的入口不同。采集批次需记下这一视角,不能拿两种入口的结果数直接当同一站点趋势。
  • url、author_url 与 instance 保留帖子和作者来源。实例之间没有完整共享状态,公共时间线可能只包含该实例已知的内容,且管理员可限制公开预览;本接口不读取私人订阅流、私信或保证所有实例始终可访问。
  • 本地已修复脱敏函数的正则别名错误并覆盖离线样本;未付费调用当前上游时,仍不能把目录存在或少量可解析结果当作稳定可用的保证。

Mastodon API 常见问题

Mastodon API 怎么调用?

调用 POST /api/v1/social,请求体传 platform="mastodon"、action 和 params。以 user_posts 为例,必填 username,可选 instance。替换用户名和实例域名;同名账号在不同实例不是同一目标。 Mastodon 共 5 个 action,鉴权用 Authorization: Bearer <API Key>,同一把 Key 通 89 个平台。

Mastodon API 怎么收费?

$1.39 / 千次,Mastodon 全部 5 个能力同价。按本页最高能力单价、每次单目标估算,$1 免费额度约可用于 719 次 Mastodon 调用。费用按所选能力与目标数量计算,多目标请求不要按单目标估算;参数错误、鉴权失败和空结果不计费。

Mastodon API 一次能返回多少条数据?

Mastodon 有 4 个列表接口,包括 user_posts、hashtag、trending、timeline。其余 1 个接口返回单个对象;对象内仍可能包含数组。数量参数要逐接口区分目标数、页数和记录数,不能将目录数值直接当作保证返回的条数;具体限制见对应参数与用例,不保证完整历史。

Mastodon API 返回哪些字段?

当前目录为 user_posts 列出 id、url、text、author_name、author_username、author_url 等 16 个字段名。按全站当前目录统计,2 个字段名只在 Mastodon 出现;这不表示其他平台没有同类信息。字段不保证每次齐全,嵌套位置、类型与空值须按各接口说明核对,同名字段不代表语义可互换。

「用完整 Mastodon 账号地址读取帖子样本」怎样接入 Mastodon API?

user_posts 以 user@instance 区分联邦账号,不把不同站点的同名用户合并。 当前部分响应处理存在待修错误,不能视为已验证可用。 username 推荐使用 user@instance 或 @user@instance;只传短名时当前默认 mastodon.social。完整主页 URL 不是这里已登记的 username 格式,当前目录也没有单独的 instance 或 url 覆盖参数。 返回 author_username、author_url、instance 与帖子 url 用于保存账号和内容出处。like_count 对应 Favourite,reblog_count 对应 Boost(转嘟),comment_count 是回复计数;不将这些行为混成播放量,也不提供完整回复正文或私密提及。 当前缺少独立 ID 或正文仅有 HTML 的结果会触发处理错误;这些路径修复前,不把目录存在或少量可解析结果当作稳定可用保证。

「核对 Mastodon 账号的最小身份信息」怎样接入 Mastodon API?

profile 当前是身份级结果,不是完整的粉丝画像或主页统计接口。 username 与 user_posts 使用同一账号地址规则;handle 是完整联邦标识,username 是短名,instance 是域名,三个字段不能互相替代。同名跨实例账号应分别记录。 本入口从可读的账号帖子信息提取 display_name、handle 和 url,不提供 bio、avatar 或 follower_count。没有可读帖子时可能无法提取身份,空对象不等于账号不存在;也不要根据显示名称确认真人身份。

「读取 Mastodon 指定标签的公开帖子」怎样接入 Mastodon API?

hashtag 是标签时间线,不是任意正文关键词搜索,也不代表全联邦的完整话题样本。当前部分响应处理存在待修复错误,不能视为已验证可用。 hashtag 传标签名,建议不带 #;tag 和 keyword 只是兼容输入,仍须提供必填 hashtag。当前入口默认 mastodon.social,生成目录未开放可切换实例的参数。 现有配置排除 Boost 和回复,返回 text、language、author_url、url 与互动计数,用于观察原始公开话题帖。实例可关闭公开预览,空列表或访问失败不能被解释为无人讨论;也不能据此访问仅关注者可见内容。 当前缺少独立 ID 或正文仅有 HTML 的结果会触发处理错误;这些路径修复前,不把目录存在或少量可解析结果当作稳定可用保证。

「查看 Mastodon 实例视角的热门帖子」怎样接入 Mastodon API?

trending 返回热门状态帖,不是热门标签字符串、热链目录或全球影响力排名。 instance 可指定要查询的 Mastodon 实例域名,默认 mastodon.social;它不会把多个实例合并为全球榜,也不能用 keyword 代替实例视角的趋势发现。 每行以 id / url 定位帖子,text、posted_at 和互动计数描述内容。官方热门结果会重新计算且不保证按发布时间排序;不能由数组位置推导历史峰值、所有实例共同榜单或固定增长率。 本地已修复脱敏函数的正则别名错误并覆盖离线样本;未付费调用当前上游时,仍不能把目录存在或少量可解析结果当作稳定可用的保证。

可以先免费试用 Mastodon API 吗?

可以。注册免费,加微信领邀请码可得 $1 免费额度(≈720 次数据调用)。请先选择 Mastodon 的目标接口,用单目标请求核对结果;实际可调用次数取决于能力价格与目标数量,不保证覆盖全部 5 个能力。无需信用卡。

开始调用 Mastodon API

加微信领 $1 免费额度,先选一个 Mastodon 接口验证结果。实际可调用次数取决于能力价格与目标数量。

免费开始