Instagram 内容发现 API

用 keyword 传话题标签,异步取回最多 200 条帖子,带 media_type、like_count、view_count 和作者粉丝数,每千次 $0.56。

Instagram 内容发现按 keyword 取一个话题标签下的内容,每条有帖子链接和正文,带媒体类型,点赞、评论、浏览三个数,以及作者用户名和 ID、发布时间、地点。它和话题内容查的是同一类东西,差别在条数和运行方式:这里默认 30 条、单次最多 200 条,调用是异步的,先返回 job_id,任务完成后才能取到列表。

虽然参数叫 keyword,它填的是话题标签词:开头的 # 会被去掉,再去查这个标签,并不是任意文本的全文搜索。话题内容那一页用的参数名不同,换页时别把请求原样照搬。results_type 省略时给普通帖子,传 reel 或 reels 改成短视频。

  • 先返回 job_id
  • 轮询任务取结果
  • 失败和空结果不收费
免费开始

接口健康状态

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

24 小时趋势

30 天趋势

  1. 1请求

    POST /api/v1/social
    {
      "platform": "instagram",
      "action": "discover",
      "params": {
        "keyword": "coffee"
      }
    }
  2. 2JSON 响应

    {
      "results": [
        {
          "text": "Some days I wake up a baddie, and some days I wake up a saddie.
    .
    .
    .
    .
    .
    .
    #fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••",
          "post_id": "De4za3DANzi",
          "media_type": "image",
          "like_count": -1
        },
        …
      ],
      "count": 18
    }
  3. 3表格行

    textpost_idmedia_typelike_count
    Some days I wake up a baddie, and some days I wake up a saddie. . . . . . . #fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••De4za3DANziimage-1
    ♥️🌎🌎👌🏻👌🏻. . . . . . . . . . . . #لايك #الكحلي #coffee #flowers #venezuelaDe4zXldkb3jimage1
  4. 4CSV

    instagram-discover-sample.csv post_id,url,text,media_type,like_count,comment_count,view_count,author_username,author_name,posted_at,location,id,image_url,video_url,author_id,width,height,is_comments_disabled,author_follower_count,hashtags,top_comments

请求带 keyword(话题标签词)和可选的 results_type、limit,先回 202 和 job_id;轮询 jobs 接口取回帖子行,再变成表格行和 CSV。

能拿到什么数据

表里是一次真实调用的结果:话题词 coffee,2026年10月25日 02:28(UTC)采集,返回 18 条;灰条是隐去的个人信息(CSV 里是 •••)。你自己调用时,先拿到 job_id,任务完成后按字段表取回这些字段。

post_idurltextmedia_typelike_countcomment_countview_countauthor_usernameauthor_nameposted_atlocationidimage_urlvideo_urlauthor_idwidthheightis_comments_disabledauthor_follower_counthashtagstop_comments
De4za3DANzihttps://www.instagram.com/p/De4za3DANzi/Some days I wake up a baddie, and some days I wake up a saddie. . . . . . . #fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••image-10null2026-10-24T18:43:18+00:00nullhttps://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/865668555_18501136627099477_1202278696858241993_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_cat=102&ig_cache_key=NDAxNTE4NDU5MzExMTA0MDM5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU…null24793305nullnull["fyp","instamood","burberry"]null
De4zXldkb3jhttps://www.instagram.com/p/De4zXldkb3j/♥️🌎🌎👌🏻👌🏻. . . . . . . . . . . . #لايك #الكحلي #coffee #flowers #venezuelaimage10null2026-10-24T18:42:51+00:00nullhttps://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/863292678_17970790107172812_3863795868010461481_n.webp?stp=dst-webp_p1080x1080_sh2.08&_nc_cat=102&ig_cache_key=NDAxNTE4NDUzNjc5NDMwNjU5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBp…null14401920nullnull["لايك","الكحلي","coffee"]null

用途

  • 批量取标签帖子

    一次任务最多取 200 条标签下的帖子,完成后按 posted_at 和 like_count 批量分析。

  • 比较内容形式

    按 media_type 分组,比较图片、视频、轮播的 like_count 和 comment_count。

  • 看谁在发帖

    读 author_username 和 author_follower_count,看谁在这个标签下发帖、体量多大。

  • Reels 和帖子对比

    同一个 keyword 先不传 results_type、再传 reels 各跑一次,比较两批的 view_count。

Hashtag Search 与 EveryInfra 对比

下面从数据范围、时效和访问条件三方面比 Instagram 官方 Hashtag Search 和 EveryInfra discover。

对比项Hashtag SearchEveryInfra
数据范围"Find public IG Media that has been tagged with specific hashtags."keyword 填话题标签词,开头的 # 会被去掉,不是任意文本的全文搜索。
时效端点 recent_media:"Only returns media objects published within 24 hours of query execution."每行带发布时间 posted_at,一次最多 200 条,默认 30 条。
访问条件审核:"In order to use this API, you must undergo App Review and request approval for:" "the Instagram Public Content Access feature"一把 EveryInfra API Key 放在 Authorization: Bearer 请求头里,不用登录 Instagram,也不用 Instagram 访问令牌。

