InstagramReels 短视频 API

POST

接口健康状态

24h 健康值
正常
24h 平均耗时
—
  • 健康 / 正常
  • 可用
  • 少量可用
  • 基本不可用
正常

Reels 短视频:返回列表,默认 30 条、单次最多 100 条;主要字段 post_id、url、text、media_type、like_count、comment_count。

Instagram Reels 短视频按 username 列出一个公开账号发布的 Reels,每条带文案、时长、播放量、点赞和评论数、发布时间、地点文字、作者粉丝数,以及视频字幕文本。它回答「这个账号在做什么样的短视频、表现如何」,适合达人营销评估合作账号,社媒团队对标竞品的视频产出,以及研究短视频形式。

username 填账号的 handle,例如 nasa,不带 @。比较表现时,用 play_count 对照 author_follower_count,能看出哪些视频传到了粉丝之外;transcript 让你不看视频也能分析内容。计数为 null 表示没有公开,不等于 0;duration_sec 单位是秒。

单价 $0.56 / 千次(每次 $0.000556),失败与空结果不扣费。 同步返回;慢任务可在请求体加 "mode": "async",先拿 job_id 再轮询。

AI 提示词

复制下面这段给你常用的 AI 助手:里面写好了这个接口的参数、返回字段和示例请求,它会先问清你的需求,再帮你写采集脚本。

请帮我用 EveryInfra 的「InstagramReels 短视频」接口(instagram/reels)写一个数据采集脚本。

接口约定:
- 请求:POST https://api.everyinfra.com/api/v1/social,请求头 Authorization: Bearer <API Key>;Key 从环境变量 EVERYINFRA_API_KEY 读取,不要写进代码。
- 请求体里 platform 填 instagram,action 填 reels,参数放在 params 里。
- 必填参数:
  - username:Instagram 账号 handle,建议不带 @ 或完整主页 URL。profile/persona/user_posts/reels 查询账号数据。
- 可选参数:
  - limit:这次调用最多返回的条数,整数,1–100;不传按默认值,实际返回可能少于这个数。超过上限会在扣费前返回 422。(默认 30)
- 返回一组记录,每条记录的主要字段:post_id(帖子 ID)、url、text、media_type(媒体类型(图/视频/轮播))、like_count、comment_count、view_count、author_username、author_name、posted_at、location、author_follower_count;一共 19 个字段,完整列表见 https://api.everyinfra.com/api/v1/social/catalog?platform=instagram。
- 示例请求体:
{
  "platform": "instagram",
  "action": "reels",
  "params": {
    "username": "nasa"
  }
}
- 计费:$0.56 / 千次;失败和空结果不扣费。
- 一次要采几十上百个时,在请求体加 "mode": "async":先拿到 job_id,再轮询 GET https://api.everyinfra.com/api/v1/jobs/{job_id} 取结果。
- 返回 422 时,按错误信息里的候选参数和允许值修正;返回 429 或 503 时,按 Retry-After 等待后重试。

写代码前,先问清楚我要采哪些对象、一共多少个、需要哪些字段、结果存成什么格式,再把方案和大概花费讲给我确认。

请求参数

参数名位置类型必填默认值说明
Authorizationheaderstring是-Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。
platformbodystring是instagram平台标识,固定值。
actionbodystring是reels能力标识,固定值。
usernamebody.params未声明是-Instagram 账号 handle,建议不带 @ 或完整主页 URL。profile/persona/user_posts/reels 查询账号数据;followers 只查粉丝数量,followers_list/following_list 才查粉丝/关注账号列表。
limitbody.paramsinteger (1–100)否30这次调用最多返回的条数,整数,1–100;不传按默认值,实际返回可能少于这个数。超过上限会在扣费前返回 422。

代码示例

bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "instagram",
  "action": "reels",
  "params": {
    "username": "nasa"
  }
}'

[OpenAPI 定义 (JSON)]示例从环境变量 EVERYINFRA_API_KEY 读取 Key,复制出去的代码不含你的 Key。

响应示例

真实返回样例

2026年9月26日 16:56(北京时间)用上方代码示例的参数真实调用所得。results 与 count 是那次的真实返回,已隐去名字、账号、头像、主页链接、联系方式等个人信息,列表只保留前 2 条;id、billing、quota 每次调用都不同,只给结构。

