社交内容 · 数据 API

Bluesky

Bluesky API

通过人物搜索或完整 handle 查找 Bluesky 账号,读取帖子、资料计数及粉丝/关注列表;两种关系方向分开,不承诺完整关系网。 调用 POST /api/v1/social ;返回结构化 JSON,$1.39 / 千次;失败不计费。

5

个能力

$1.39 / 千次

能力价格

同步

调用模式

1 个

一把 Key 通用 89 个平台

Bluesky 能力清单

action必填参数可选参数单次条数模式单价返回字段
profileusername——同步$1.39 / 千次user_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform · banner_url · follower_count · following_count · post_count
user_postsusername—默认 20 · 最多 200同步$1.39 / 千次id · url · text · author_username · author_name · author_id · author_avatar_url · lang · like_count · repost_count · comment_count · quote_count · bookmark_count · is_reply · is_repost · posted_at · platform · media_urls · embed_url · embed_title
followersusername—默认 30 · 最多 100同步$1.39 / 千次user_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform
followingusername—默认 30 · 最多 100同步$1.39 / 千次user_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform
search_peoplekeyword—默认 20 · 最多 200同步$1.39 / 千次user_id · username · display_name · bio · url · avatar_url · is_verified · joined_at · source_username · platform

Bluesky 每个接口分别做什么

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

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

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

profile

使用 platform="bluesky"、action="profile" 调用“主页或对象详情”能力;返回单个对象,主要包含 user_id、username、display_name、bio、url、avatar_url 等 14 个字段。

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

username必填
Bluesky 完整 handle,例如 alice.bsky.social 或账号绑定的自定义域名;不是显示昵称,也不要传 bsky.app/profile/ 页面 URL。profile、user_posts、followers、following 均用同一账号 handle 定位。

协议中的 handle 是域名形式的用户标识,可解析为稳定的 DID;两者不是同一种输入。官方来源:AT Protocol:handle 与 DID来源核查:

Bluesky 特有返回字段与含义(3)
banner_url
主页横幅图。
joined_at
账号注册时间。
source_username
转发来源账号。

怎么调用 Bluesky 用户内容 API?

user_posts

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

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

username必填
Bluesky 完整 handle,例如 alice.bsky.social 或账号绑定的自定义域名;不是显示昵称,也不要传 bsky.app/profile/ 页面 URL。profile、user_posts、followers、following 均用同一账号 handle 定位。

协议中的 handle 是域名形式的用户标识,可解析为稳定的 DID;两者不是同一种输入。官方来源:AT Protocol:handle 与 DID来源核查:

Bluesky 特有返回字段与含义(6)
author_avatar_url
作者头像。
is_reply
是否为回复。
is_repost
是否为转发。
quote_count
引用转发数。与 repost 不同:引用是带评论的转发。
bookmark_count
收藏数。
lang
内容语言,作者发布时自行标注。

怎么调用 Bluesky 粉丝列表 API?

followers

使用 platform="bluesky"、action="followers" 调用“粉丝列表”能力;返回列表,默认 30 条、单次最多 100 条,主要包含 user_id、username、display_name、bio、url、avatar_url 等 10 个字段。

Bluesky followers 的参数分别是什么意思?

username必填
Bluesky 完整 handle,例如 alice.bsky.social 或账号绑定的自定义域名;不是显示昵称,也不要传 bsky.app/profile/ 页面 URL。profile、user_posts、followers、following 均用同一账号 handle 定位。

协议中的 handle 是域名形式的用户标识,可解析为稳定的 DID;两者不是同一种输入。官方来源:AT Protocol:handle 与 DID来源核查:

Bluesky 特有返回字段与含义(2)
joined_at
账号注册时间。
source_username
转发来源账号。

怎么调用 Bluesky 关注列表 API?

following

使用 platform="bluesky"、action="following" 调用“关注列表”能力;返回列表,默认 30 条、单次最多 100 条,主要包含 user_id、username、display_name、bio、url、avatar_url 等 10 个字段。

Bluesky following 的参数分别是什么意思?

username必填
Bluesky 完整 handle,例如 alice.bsky.social 或账号绑定的自定义域名;不是显示昵称,也不要传 bsky.app/profile/ 页面 URL。profile、user_posts、followers、following 均用同一账号 handle 定位。

协议中的 handle 是域名形式的用户标识,可解析为稳定的 DID;两者不是同一种输入。官方来源:AT Protocol:handle 与 DID来源核查:

Bluesky 特有返回字段与含义(2)
joined_at
账号注册时间。
source_username
转发来源账号。

怎么调用 Bluesky 人员搜索 API?

search_people

