社交内容 · 数据 API

Medium

Medium API

从 Medium 作者、Publication 刊物或标签读取文章条目,保留作者、摘要与原文链接,供选题整理使用;不保证取得会员文章全文。 调用 POST /api/v1/social ;返回结构化 JSON,$1.39 / 千次;失败不计费。

3

个能力

$1.39 / 千次

能力价格

同步

调用模式

1 个

一把 Key 通用 89 个平台

Medium 能力清单

action必填参数可选参数单次条数模式单价返回字段
tagtag—默认 10 · 最多 25同步$1.39 / 千次id · url · title · text · author_name · author_username · author_url · publication_name · like_count · comment_count · reading_time_minutes · is_members_only · posted_at · image_url · platform · tags
user_postsusernameurl默认 10 · 最多 25同步$1.39 / 千次id · url · title · text · author_name · author_username · author_url · publication_name · like_count · comment_count · reading_time_minutes · is_members_only · posted_at · image_url · platform · tags
publicationpublicationurl默认 10 · 最多 25同步$1.39 / 千次id · url · title · text · author_name · author_username · author_url · publication_name · like_count · comment_count · reading_time_minutes · is_members_only · posted_at · image_url · platform · tags

Medium 每个接口分别做什么

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

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

怎么调用 Medium 标签内容 API?

tag

使用 platform="medium"、action="tag" 调用“标签内容”能力;返回列表,默认 10 条、单次最多 25 条,主要包含 id、url、title、text、author_name、author_username 等 16 个字段。

Medium tag 的参数分别是什么意思?

tag必填
Medium 话题标签短名,例如 machine-learning;会去掉开头 #、转小写,并把空白变为连字符。不是任意全文搜索查询。

Medium 官方分别列出作者、刊物和 Topic 的内容流地址,并明确付费墙后的完整文章不在 RSS 内容流中。这里只解释对象与可见内容,不扩成任意全文搜索或付费全文读取。官方来源:Medium:Topic 内容流与付费文章的边界来源核查:

Medium 特有返回字段与含义(3)
publication_name
所属专栏名称。Medium 的文章可发在个人或专栏下。
reading_time_minutes
预计阅读时长,分钟。
is_members_only
是否为会员专享文章。非会员只能看开头。

怎么调用 Medium 用户内容 API?

user_posts

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

Medium 允许同一读者对一篇文章多次鼓掌,因此 claps 总数不能当作读者人数。本接口不提供作者可见的逐人掌声明细,也不因字段存在就保证掌声数一定返回。官方来源:Medium:Claps 不是独立点赞人数来源核查:

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

username必填
Medium 作者 handle 或完整作者主页 URL,裸 handle 会组成 https://medium.com/@<handle>;读取该作者的文章列表,不是个人资料详情。
url可选
user_posts/publication 的完整作者或刊物 URL 兼容输入;各接口必填 username/publication 仍需提供。列表可能包含受限文章,不代表可获得付费全文。
Medium 特有返回字段与含义(3)
publication_name
所属专栏名称。Medium 的文章可发在个人或专栏下。
reading_time_minutes
预计阅读时长,分钟。
is_members_only
是否为会员专享文章。非会员只能看开头。

怎么调用 Medium 出版物或专栏 API?

publication

使用 platform="medium"、action="publication" 调用“出版物或专栏”能力;返回列表,默认 10 条、单次最多 25 条,主要包含 id、url、title、text、author_name、author_username 等 16 个字段。

Medium publication 的参数分别是什么意思?

publication必填
Medium 刊物短名或完整刊物 URL;不是一篇文章标题或作者 handle,裸短名会组成 medium.com/<刊物>。

Medium 将 Publication 与 @username 作者页分开,并另列自定义域名刊物的内容流格式。此处引用对象区别;本接口输入仍按上方参数,不要求用户改传 feed 地址,也不承诺所有自定义域名都已验证。官方来源:Medium:刊物与作者主页使用不同内容流来源核查:

url可选
user_posts/publication 的完整作者或刊物 URL 兼容输入;各接口必填 username/publication 仍需提供。列表可能包含受限文章,不代表可获得付费全文。
Medium 特有返回字段与含义(3)
publication_name
所属专栏名称。Medium 的文章可发在个人或专栏下。
reading_time_minutes
预计阅读时长,分钟。
is_members_only
是否为会员专享文章。非会员只能看开头。
Medium tag 调用流程一次 Medium tag 调用的全过程:向 POST /api/v1/social 发送 platform="medium"、action="tag",以及必填参数 tag;返回结构化 JSON,含 id、url、title、text、author_name 等字段;返回列表,单次最多 25 条,计费 $1.39 / 千次,失败与空结果不计费。1 · 请求POST /api/v1/socialplatform: "medium"action: "tag"tagEveryInfra$1.39 / 千次2 · 响应 · 列表idurltitletextauthor_name
一次 Medium tag 调用的全过程:向 POST /api/v1/social 发送 platform="medium"、action="tag",以及必填参数 tag;返回结构化 JSON,含 id、url、title、text、author_name 等字段;返回列表,单次最多 25 条,计费 $1.39 / 千次,失败与空结果不计费。

Medium 原始字段名

EveryInfra 统一字段名

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

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

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

  • is_members_only

返回字段含义

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