json
{
  "id": "req_…",
  "platform": "instagram",
  "action": "reels",
  "results": [
    {
      "post_id": "DdhFkS7KGkZ",
      "url": "https://www.instagram.com/p/DdhFkS7KGkZ/",
      "text": "Our first Leader of the Uprising 🔥\n\nTune in on @(已隐去) / @(已隐去)",
      "media_type": "video",
      "like_count": 44461,
      "comment_count": 591,
      "author_username": "(已隐去)",
      "author_name": "(已隐去)",
      "posted_at": "2026-09-20T17:20:00+00:00",
      "location": "M&T Bank Stadium",
      "top_comments": [
        {
          "text": "😊",
          "author_username": "(已隐去)"
        },
        {
          "text": "😍👏🔥",
          "author_username": "(已隐去)"
        },
        {
          "text": "❤️🫶 What an honor!",
          "author_username": "(已隐去)"
        }
      ],
      "play_count": 6843490,
      "duration_sec": 23.381042,
      "transcript": "الفصل الرابع",
      "music": {
        "artist": "ravens",
        "title": "Original audio"
      },
      "platform": "instagram"
    },
    {
      "post_id": "DdPsDCWRT-u",
      "url": "https://www.instagram.com/p/DdPsDCWRT-u/",
      "text": "Today’s @(已隐去) flyover in Pittsburgh is just the beginning.\n\nThis is how @nasa does game day. 🇺🇸",
      "media_type": "video",
      "like_count": 59514,
      "comment_count": 258,
      "author_username": "(已隐去)",
      "author_name": "(已隐去)",
      "posted_at": "2026-09-13T23:01:52+00:00",
      "top_comments": [
        {
          "text": "😊✈️⭐",
          "author_username": "(已隐去)"
        },
        {
          "text": "YASSS!!!! Made my day to know my bro Chris Condon was flying one of those!!!!! 🫡❤️🚀",
          "author_username": "(已隐去)"
        },
        {
          "text": "❤️",
          "author_username": "(已隐去)"
        }
      ],
      "play_count": 5573146,
      "duration_sec": 45.416779,
      "transcript": "NASA's inbound to the NFL. This season, we're bringing the excitement of American exploration to stadiums across the country. We have NASA flyovers, tailgates, astronaut meet and greets, and immersive experience zones that put the future of spaceflight right in front of the next …",
      "music": {
        "artist": "nasaadmin",
        "title": "Original audio"
      },
      "platform": "instagram"
    }
  ],
  "count": 21,
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}

返回字段

业务数据在 results 里;下表是每条记录可能包含的字段,平台没有提供的值不会被补造。

字段含义
post_id帖子 ID。
url该记录在原平台上的可访问链接。
text正文内容,已去除 HTML 标签,全文返回、不截断(个别平台的列表结果本身只有摘要,以该平台的字段说明为准)。
media_type媒体类型(图/视频/轮播)。
like_count点赞数。null 表示该平台或该接口不公开此数据,不等于 0。
comment_count评论数。null 表示不公开,不等于 0。
view_count浏览/播放数。null 表示不公开,不等于 0。
author_username作者用户名(@handle),通常可用于拼 URL。
author_name作者昵称(显示名)。
posted_at发布时间,ISO 8601 格式、UTC 时区(如 2026-08-07T12:34:56+00:00)。平台只给非标准字符串时原样透传,解析前建议做容错。null 表示平台未公开。
location地理位置描述,原文透传,格式随平台而异。
author_follower_count作者粉丝数。null 表示不公开。
hashtags正文里的话题标签数组,按出现顺序;没有时不出现这个字段。
top_comments帖子下展示的几条评论,每项含正文(text)和评论人(author_username);没有时不出现这个字段。
play_count播放量。
duration_sec时长,秒。
duration_seconds时长,单位秒。非视频/音频内容为 null。
transcript视频字幕文本。
musicReels 使用的音乐,含歌手(artist)和曲名(title);没有时不出现这个字段。
platform数据来源平台标识,与请求里的 platform 一致(如 xiaohongshu、tiktok)。

常见问题

transcript 里是什么?

transcript 是这条 Reel 的字幕文本,可以直接检索、统计或分类视频里说的内容,不用播放视频;作者写的文案在 text,是另一个字段。存数时把 transcript 和 post_id、duration_sec 放在一起,便于比较每条视频说了多少内容。

播放量看哪个字段?

play_count 是这条 Reel 的播放量,view_count 是平台给出的浏览或播放数。比较时选定其中一个并一直用它;所选字段为 null 的行先排除,null 表示没有公开,不代表没人看。

怎么读某条 Reel 下面的评论?

把这一行的 url 传给 Instagram 评论,它接受单个帖子或 Reel 链接,返回这条内容下的评论。账号本身的资料,用同一个 handle 调 Instagram 主页或对象详情。

错误与计费

401
缺少 Key 或 Key 无效。先鉴权再校验参数,未鉴权的请求拿不到参数结构。
422
参数名或取值不对。错误信息会列出这项能力支持的参数、允许值和最接近的候选,按它改即可;发生在扣费之前。
402
余额不足,请先充值。
429
超过账户的每分钟请求上限(名下所有 Key 合计;Key 自设了更低上限时先按它算),按 Retry-After 等待后再试。需要更高上限可在控制台买提速包。
503
暂时无法完成。已预扣的费用按原账本退回;响应里的 billing 与 refund 写明实际结果,结果未知时会明确标出,不要直接重发。
200 空结果
请求完成但没有数据,不扣费(billing.reason = empty_result_refunded)。