You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Instagram账号的完整粉丝列表?API调用无法返回全部数据

获取Instagram全部粉丝列表的解决方案

Instagram的粉丝列表API采用分页机制,不会一次性返回所有粉丝数据,哪怕你把count设得极大也没用。要获取全部48.2K粉丝,你需要通过响应中的分页标记循环请求,直到获取完所有页的数据。

具体解决步骤:

  • 每次请求API后,检查响应JSON里的next_max_id字段(如果存在),这个字段是下一页数据的游标
  • 把next_max_id作为参数添加到下一次的API请求URL中,格式为&max_id=xxx
  • 循环执行「请求→提取数据→检查游标」的流程,直到响应中不再返回next_max_id,说明所有数据已获取

修改后的Python脚本示例

import json
import requests
import time

# 替换为目标账号ID、你的会话headers(需要包含登录后的cookie等验证信息)
TARGET_USER_ID = "XXX"
HEADERS = {
    "User-Agent": "Instagram 292.0.0.12.109 Android",
    "Cookie": "你的登录cookie"  # 必须带上,否则API会返回未授权
}

def get_all_followers():
    all_usernames = []
    max_id = None
    
    while True:
        # 构建请求URL,带上max_id(如果有)
        url = f"https://i.instagram.com/api/v1/friendships/{TARGET_USER_ID}/followers/?count=200&search_surface=follow_list_page"
        if max_id:
            url += f"&max_id={max_id}"
        
        # 发送请求,添加延迟避免被限制
        response = requests.get(url, headers=HEADERS)
        time.sleep(1)
        data = response.json()
        
        # 提取当前页的用户名
        for user in data.get('users', []):
            all_usernames.append(user['username'])
        
        # 检查是否有下一页
        max_id = data.get('next_max_id')
        if not max_id:
            break
    
    # 保存或打印结果
    print(f"共获取到{len(all_usernames)}个粉丝用户名")
    with open('all_followers.json', 'w') as f:
        json.dump(all_usernames, f, indent=2)

if __name__ == "__main__":
    get_all_followers()

注意事项:

  • 会话验证:必须带上登录后的Cookie和正确的User-Agent,否则Instagram API会拒绝请求(返回401或403)
  • 请求频率控制:每次请求后添加1-2秒延迟,避免触发Instagram的反爬机制导致账号受限
  • 字段兼容性:Instagram的API字段可能会更新,如果next_max_id不存在,可以检查响应里的pagination或其他类似分页字段

内容的提问来源于stack exchange,提问作者Reza Shakak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 23:54:05