使用 platform="bluesky"、action="search_people" 调用“人员搜索”能力;返回列表,默认 20 条、单次最多 200 条,主要包含 user_id、username、display_name、bio、url、avatar_url 等 10 个字段。

Bluesky search_people 的参数分别是什么意思?

keyword必填
search_people 的人物/账号搜索词。此入口返回匹配的人物资料,不搜索含该词的帖子;取账号发帖需改用 user_posts 并提供完整 username。

Bluesky 官方 Lexicon 将 app.bsky.actor.searchActors 定义为使用 q 搜索 actor profile,并支持 limit 与 cursor。EveryInfra 将对应查询文本公开为 keyword;q 与 keyword 是概念映射而非同一 API 参数,本接口最大 200 条只能来自自身分页聚合。官方来源:Bluesky searchActors:使用 q 搜索账号资料来源核查:

Bluesky 特有返回字段与含义(2)
joined_at
账号注册时间。
source_username
转发来源账号。
Bluesky profile 调用流程一次 Bluesky profile 调用的全过程:向 POST /api/v1/social 发送 platform="bluesky"、action="profile",以及必填参数 username;返回结构化 JSON,含 user_id、username、display_name、bio、url 等字段;返回单个对象,计费 $1.39 / 千次,失败与空结果不计费。1 · 请求POST /api/v1/socialplatform: "bluesky"action: "profile"usernameEveryInfra$1.39 / 千次2 · 响应 · 对象user_idusernamedisplay_namebiourl
一次 Bluesky profile 调用的全过程:向 POST /api/v1/social 发送 platform="bluesky"、action="profile",以及必填参数 username;返回结构化 JSON,含 user_id、username、display_name、bio、url 等字段;返回单个对象,计费 $1.39 / 千次,失败与空结果不计费。

Bluesky 原始字段名

EveryInfra 统一字段名

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

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

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

  • source_username
  • lang
  • bookmark_count

返回字段含义

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

user_id
用户在原平台的唯一 ID。
username
用户名(@handle)。
display_name
显示名,可能与 username 不同。
bio
个人简介,账号自己填写的文本。可能含换行和 emoji。
url
该记录在原平台上的可访问链接。
avatar_url
头像图片链接。部分平台给的是带尺寸参数的 CDN 链接,可能有时效。
is_verified
是否为平台认证账号(蓝V等)。null 表示无法判定。
joined_at
账号注册时间。
source_username
转发来源账号。
platform
数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。
banner_url
主页横幅图。
follower_count
粉丝数。null 表示不公开,不等于 0。
following_count
关注数。null 表示不公开,不等于 0。
post_count
发布内容总数。null 表示不公开,不等于 0。
id
该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。
text
正文内容,已去除 HTML 标签。长文可能被截断。
author_username
作者用户名(@handle),通常可用于拼 URL。
author_name
作者昵称(显示名)。
author_id
作者在原平台的唯一 ID。
author_avatar_url
作者头像。
lang
内容语言,作者发布时自行标注。
like_count
点赞数。null 表示该平台或该接口不公开此数据,不等于 0。
repost_count
转发数(区别于引用转发)。null 表示不公开。
comment_count
评论数。null 表示不公开,不等于 0。
quote_count
引用转发数。与 repost 不同:引用是带评论的转发。
bookmark_count
收藏数。
is_reply
是否为回复。
is_repost
是否为转发。
posted_at
发布时间,ISO 8601 格式、UTC 时区(如 2026-08-07T12:34:56+00:00)。平台只给非标准字符串时原样透传,解析前建议做容错。null 表示平台未公开。

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

请求填写示例

将 HANDLE 替换为目标的完整 handle;自定义域名账号应使用其实际域名。

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

bluesky_profile.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer omg_你的KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"bluesky","action":"profile","params":{"username":"<HANDLE>.bsky.social"}}'

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

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

fields.preview.json
{
  "user_id": null,
  "username": null,
  "display_name": null,
  "bio": null,
  "url": null,
  "avatar_url": null,
  "is_verified": null,
  "joined_at": null,
  "source_username": null,
  "platform": null,
  "banner_url": null,
  "follower_count": null,
  "following_count": null,
  "post_count": null
}

常见用例

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

用完整 Bluesky handle 查看单个账号资料

用 profile 读取目标账号的资料与计数,不把显示昵称当作稳定标识。

查看 profile 的 username 参数 →
  • 填写 username 时,使用 alice.bsky.social 这样的完整 handle 或账号自定义域名,可包含 @,不要填写 bsky.app/profile/ 页面 URL。profile 返回的字段目前只包括 banner_url、follower_count、following_count、post_count;基础账号字段的提取可能存在遗漏,因此不能仅凭此推断接口只返回四个字段或这些字段总是完整。
  • follower_count 是关注该账号的人数,following_count 是它关注的人数,post_count 是发帖数;不是独立活跃用户或指定日期内新增量。这里没有历史区间、粉丝画像或私信内容参数。