id
该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。
url
该记录在原平台上的可访问链接。
title
标题。平台无标题概念时(如纯文本帖)为 null。
text
正文内容,已去除 HTML 标签。长文可能被截断。
author_name
作者昵称(显示名)。
author_username
作者用户名(@handle),通常可用于拼 URL。
author_url
作者在原平台的主页链接。
publication_name
所属专栏名称。Medium 的文章可发在个人或专栏下。
like_count
点赞数。null 表示该平台或该接口不公开此数据,不等于 0。
comment_count
评论数。null 表示不公开,不等于 0。
reading_time_minutes
预计阅读时长,分钟。
is_members_only
是否为会员专享文章。非会员只能看开头。
posted_at
发布时间,ISO 8601 格式、UTC 时区(如 2026-08-07T12:34:56+00:00)。平台只给非标准字符串时原样透传,解析前建议做容错。null 表示平台未公开。
image_url
图片链接。多图能力可能返回 image_urls 数组。
platform
数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。
tags
标签数组。无标签时为空数组,不是 null。

请求填写示例

tag 是话题路径短名,不是文章 URL 或作者用户名。

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

medium_tag.sh
curl -X POST https://api.everyinfra.com/api/v1/social \
  -H "Authorization: Bearer omg_你的KEY" \
  -H "Content-Type: application/json" \
  -d '{"platform":"medium","action":"tag","params":{"tag":"software-engineering"}}'

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

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

fields.preview.json
{
  "id": null,
  "url": null,
  "title": null,
  "text": null,
  "author_name": null,
  "author_username": null,
  "author_url": null,
  "publication_name": null,
  "like_count": null,
  "comment_count": null,
  "reading_time_minutes": null,
  "is_members_only": null,
  "posted_at": null,
  "image_url": null,
  "platform": null,
  "tags": null
}

常见用例

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

按 Medium 标签发现文章,不把标签当全文搜索

用 tag 整理一个主题下的文章条目,并保留摘要与会员内容边界。

查看 tag 的 tag 参数 →
  • tag 填 machine-learning 这样的标签短名;开头 # 会去掉,空白转成连字符并统一小写。它定位 Medium 话题页,不是自由关键词全文搜索,也不是刊物内搜索。
  • title、url、author_name 与 text 用于建立文章索引;text 可能只有摘要,is_members_only 表示会员属性,不保证可取得付费全文。limit 是本次上限,不能据此认定标签仅有这些文章。

按 Medium 作者 handle 读取文章流

用 user_posts 跟踪作者条目,不把文章列表当作者资料或互动明细。

查看 user_posts 的 username 参数 →
  • username 填作者 handle、@handle 或完整作者主页 URL;不是显示姓名或单篇文章链接。username 仍是必填参数,可选 url 不会取代已填写的 username。返回 author_url 与 author_name 可用于核对作者。
  • 本页没有 profile、单篇详情、掌声名单或回应正文接口。like_count 若有值表示 Medium claps,不是独立点赞人数;互动字段和阅读时长可能缺失,不补零,也不把会员文章条目当作已解锁全文。

读取 Medium Publication 收录的文章

用 publication 区分刊物内容流与个人作者文章流。

查看 publication 的 publication 参数 →
  • publication 填刊物路径短名或完整刊物 URL,裸短名会组成 medium.com/刊物;不填作者 handle 或文章标题。该 action 返回文章列表,不是刊物管理、投稿或编辑权限。
  • 每条结果的 title、url、author_name、posted_at 属于文章;publication_name 可能缺失,不用作者姓名补成刊物名。内容流不是全量档案,text 也不保证是完整正文;受付费墙限制的文章仍需原站相应访问权限。

Medium API 常见问题

Medium API 怎么调用?

调用 POST /api/v1/social,请求体传 platform="medium"、action 和 params。以 tag 为例,必填 tag,没有可选参数。tag 是话题路径短名,不是文章 URL 或作者用户名。 Medium 共 3 个 action,鉴权用 Authorization: Bearer <API Key>,同一把 Key 通 89 个平台。

Medium API 怎么收费?

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

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

Medium 有 3 个列表接口,包括 tag、user_posts、publication。数量参数要逐接口区分目标数、页数和记录数,不能将目录数值直接当作保证返回的条数;具体限制见对应参数与用例,不保证完整历史。

Medium API 返回哪些字段?

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

「按 Medium 标签发现文章,不把标签当全文搜索」怎样接入 Medium API?

用 tag 整理一个主题下的文章条目,并保留摘要与会员内容边界。 tag 填 machine-learning 这样的标签短名;开头 # 会去掉,空白转成连字符并统一小写。它定位 Medium 话题页,不是自由关键词全文搜索,也不是刊物内搜索。 title、url、author_name 与 text 用于建立文章索引;text 可能只有摘要,is_members_only 表示会员属性,不保证可取得付费全文。limit 是本次上限,不能据此认定标签仅有这些文章。

「按 Medium 作者 handle 读取文章流」怎样接入 Medium API?

用 user_posts 跟踪作者条目,不把文章列表当作者资料或互动明细。 username 填作者 handle、@handle 或完整作者主页 URL;不是显示姓名或单篇文章链接。username 仍是必填参数,可选 url 不会取代已填写的 username。返回 author_url 与 author_name 可用于核对作者。 本页没有 profile、单篇详情、掌声名单或回应正文接口。like_count 若有值表示 Medium claps,不是独立点赞人数;互动字段和阅读时长可能缺失,不补零,也不把会员文章条目当作已解锁全文。

「读取 Medium Publication 收录的文章」怎样接入 Medium API?

用 publication 区分刊物内容流与个人作者文章流。 publication 填刊物路径短名或完整刊物 URL,裸短名会组成 medium.com/刊物;不填作者 handle 或文章标题。该 action 返回文章列表,不是刊物管理、投稿或编辑权限。 每条结果的 title、url、author_name、posted_at 属于文章;publication_name 可能缺失,不用作者姓名补成刊物名。内容流不是全量档案,text 也不保证是完整正文;受付费墙限制的文章仍需原站相应访问权限。

可以先免费试用 Medium API 吗?

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

开始调用 Medium API

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

免费开始