引文出自 Meta 开发者文档,2026-11-09 核对。 官方出处: Hashtag Search (更新于 2026-08-17) · IG Hashtag Recent Media (更新于 2026-08-17)

限制和注意事项

  • 调用默认异步:返回 202 和 job_id,再用 GET https://api.everyinfra.com/api/v1/jobs/<job_id> 轮询,任务完成后取到帖子行。
  • keyword 必填,是话题标签词,开头的 # 会被去掉;它查的是这个标签,不是全文搜索。
  • limit 是 1 到 200 的整数,默认 30;超出范围返回 422,不扣费。
  • 没有翻页参数,一次调用最多 200 条,可能少于 limit。
  • results_type 省略时取普通帖子,传 reel 或 reels 取短视频;其他值返回 422。
  • 结果不解释 Explore 的排序,也不证明某个趋势。

价格

每次调用 $0.000556,按次不按条,一次最多读 200 条;异步任务也一样,失败和空结果不收费。

调用次数费用
10,000$5.56
100,000$55.56
1,000,000$555.56

合计按每次调用的标价算。

代码示例

#
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": "discover",
  "params": {
    "keyword": "coffee"
  }
}'

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

API 参考

下面是 discover 的参数、响应字段、错误和计费,可以复制整页,或用 Markdown 打开给 AI 助手。

POST

AI 提示词

#
请帮我用 EveryInfra 的「Instagram 内容发现」接口(instagram/discover)写一个数据采集脚本。

接口约定:
- 请求:POST https://api.everyinfra.com/api/v1/social,请求头 Authorization: Bearer <API Key>;Key 从环境变量 EVERYINFRA_API_KEY 读取,不要写进代码。
- 请求体里 platform 填 instagram,action 填 discover,参数放在 params 里。
- 必填参数:
  - keyword:discover 的话题标签词,会去掉开头 # 后查询 hashtag;不是任意全文关键词搜索。与 hashtag action 的输入名不同。
- 可选参数:
  - results_type:discover/hashtag 省略此参数时返回 posts(普通帖子);显式传参只接受 reel 或 reels,均切换到短视频结果。(可选值:reel / reels)
  - limit:这次调用最多返回的条数,整数,1–200;不传按默认值,实际返回可能少于这个数。超过上限会在扣费前返回 422。(默认 30)
- 返回一组记录,每条记录的主要字段:post_id(帖子 ID)、url、text、media_type(媒体类型(图/视频/轮播))、like_count、comment_count、view_count、author_username、author_name、posted_at、location、id;一共 21 个字段,完整列表见 https://api.everyinfra.com/api/v1/social/catalog?platform=instagram。
- 示例请求体:
{
  "platform": "instagram",
  "action": "discover",
  "params": {
    "keyword": "coffee"
  }
}
- 计费:$0.56 / 千次;失败和空结果不扣费。
- 这个接口默认异步:先返回 202 和 job_id,再轮询 GET https://api.everyinfra.com/api/v1/jobs/{job_id},直到 status 为 succeeded 或 failed。
- 返回 422 时,按错误信息里的候选参数和允许值修正;返回 429 或 503 时,按 Retry-After 等待后重试。

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

请求参数

#
参数名位置类型必填默认值说明
Authorizationheaderstring是-Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。
platformbodystring是instagram平台标识,固定值。
actionbodystring是discover能力标识,固定值。
keywordbody.paramsstring是-discover 的话题标签词,会去掉开头 # 后查询 hashtag;不是任意全文关键词搜索。与 hashtag action 的输入名不同。
results_typebody.paramsstring (enum)否-discover/hashtag 省略此参数时返回 posts(普通帖子);显式传参只接受 reel 或 reels,均切换到短视频结果。posts 不是可显式提交的枚举值,其他显式值也会在公开 API 参数校验阶段返回 422;该参数不是 JSON/CSV 输出格式选择。允许值reelreels
limitbody.paramsinteger (1–200)否30这次调用最多返回的条数,整数,1–200;不传按默认值,实际返回可能少于这个数。超过上限会在扣费前返回 422。

响应示例

