Instagram API 入门:9 个接口能拿到哪些公开数据
想抓取 Instagram 的公开数据——用户资料、帖子、Reels、评论——但又不想自己维护一堆无头浏览器和代理 IP?最省事的办法是直接调用一个托管好的数据接口。本文带你快速搞懂 Instagram Cheapest API(部署在 RapidAPI 上)的 9 个接口分别能拿到什么数据,以及如何用 Python 发出第一个请求。
它返回的是实时、未缓存的原始 JSON(Instagram 怎么返回就给你什么),每千次请求低至 $0.10,并且有免费档(每月 30 次)可以先试。
基础约定:所有请求长什么样
- Base URL:
https://instagram-cheapest.p.rapidapi.com/api/v1/instagram - 请求方式:全部是
GET - 认证:每个请求都带两个请求头——
x-rapidapi-key(你的密钥)和x-rapidapi-host: instagram-cheapest.p.rapidapi.com - 可选
fields参数:任意接口都能加,用来裁剪返回的 JSON 字段,省带宽、省钱
9 个接口分别能拿什么
整个 API 只有这 9 个接口(注意:不支持话题标签搜索 hashtag),把它们组合起来就能搭出各种产品:
user/{username}—— 按用户名拿资料(唯一一个路径参数接口)。返回粉丝数、简介、帖子数等,也给你后续要用的数字user_iduser_by_user_id?user_id=—— 按数字 ID 拿用户资料username_by_uid?uid=—— 把数字 ID 反查成用户名user_media?user_id=—— 某用户的帖子列表user_reels?user_id=—— 某用户的 Reels 列表user_tag_media?user_id=—— 该用户被别人标记的帖子(UGC、合作内容)media_by_code2?code=—— 按帖子短码取单条帖子/Reelmedia_comments?code=—— 某条帖子/Reel 的评论reels_audio?audio_id=—— 使用了某段音频的 Reels(做趋势追踪用)
第一个请求:用 Python 拿用户资料
大多数接口都需要数字 user_id,而 user/{username} 能从用户名拿到它,所以从这里开始最自然:
import requests
API_HOST = "instagram-cheapest.p.rapidapi.com"
BASE = f"https://{API_HOST}/api/v1/instagram"
API_KEY = "你的_RAPIDAPI_KEY"
HEADERS = {"x-rapidapi-host": API_HOST, "x-rapidapi-key": API_KEY}
def get_profile(username):
r = requests.get(f"{BASE}/user/{username}", headers=HEADERS)
r.raise_for_status()
return r.json()
profile = get_profile("nasa")
print(profile)
返回的是 Instagram 的原始 JSON,字段名不是这个 API 固定的,所以先打印出来看一眼结构,再去取你需要的字段(比如 user_id、粉丝数)。
用 curl 快速验证
不想写代码、只想确认密钥能用,直接在命令行跑:
curl -X GET \
'https://instagram-cheapest.p.rapidapi.com/api/v1/instagram/user/nasa' \
-H 'x-rapidapi-host: instagram-cheapest.p.rapidapi.com' \
-H 'x-rapidapi-key: 你的_RAPIDAPI_KEY'
分页:怎么把帖子/评论全部拿下来
每页大约 12 条,不同接口的分页游标不一样:
user_media用next_max_id(响应里回传顶层next_max_id,more_available为 false 时停)user_reels、user_tag_media、media_comments用after(游标取响应里的page_info.end_cursor)reels_audio用max_id
完整的分页循环写法见英文版的 Instagram API 分页指南。
费用大概多少
每调用一次接口算一次请求。各档价格如下:
- 免费 Basic:每月 30 次(用来测试)
- Pro($59/月):含 150,000 次,超出后 $0.13/千次
- Ultra($119/月):含 900,000 次,超出后 $0.11/千次
- Mega($249/月):含 3,000,000 次,超出后 $0.10/千次
给每个请求都加上 fields 参数,把原始 JSON 裁到你只需要的字段,既能省钱也能守住每月 10 GB 的流量额度。
合规提醒
这个 API 只返回 公开的 Instagram 数据。在批量采集前,请确认你的用途符合 Instagram 的服务条款以及适用的隐私法规(如 GDPR、CCPA)。数据怎么采集、存储、使用由你自己负责。本 API 与 Meta / Instagram 没有任何隶属或背书关系。
下一步
搞懂这 9 个接口后,往下可以看更具体的实战:用 Python 获取用户资料和帖子,以及 用评论接口做红人和舆情分析。先用免费档跑通一个请求,再按需要升级,五分钟就能开始。
合规说明:本 API 仅返回公开的 Instagram 数据。你需自行遵守 Instagram 服务条款及适用隐私法规(GDPR/CCPA)。与 Meta/Instagram 无隶属或背书关系。