查看 Bluesky 账号关注了谁

用 following 读取该账号关注了谁,不与 followers 的粉丝方向混淆。

查看 following 的 username 参数 →
  • username 是列表所属账号的完整 handle;返回行的 user_id / username 则定位它所关注的账号。source_username 是这份列表所属账号,不是转发来源,display_name 只是可变的显示名称。
  • 该列表没有每个对象的粉丝数、关注数或发帖数,缺少这些数字不表示为零;需要计数另查 profile。这里只提供取得的关系片段,没有关注发生时间,也不保证双向互关,更不承诺完整的关系网络。

Bluesky 账号发现

通过 search_people 找到相关人物或组织账号。

查看 search_people 的 keyword 参数 →
  • keyword 填人物或账号搜索词,再按 username、display_name 与 bio 核对对象。
  • 这是账号搜索,不是包含该关键词的帖子全文搜索。

指定 handle 的发帖观察

用完整 Bluesky handle 读取账号内容,整理话题与发布时间。

查看 user_posts 的 username 参数 →
  • 结合 text、posted_at、is_reply 和 is_repost 区分内容;username 不是显示昵称。
  • 只分析实际返回的帖子,不把一次结果当作完整发帖档案。

公开粉丝资料核对

读取指定 handle 的粉丝列表,查看返回账号的公开资料。

查看 followers 的 username 参数 →
  • 以 username 和 user_id 识别条目,display_name 与 bio 用于人工筛选。
  • followers 返回列表,但不承诺完整关系网,也不提供私有联系信息。

Bluesky API 常见问题

Bluesky API 怎么调用?

调用 POST /api/v1/social,请求体传 platform="bluesky"、action 和 params。以 profile 为例,必填 username,没有可选参数。将 HANDLE 替换为目标的完整 handle;自定义域名账号应使用其实际域名。 Bluesky 共 5 个 action,鉴权用 Authorization: Bearer <API Key>,同一把 Key 通 89 个平台。

Bluesky API 怎么收费?

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

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

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

Bluesky API 返回哪些字段?

当前目录为 profile 列出 user_id、username、display_name、bio、url、avatar_url 等 14 个字段名。按全站当前目录统计,3 个字段名只在 Bluesky 出现;这不表示其他平台没有同类信息。字段不保证每次齐全,嵌套位置、类型与空值须按各接口说明核对,同名字段不代表语义可互换。

「用完整 Bluesky handle 查看单个账号资料」怎样接入 Bluesky API?

用 profile 读取目标账号的资料与计数,不把显示昵称当作稳定标识。 填写 username 时,使用 alice.bsky.social 这样的完整 handle 或账号自定义域名,可包含 @,不要填写 bsky.app/profile/ 页面 URL。profile 返回的字段目前只包括 banner_url、follower_count、following_count、post_count;基础账号字段的提取可能存在遗漏,因此不能仅凭此推断接口只返回四个字段或这些字段总是完整。 follower_count 是关注该账号的人数,following_count 是它关注的人数,post_count 是发帖数;不是独立活跃用户或指定日期内新增量。这里没有历史区间、粉丝画像或私信内容参数。

「查看 Bluesky 账号关注了谁」怎样接入 Bluesky API?

用 following 读取该账号关注了谁,不与 followers 的粉丝方向混淆。 username 是列表所属账号的完整 handle;返回行的 user_id / username 则定位它所关注的账号。source_username 是这份列表所属账号,不是转发来源,display_name 只是可变的显示名称。 该列表没有每个对象的粉丝数、关注数或发帖数,缺少这些数字不表示为零;需要计数另查 profile。这里只提供取得的关系片段,没有关注发生时间,也不保证双向互关,更不承诺完整的关系网络。

「Bluesky 账号发现」怎样接入 Bluesky API?

通过 search_people 找到相关人物或组织账号。 keyword 填人物或账号搜索词,再按 username、display_name 与 bio 核对对象。 这是账号搜索,不是包含该关键词的帖子全文搜索。

「指定 handle 的发帖观察」怎样接入 Bluesky API?

用完整 Bluesky handle 读取账号内容,整理话题与发布时间。 结合 text、posted_at、is_reply 和 is_repost 区分内容;username 不是显示昵称。 只分析实际返回的帖子,不把一次结果当作完整发帖档案。

可以先免费试用 Bluesky API 吗?

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

开始调用 Bluesky API

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

免费开始