#
2026年10月25日 02:28(北京时间)用上方代码示例的参数真实调用所得。results 与 count 是那次的真实返回,已隐去名字、账号、头像、主页链接、联系方式等个人信息,列表只保留前 2 条;id、billing、quota 每次调用都不同,只给结构。
json
{  "id": "req_…",  "platform": "instagram",  "action": "discover",  "results": [    {      "post_id": "De4za3DANzi",      "url": "https://www.instagram.com/p/De4za3DANzi/",      "text": "Some days I wake up a baddie, and some days I wake up a saddie.\n.\n.\n.\n.\n.\n.\n#fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @•••",      "media_type": "image",      "like_count": -1,      "comment_count": 0,      "author_username": "•••",      "author_name": "•••",      "posted_at": "2026-10-24T18:43:18+00:00",      "id": "•••",      "image_url": "https://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/865668555_18501136627099477_1202278696858241993_n.jpg?stp=dst-jpg_e35_p1080x1080_sh2.08_tt6&_nc_cat=102&ig_cache_key=NDAxNTE4NDU5MzExMTA0MDM5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU…",      "author_id": "•••",      "width": 2479,      "height": 3305,      "hashtags": [        "fyp",        "instamood",        "burberry"      ]    },    {      "post_id": "De4zXldkb3j",      "url": "https://www.instagram.com/p/De4zXldkb3j/",      "text": "♥️🌎🌎👌🏻👌🏻.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n.\n#لايك #الكحلي #coffee #flowers #venezuela",      "media_type": "image",      "like_count": 1,      "comment_count": 0,      "author_username": "•••",      "author_name": "•••",      "posted_at": "2026-10-24T18:42:51+00:00",      "id": "•••",      "image_url": "https://scontent-cph2-1.cdninstagram.com/v/t51.82787-15/863292678_17970790107172812_3863795868010461481_n.webp?stp=dst-webp_p1080x1080_sh2.08&_nc_cat=102&ig_cache_key=NDAxNTE4NDUzNjc5NDMwNjU5MQ%3D%3D.3-ccb7-5&ccb=7-5&_nc_sid=58cdad&efg=eyJ2ZW5jb2RlX3RhZyI6IkNBUk9VU0VMX0lURU0ueHBp…",      "author_id": "•••",      "width": 1440,      "height": 1920,      "hashtags": [        "لايك",        "الكحلي",        "coffee"      ]    }  ],  "count": 18,  "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地理位置描述,原文透传,格式随平台而异。
id该记录在原平台上的唯一标识。仅在同一平台内唯一,跨平台可能重复。
image_url图片链接。多图能力可能返回 image_urls 数组。
video_url保留平台原语义
author_id作者在原平台的唯一 ID。
width保留平台原语义
height保留平台原语义
is_comments_disabled帖子是否关闭评论。
author_follower_count作者粉丝数。null 表示不公开。
hashtags正文里的话题标签数组,按出现顺序;没有时不出现这个字段。
top_comments帖子下展示的几条评论,每项含正文(text)和评论人(author_username);没有时不出现这个字段。

错误与计费

#
401
缺少 Key 或 Key 无效。
402
余额不足,先充值。
422
参数名或取值不对,按错误信息给的候选改;不扣费。
429
超过每分钟请求上限,按 Retry-After 等待后再试。
503
暂时无法完成,预扣的费用退回;结果未知时先核对,不要直接重发。
200 空结果
没有数据,不扣费。

错误码

常见问题

keyword 可以搜任意词吗?

不能。它必须是话题标签词,系统去掉开头的 # 之后,去查这个标签下的内容。填 coffee 就是查 #coffee,而不是在全站帖子正文里找 coffee。要找某个账号,请用账号搜索。

内容发现和话题内容怎么选?

要一次拿得多、又能等任务完成,用内容发现,单次最多 200 条;要马上拿到结果,用话题内容,它是同步返回,单次最多 100 条。两页默认都是 30 条,results_type 的取值也相同,要的标签相同时,字段基本一样。

author_follower_count 和 location 读的时候要注意什么?

author_follower_count 为 null 表示作者没有公开粉丝数,不等于 0,按作者体量排序时要单独放。location 是平台原文透传,格式随平台而异,入库前别按固定格式解析,先当一段文本存下。

Instagram 内容发现 API 返回什么?

返回标签下的帖子:text、media_type、like_count、view_count、author_follower_count、posted_at。调用先回 202 和 job_id。

一次最多取多少条,结果怎么取?

limit 取 1 到 200,默认 30,没有翻页参数,一次最多 200 条,可能更少。结果用 job_id 轮询 jobs 接口取。

内容发现要花多少钱?

每千次调用 $0.56,每次 $0.000556,按次不按条,异步任务也一样。失败和空结果不收费。

内容发现要登录 Instagram 吗?

不用。请求头里放一把 EveryInfra API Key(Authorization: Bearer),不需要 Instagram 登录,也不需要 Instagram 访问令牌。

discover 和 hashtag 有什么区别?

标签相同时字段基本一样。内容发现(discover)用 keyword,异步,一次最多 200 条;话题内容(hashtag)用 hashtag,同步返回,一次最多 100 条。

同一把 Key 还能调 Instagram 的其他能力,比如同步读话题内容,或按链接读帖子。

自有访问统计常开;Google Analytics 仅在你点「同意分析」后启用。 隐私政策