Instagram API
Instagram API 允许您查找用户资料、列出帖子、Reels 和标记的媒体、阅读故事、获取帖子详情、阅读评论和回复、搜索用户和话题标签,以及遍历社交图谱(关注者/关注)。共 12 个接口,每个请求消耗 2 个积分。
接口列表
| 接口 | 描述 |
|---|---|
POST /api/v1/instagram/profile | 通过用户名或用户 ID 获取用户资料 |
POST /api/v1/instagram/user/posts | 列出用户的帖子(分页) |
POST /api/v1/instagram/user/reels | 列出用户的 Reels(分页) |
POST /api/v1/instagram/user/tagged | 列出用户被标记的帖子(分页) |
POST /api/v1/instagram/user/stories | 获取用户当前活跃的故事 |
POST /api/v1/instagram/post | 获取单个帖子的完整详情 |
POST /api/v1/instagram/post/comments | 列出帖子下的评论 |
POST /api/v1/instagram/post/comments/replies | 列出特定评论的回复 |
POST /api/v1/instagram/search/users | 通过关键词搜索 Instagram 用户 |
POST /api/v1/instagram/search/hashtags | 通过关键词搜索 Instagram 话题标签 |
POST /api/v1/instagram/user/followers | 列出用户的关注者 |
POST /api/v1/instagram/user/followings | 列出用户关注的账户 |
身份验证
| 请求头 | 值 | 是否必需 |
|---|---|---|
Authorization | Bearer YOUR_API_KEY | 是 |
Content-Type | application/json | 是 |
每个成功响应都包含积分跟踪字段: credits_used、credits_remaining 和 response_time(毫秒)。
标识用户
用户接口接受 任一 username 或数字型 user_id。传递 username 是最简单的选项;它会自动解析为 user_id。 对于重复调用,从个人资料响应中读取 data.user.id 并将其作为 user_id 传递,以跳过查找。
用户资料
POST https://api.scavio.dev/api/v1/instagram/profile获取 Instagram 用户个人资料。传递 任一 username 或 user_id。
请求体
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
username | string | -- | Instagram 用户名(不含 @)。username 或 user_id 中必需一个。 |
user_id | string | -- | 数字型用户 ID。username 或 user_id 中必需一个。 |
示例
curl -X POST 'https://api.scavio.dev/api/v1/instagram/profile' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"username": "instagram"}'响应字段(data.user)
| 字段 | 类型 | 描述 |
|---|---|---|
id | string | 数字型用户 ID(用作 user_id) |
username | string | 用户名(句柄) |
full_name | string | 显示名称 |
biography | string | 个人简介文本 |
external_url | string | 个人简介中的链接 |
profile_pic_url_hd | string | 高清头像 URL |
is_verified | boolean | 验证徽章 |
is_private | boolean | 私密账户 |
edge_followed_by.count | number | 关注者 |
edge_follow.count | number | 正在关注 |
edge_owner_to_timeline_media.count | number | 帖子总数 |
示例响应
{
"data": {
"user": {
"id": "25025320",
"username": "instagram",
"full_name": "Instagram",
"biography": "Discover what's next on Instagram",
"is_verified": true,
"is_private": false,
"edge_followed_by": { "count": 672000000 },
"edge_follow": { "count": 250 },
"edge_owner_to_timeline_media": { "count": 7600 }
}
},
"response_time": 845,
"credits_used": 2,
"credits_remaining": 11750
}用户帖子
POST https://api.scavio.dev/api/v1/instagram/user/posts列出用户的帖子(时间线媒体)。传递 username 或 user_id。
请求体
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
username | string | -- | 用户名(不含 @)。username 或 user_id 中必需一个。 |
user_id | string | -- | 数字型用户 ID。username 或 user_id 中必需一个。 |
count | number | 12 | 每页结果数(1-50)。 |
cursor | string | -- | 分页游标。使用上一次响应中的 data.page_info.end_cursor。 |
分页
使用 data.page_info.end_cursor 作为下一个请求的 cursor。当 data.page_info.has_next_page 为 false 时停止。
用户 Reels(/api/v1/instagram/user/reels) 和 标记的帖子(/api/v1/instagram/user/tagged)使用与用户帖子相同的参数和分页方式,分别返回 Reels 和标记的媒体。
用户故事
POST https://api.scavio.dev/api/v1/instagram/user/stories获取用户当前活跃的故事。传递 username 或 user_id。返回每个故事的媒体 URL、类型(图片/视频)和时间戳。
帖子详情
POST https://api.scavio.dev/api/v1/instagram/post获取单个帖子或 Reel 的完整详情。传递 其中一个 url、media_id 或 shortcode。
请求体
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
url | string | -- | 帖子 URL。支持 /p/、/reel/、/reels/、/tv/ 路径。 |
media_id | string | -- | 数字型媒体 ID。 |
shortcode | string | -- | 帖子短代码,例如 DUajw4YkorV。 |
示例
curl -X POST 'https://api.scavio.dev/api/v1/instagram/post' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-d '{"shortcode": "DUajw4YkorV"}'帖子评论
POST https://api.scavio.dev/api/v1/instagram/post/comments获取帖子评论。传递 任一 shortcode 或帖子 url。
请求体
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
shortcode | string | -- | 帖子短代码。shortcode 或 url 中必需一个。 |
url | string | -- | 帖子 URL;短代码会从中提取。 |
cursor | string | -- | 分页游标。使用上一次响应中的 data.next_min_id。 |
sort_order | string | "popular" | "popular" 或 "newest"。 |
分页
使用 data.next_min_id 作为下一个 cursor。当它不存在时停止。每条评论都会暴露一个 pk 字段;将其用作回复接口的 comment_id。
评论回复
POST https://api.scavio.dev/api/v1/instagram/post/comments/replies获取特定评论的回复。
请求体
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
media_id | string | -- | 必需。帖子的数字型媒体 ID。 |
comment_id | string | -- | 必需。父评论 ID(来自评论接口的 pk)。 |
cursor | string | -- | 分页游标。使用上一次响应中的 data.next_min_child_cursor。 |
搜索用户
POST https://api.scavio.dev/api/v1/instagram/search/users通过关键词搜索 Instagram 用户。
请求体
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
keyword | string | -- | 必需。搜索查询(1-500 个字符)。 |
cursor | string | -- | 上一次响应中的排名令牌,用于分页。 |
搜索话题标签(/api/v1/instagram/search/hashtags)接受相同的参数,并返回匹配的话题标签及其媒体计数。
用户关注者
POST https://api.scavio.dev/api/v1/instagram/user/followers获取用户的关注者列表。传递 username 或 user_id。
请求体
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
username | string | -- | 用户名(不含 @)。username 或 user_id 中必需一个。 |
user_id | string | -- | 数字型用户 ID。username 或 user_id 中必需一个。 |
count | number | 12 | 每页结果数(1-100)。 |
cursor | string | -- | 分页游标。使用上一次响应中的 data.next_max_id。 |
用户关注
POST https://api.scavio.dev/api/v1/instagram/user/followings获取用户关注的账户。请求格式和参数与关注者相同。
分页参考
| 游标字段 | 接口 | 停止条件 |
|---|---|---|
data.page_info.end_cursor | user/posts, user/reels, user/tagged | has_next_page === false |
data.next_min_id | post/comments | 游标不存在 |
data.next_min_child_cursor | post/comments/replies | 游标不存在 |
data.next_max_id | user/followers, user/followings | 游标不存在 |
| 排名令牌 | search/users, search/hashtags | 没有更多结果 |
注意事项
- 每个接口每次请求消耗 2 个积分。
- 用户接口接受
username或数字型user_id;帖子接口接受url、media_id或shortcode。 - 关注者和关注列表仅对 Instagram 允许的账户进行分页。大型或经过验证的账户返回
should_limit_list_of_followers: true、has_more: false且没有next_max_id—— 这是 Instagram 的限制,而非错误。请使用较小的、未验证的账户测试分页。 - 有关
401、429和502的处理,请参阅 错误处理。