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请求
POST /api/v1/social { "platform": "instagram", "action": "discover", "params": { "keyword": "coffee" } }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表格行
text post_id media_type like_count Some days I wake up a baddie, and some days I wake up a saddie. . . . . . . #fyp #instamood #burberry #coffee #cafe @••• @••• @••• @••• @••• De4za3DANzi image -1 ♥️🌎🌎👌🏻👌🏻. . . . . . . . . . . . #لايك #الكحلي #coffee #flowers #venezuela De4zXldkb3j image 1 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_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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| De4za3DANzi | https://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 | -1 | 0 | null | 2026-10-24T18:43:18+00:00 | null | 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… | null | 2479 | 3305 | null | null | ["fyp","instamood","burberry"] | null | ||||
| De4zXldkb3j | https://www.instagram.com/p/De4zXldkb3j/ | ♥️🌎🌎👌🏻👌🏻. . . . . . . . . . . . #لايك #الكحلي #coffee #flowers #venezuela | image | 1 | 0 | null | 2026-10-24T18:42:51+00:00 | null | 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… | null | 1440 | 1920 | null | null | ["لايك","الكحلي","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 Search | EveryInfra |
|---|---|---|
| 数据范围 | "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 |
合计按每次调用的标价算。
代码示例
#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 助手。
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 等待后重试。
写代码前,先问清楚我要采哪些对象、一共多少个、需要哪些字段、结果存成什么格式,再把方案和大概花费讲给我确认。请求参数
#| 参数名 | 位置 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
Authorization | header | string | 是 | - | Bearer 加你的 API Key。在控制台创建;不要放进网址或代码仓库。 |
platform | body | string | 是 | instagram | 平台标识,固定值。 |
action | body | string | 是 | discover | 能力标识,固定值。 |
keyword | body.params | string | 是 | - | discover 的话题标签词,会去掉开头 # 后查询 hashtag;不是任意全文关键词搜索。与 hashtag action 的输入名不同。 |
results_type | body.params | string (enum) | 否 | - | discover/hashtag 省略此参数时返回 posts(普通帖子);显式传参只接受 reel 或 reels,均切换到短视频结果。posts 不是可显式提交的枚举值,其他显式值也会在公开 API 参数校验阶段返回 422;该参数不是 JSON/CSV 输出格式选择。允许值reelreels |
limit | body.params | integer (1–200) | 否 | 30 | 这次调用最多返回的条数,整数,1–200;不传按默认值,实际返回可能少于这个数。超过上限会在扣费前返回 422。 |
响应示例
#{ "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 条。
相关的 Instagram 能力
同一把 Key 还能调 Instagram 的其他能力,比如同步读话题内容,或按链接读帖子。
- 单条内容
post每千次 $0.56单条内容:返回列表,默认 11 条、单次最多 11 条;主要字段 post_id、url、text、media_type、like_count、comment_count。 - 主页或对象详情
profile每千次 $0.56主页或对象详情:返回单个对象;主要字段 username、display_name、bio、follower_count、following_count、post_count。 - 账号画像
persona每千次 $0.56账号画像:返回单个对象;主要字段 username、display_name、bio、follower_count、following_count、post_count。 - 用户内容
user_posts每千次 $0.56用户内容:返回列表,默认 30 条、单次最多 200 条;主要字段 post_id、url、text、media_type、like_count、comment_count。 - 评论
comments每千次 $0.79评论:返回列表,默认 50 条、单次最多 100 条;主要字段 id、text、url、like_count、reply_count、author_username。 - Reels 短视频
reels每千次 $1.19Reels 短视频:返回列表,默认 30 条、单次最多 100 条;主要字段 post_id、url、text、media_type、like_count、comment_count。 - 话题内容
hashtag每千次 $0.56话题内容:返回列表,默认 30 条、单次最多 100 条;主要字段 post_id、url、text、media_type、like_count、comment_count。 - 粉丝数量
followers每千次 $0.56粉丝数量:返回单个对象;主要字段 id、username、url、name、avatar_url、follower_count。 - 粉丝列表
followers_list每千次 $0.56粉丝列表:返回列表,默认 50 条、单次最多 500 条;主要字段 id、username、url、name、avatar_url、is_private。 - 关注列表
following_list每千次 $0.56关注列表:返回列表,默认 50 条、单次最多 500 条;主要字段 id、username、url、name、avatar_url、is_private。 - 账号搜索
user_search每千次 $4.81账号搜索:返回列表,默认 20 条、单次最多 30 条;主要字段 rank、username、user_id、display_name、is_verified、is_private。 - Reels 关键词搜索
reels_search每千次 $7.19Reels 关键词搜索:返回列表,默认 20 条、单次最多 200 条;主要字段 post_id、id、url、text、play_count、like_count。 - 相似账号
similar_profiles每千次 $8.81相似账号:返回列表,默认 20 条、单次最多 30 条;主要字段 rank、username、user_id、display_name、is_verified、is_private。 - 被标记的帖子
tagged_posts每千次 $7.44被标记的帖子:返回列表,默认 20 条、单次最多 200 条;主要字段 post_id、url、tagged_username、author_username、author_id、text。 - Stories 内容
stories每千次 $1.5Stories 内容:返回列表,默认 100 条、单次最多 100 条(传更大的数按 100 条返回);主要字段 id、url、media_url、media_type、duration_seconds、duration_sec。 - 精选合集
highlights每千次 $1.6精选合集:返回列表,默认 100 条、单次最多 100 条(传更大的数按 100 条返回);主要字段 id、url、title、media_count、cover_url、created_at。 - 评论回复
comment_replies每千次 $0.88评论回复:返回列表,每次一页、每页最多 10 条,条数不固定(短页不代表到底),要更多就把响应顶层的 next_page_token 作为 page_token 再调,没有 next_page_token 才是到底;limit 照收但不起作用;主要字段 id、text、like_count、posted_at、author_username、author_id。支持翻页:把响应里的 next_page_token 作为 page_token 传回拿下一页,其他参数不变,每页算一次调用。