关于 instagram-scraper
instagram-scraper 是通过 Apify 抓取公开 Instagram 数据的技能,供需要获取个人资料、帖子及相关内容的工作流使用。它支持多种结果类型,并提供登录预检和避免在对话中处理令牌的认证流程。
主要功能
- 01获取个人资料、帖子及 Reels
- 02抓取限时动态、评论和提及
- 03按关键词或 URL 搜索
- 04预检 Apify 登录状态
- 05通过 Apify CLI 或 HTTP 调用
适用场景
- 01查看账号粉丝数和简介
- 02收集指定账号的帖子
- 03获取帖子评论或账号提及
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ skillify-sh/ skills --skill instagram-scraper安装后在 Claude Code 中输入/instagram-scraper确认已加载。
详细介绍
Instagram 抓取工具
通过 Apify 的 Instagram Scraper 获取公开的 Instagram 数据。无需登录 Instagram,无需 Cookie,也无需经过 Meta 应用审核。
| Actor | apify/instagram-scraper |
| 身份验证 | Authorization: Bearer $APIFY_TOKEN,或使用已登录的 Apify CLI — 参见 Setup |
| 价格 | 每 1,000 条结果起价 $2.30,由 Apify 计费 |
| 免费额度 | 每月 $5 额度 ≈ 2,000+ 条结果,无需信用卡 |
Setup — 在进行任何数据调用前执行
始终先运行此预检。 只有预检通过后,才能尝试进行数据调用。
if [ -n "$APIFY_TOKEN" ]; then
echo "AUTH_OK curl"
elif command -v apify >/dev/null 2>&1 && apify info >/dev/null 2>&1; then
echo "AUTH_OK cli: apify"
elif { [ -f "$HOME/.apify/auth.json" ] || [ -f "$USERPROFILE/.apify/auth.json" ]; } \
&& npx --yes apify-cli@latest info >/dev/null 2>&1; then
echo "AUTH_OK cli: npx --yes apify-cli@latest"
else
echo "AUTH_MISSING"
fi
这些检查按成本从低到高排列。npx 回退方式大约需要 4 秒,
因此仅当 Apify 配置目录显示之前登录过时才会运行——首次使用的用户会立即收到
AUTH_MISSING,而不会等待一个本来就找不到会话的程序包下载完成。
有意同时检查 $HOME 和 $USERPROFILE。 在 Windows 上,两者可能指向不同位置——沙箱和某些 CI 镜像会重新映射 $HOME,而 Apify CLI
仍会将文件写入 $USERPROFILE\.apify。若只检查 $HOME,就会报告
AUTH_MISSING,即使用户实际上已成功登录;随后此技能还会让用户去注册已有的账号。如果你在一台认为已完成身份验证的计算机上看到 AUTH_MISSING,请先检查这两个路径,再判断结果是否可信。
两种 AUTH_OK 模式不可互换——预检会告诉你该使用哪种调用方式。
AUTH_OK curl— 环境中存在令牌。此技能中的 HTTP 调用可按原样使用。AUTH_OK cli: <prefix>— Apify CLI 持有会话,无法从磁盘读取令牌。~/.apify/auth.json仅包含账号元数据(用户名、套餐、代理组——没有token字段);当前版本的 CLI 会将令牌保存在操作系统的密钥后端中。不要尝试从该文件中提取令牌:伪造的Authorization: Bearer标头会返回401,看起来与令牌被撤销完全一样。请改用apify call,并在前面加上预检在cli:后输出的内容(apify,或当 CLI 不在PATH中时使用npx --yes apify-cli@latest)。
如果预检输出 AUTH_OK cli
此技能中的每个载荷仍然适用——将其写入文件,然后交给
apify call,而不是 curl:
cat > /tmp/ig-input.json <<'EOF'
{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"details","resultsLimit":1}
EOF
apify call apify/instagram-scraper --input-file /tmp/ig-input.json --output-dataset --silent
- 始终显式传入 Actor id。 如果不提供 id,
apify call会运行本地.actor/actor.json中定义的 Actor——在 Actor 仓库内,这会悄无声息地运行错误的内容。 - 优先使用
--input-file,而不是内联的-i '{...}'。 内联 JSON 必须能通过 shell 解析,而 PowerShell 和cmd.exe会破坏引号。文件则不会。--input-file -会读取标准输入。 --output-dataset会将数据集输出到标准输出——与run-sync-get-dataset-items返回的数组相同,因此下文 Output 部分中的所有字段都完全一致。--silent会让运行日志不进入标准输出,确保输出可解析为 JSON。apify call会等待运行结束,因此下方的异步轮询模式仅适用于curl方式。添加--timeout <seconds>可限制长时间运行的任务。- 运行费用会计入 CLI 当前登录的账号。
apify info会显示该账号——如果用户可能拥有多个账号,值得向其展示。
如果预检输出 AUTH_MISSING
在用户的浏览器中打开 Apify 注册页面,然后索取令牌。原样运行以下命令——它会根据平台选择正确的命令;如果没有浏览器(CI、SSH、容器),则会退而打印 URL:
URL="https://console.apify.com/sign-up?fpr=z8j1nz"
# xdg-open is checked before open: on some Linux distros `open` is openvt, not a browser.
if command -v xdg-open >/dev/null 2>&1; then xdg-open "$URL"
elif command -v open >/dev/null 2>&1; then open "$URL"
elif command -v powershell.exe >/dev/null 2>&1; then powershell.exe -NoProfile -Command "Start-Process '$URL'"
elif command -v cmd.exe >/dev/null 2>&1; then cmd.exe /c start "" "$URL"
else echo "Open this URL in a browser: $URL"
fi
然后告诉用户正在进行什么操作——但不要等待回复:
我已在你的浏览器中打开 Apify 的注册页面。Instagram 数据通过 Apify 获取,入门免费——每月有价值 $5 的额度,无需信用卡,足够获取约 2,000 条结果。
请在该页面注册(如果你已有账号,也可以登录)。我也会立即打开授权步骤——批准后,这台机器就会保持连接,以后你就不必再进行这些操作。
注册链接是推荐链接。
立即运行登录命令。不要先询问用户是否已完成注册——此命令会打开 Apify 的授权页面,该页面本身也提供注册功能,然后会一直等待,直到用户完成操作。命令本身就是等待,因此无需检测,也无需额外往返:
timeout 300 npx --yes apify-cli@latest login -m console
- 必须使用
-m console。 直接运行apify login会先提示选择登录方式,并在 Agent 无法响应的 stdin 上无限期挂起。-m console会直接进入浏览器流程。 timeout 300会限制等待时间,避免用户放弃注册后会话一直挂起。退出代码124表示超时——用户已离开,因此应询问他们是否仍想继续,而不是默默重试。- 成功后会输出 "Success: You are logged in to Apify as
<username>. Your token is stored in your OS keyring." 从此以后,预检在所有后续会话中都会解析为AUTH_OK cli——无需粘贴或存储令牌,也不会将令牌泄露到对话记录中。
然后重新运行预检。这才是确认是否成功的方法——不要依赖提示消息,也不要假设浏览器步骤已顺利完成:
| 预检现在显示 | 含义 | 操作 |
|---|---|---|
AUTH_OK cli: <prefix> | 已登录并持久保存 | 继续处理请求 |
AUTH_MISSING | 登录未完成 | 明确说明这一点,并询问是否重试——不要循环重试 |
预检中的 CLI 分支只会运行 apify info:存在会话时退出代码为 0,不存在时则为非零。它与刚才产生 AUTH_MISSING 的检查相同,因此重新运行预检是真正的确认,而不是重复你原本的判断。
有两种值得指出的失败情况,因为从外部看都像是成功了:用户关闭授权标签页但未批准(超时时退出代码为 124),以及用户完成注册却始终没有进入批准步骤。这两种情况下,注册可能已经成功,但这台机器仍未连接——这正是应该相信预检而非注册结果的原因。
先打开注册标签页,再进行登录。 推荐归因记录在注册页面上;之后的授权步骤只是让这台机器连接到此时已有的账号。如果顺序颠倒,就会丢失推荐归因。
绝不向用户索要其令牌
不要在对话中请求、接受或处理 Apify API 令牌。 上面的浏览器登录正是为了确保密钥不会到达 Agent:CLI 直接从 Apify 获取令牌并将其写入 OS 密钥环,而此技能只读取该操作的结果(apify info 的退出代码),绝不会读取令牌值。
如果用户主动提供令牌,请婉拒,并引导他们使用以下两种安全方式之一。 粘贴到会话中的任何内容都是有效凭据,会留在对话记录、滚动缓冲区以及记录对话的任何日志中。
无头环境——CI、SSH、容器,以及任何无法打开浏览器完成 OAuth 往返流程的环境。用户必须在启动 Agent 之前自行通过会话外的方式设置凭据:
# the user runs this in their own shell / CI secret store — not via the agent
export APIFY_TOKEN="…"
这样,预检就会报告 AUTH_OK curl,一切都能正常工作,而且令牌值不会经过对话。
或者使用 CLI 自带的提示,它会从标准输入读取令牌,而不是从对话中读取:
npx --yes apify-cli@latest login -m manual
避免使用 login -t <token>。将密钥作为命令行参数传递,会使其暴露在进程列表中,供机器上的所有其他进程查看,也会留在 shell 历史记录中。它还会在验证之前清除已存储的会话,因此输入错误或过期的值会让用户退出原本正常工作的会话。
当令牌确实存在于环境中时,始终将其引用为 $APIFY_TOKEN,并让 shell 展开它——本技能中的所有示例都是如此。切勿将令牌的实际值替换到命令、日志行或消息中。
获取数据
一次调用即可同步返回项目。适用于能在约 60 秒内完成的任务。这是 AUTH_OK curl 形式——使用 AUTH_OK cli 时,将相同的 -d 负载放入文件,然后按上文所示通过 apify call 运行。
curl -s -X POST \
"https://api.apify.com/v2/acts/apify~instagram-scraper/run-sync-get-dataset-items?timeout=120" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-H "User-Agent: instagram-scraper-skill" \
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"details","resultsLimit":1}'
User-Agent 标头仅用于在日志中区分由本技能发起的运行。它不包含个人数据,可以移除。
选择 resultsType
| 值 | 返回内容 |
|---|---|
details | 个人资料元数据:粉丝数、关注数、简介、帖子数、个人资料图片。成本最低——每个个人资料仅 1 条结果。 |
posts | 帖子动态 |
reels | 仅 Reels |
stories | 当前正在发布的快拍 |
comments | 帖子 URL 下的评论 |
mentions | 提及某个账号的帖子 |
如果用户只需要个人资料数据,就选择 details。为了回答这类问题而使用 posts,成本最高可多出 100 倍,却没有任何好处。
输入参考
| 字段 | 类型 | 默认值 | 备注 |
|---|---|---|---|
directUrls | 数组 | — | 个人资料、帖子、Reel、主题标签、地点或音频 URL——参见下文的 URL 处理 |
resultsType | 字符串 | posts | 参见上表 |
resultsLimit | 整数 | 100 | 每个 URL 的上限。影响成本——务必设置。 |
onlyPostsNewerThan | 字符串 | — | YYYY-MM-DD、ISO 格式,或 1 day / 2 months。UTC |
search | 字符串 | — | 关键字,用于替代 directUrls |
searchType | 字符串 | hashtag | hashtag、profile、place、user |
searchLimit | 整数 | 10 | 每次搜索发现的项目数上限 |
addParentData | 布尔值 | false | 为每个项目添加生成该项目的查询信息 |
还有四个字段可用,但未列入已发布的输入架构。 它们记录在 Actor 的 README 中,并已验证可正常工作——可以放心使用:
| 字段 | 类型 | 适用于 | 备注 |
|---|---|---|---|
addProfileStatistics | 布尔值 | details | 添加 statistics 对象(约 60 个字段)——account_type(1 为 Personal,2 为 Business,3 为 Creator)、media_count、total_clips_count、category、city_name、联系信息字段。对私人个人资料也有效 |
skipPinnedPosts | 布尔值 | posts | 排除置顶帖子 |
isNewestComments | 布尔值 | comments | 按最新优先排序。仅限付费套餐——免费套餐使用默认顺序 |
includeNestedComments | 布尔值 | comments | 包含回复。仅限付费套餐。 每条回复都是单独的结果,因此总数会超过 resultsLimit |
URL 处理
directUrls 比看起来更宽容。以下格式都可接受:
- 只要可以使用个人主页 URL 的地方,就可以使用个人主页 ID——直接使用数字 ID 即可
instagram.com/_u/natgeo/profilecard/——会剥除_u和profilecardinstagram.com/stories/username/——会简化为用户名instagram.com/share/BAC6cDeb_-——会解析为规范帖子 URLinstagram.com/explore/locations/7538318/——只需提供 ID,无需 slug
**不支持:**在 posts、reels、mentions 或 details 中使用 URL 格式的数字帖子 ID(instagram.com/p/3369450800358839406/)。
请改用 shortCode 格式。这种格式在 comments 中确实可用。
**URL 类型决定输出架构。**Hashtag、地点、音频和探索 URL 即使与其他内容模式搭配使用,也会返回各自的元数据——因此,地点 URL 配合 resultsType: "details" 时,返回的是地点详情,而非个人主页详情。
这些限制很容易踩坑
- **每次运行只能处理一种内容类型。**无法在一次调用中同时获取帖子和评论。请运行两次。
- URL 优先于搜索。
directUrls和search不能同时使用;若两者都存在,将采用 URL 并忽略搜索。 - Hashtag 必须以纯文本形式输入——使用
travel,不要使用#travel。 - 多个搜索词用逗号分隔,并放在同一个字符串中:
"travel, fitness"。 - **免费套餐每篇帖子大约只能获取一页评论(约 15 条)。**付费套餐没有此限制。不要将其报告为错误——请如实说明。
常见任务
Actor 提供的每项功能及其对应的 payload。将 -d '...' 替换到上面的 curl 命令中。
获取多个账号的个人主页统计数据——成本最低的调用:
-d '{"directUrls":["https://www.instagram.com/nasa/","https://www.instagram.com/natgeo/"],"resultsType":"details","resultsLimit":1}'
获取某个个人主页最近 30 天的帖子:
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"posts","resultsLimit":30,"onlyPostsNewerThan":"1 month"}'
获取某个个人主页的 reels:
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"reels","resultsLimit":20}'
获取某个个人主页当前的快拍——只有在快拍仍有效时才会返回内容,而且通常需要付费套餐:
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"stories","resultsLimit":20}'
提及某个账号的帖子——用于品牌监测:
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"mentions","resultsLimit":50}'
获取某篇帖子的评论:
-d '{"directUrls":["https://www.instagram.com/p/SHORTCODE/"],"resultsType":"comments","resultsLimit":50}'
获取某个 hashtag 下的帖子:
-d '{"search":"wildlifephotography","searchType":"hashtag","searchLimit":50,"resultsType":"posts","resultsLimit":50}'
按关键词查找账号——user 会返回账号记录:
-d '{"search":"climate photographer","searchType":"user","searchLimit":20,"resultsType":"details"}'
按名称搜索个人主页——profile 会匹配个人主页页面:
-d '{"search":"national geographic","searchType":"profile","searchLimit":20,"resultsType":"details"}'
获取某个地点的帖子:
-d '{"search":"Yosemite National Park","searchType":"place","searchLimit":20,"resultsType":"posts","resultsLimit":50}'
获取某个地点或 hashtag URL 下的帖子——直接传入 URL,而不是进行搜索:
-d '{"directUrls":["https://www.instagram.com/explore/tags/wildlife/"],"resultsType":"posts","resultsLimit":50}'
追踪每篇帖子对应的查询——在一次运行中抓取多个 hashtag 或个人主页时,addParentData 会在每项数据中标记其来源,方便之后对结果进行分组:
-d '{"search":"wildlife","searchType":"hashtag","searchLimit":30,"resultsType":"posts","resultsLimit":30,"addParentData":true}'
深入的个人主页统计数据——账号类型、帖子和 reels 数量、类别、城市以及公开联系字段。私密个人主页也适用:
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"details","resultsLimit":1,"addProfileStatistics":true}'
获取最近的帖子,不包括置顶帖子:
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"posts","resultsLimit":30,"skipPinnedPosts":true}'
仅获取置顶帖子——将同一对参数反向设置:
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"posts","skipPinnedPosts":false,"onlyPostsNewerThan":"0 minutes"}'
按时间从新到旧获取评论,包括回复——这两项都仅限付费套餐:
-d '{"directUrls":["https://www.instagram.com/p/SHORTCODE/"],"resultsType":"comments","resultsLimit":50,"isNewestComments":true,"includeNestedComments":true}'
输出
每种内容类型都会生成不同的架构,不能在一次运行中合并。 以下示例省略了部分字段,仅保留实用字段;传入的 URL 类型可能会覆盖结果结构(即使使用其他模式,位置 URL 也会返回地点数据)。
帖子 / 轮播图(resultsType: "posts")——23 个字段:
{
"inputUrl": "https://www.instagram.com/p/DZxvMgyH8yR/",
"id": "3923124318436838545",
"type": "Image",
"shortCode": "DZxvMgyH8yR",
"caption": "In the Democratic Republic of the Congo…",
"hashtags": [], "mentions": ["carstenpeter"],
"url": "https://www.instagram.com/p/DZxvMgyH8yR/",
"likesCount": 34512, "commentsCount": 210,
"timestamp": "2026-06-22T17:24:20.000Z",
"displayUrl": "https://…", "images": [], "childPosts": [],
"dimensionsWidth": 1080, "dimensionsHeight": 1350, "alt": "…",
"ownerUsername": "natgeo", "ownerFullName": "National Geographic", "ownerId": "787132",
"firstComment": "…", "latestComments": [], "isCommentsDisabled": false
}
Reel(resultsType: "reels")——31 个字段。在帖子字段基础上增加视频字段:
{
"…all post fields…": "…",
"videoUrl": "https://…", "videoDuration": 28.28,
"videoViewCount": 120433, "videoPlayCount": 98221,
"audioUrl": "https://…", "musicInfo": {}, "productType": "clips",
"isPinned": false
}
评论(resultsType: "comments"):
{
"postUrl": "https://www.instagram.com/p/DZ5T2XPllXv/",
"commentUrl": "https://www.instagram.com/p/DZ5T2XPllXv/c/18093536360613690",
"id": "18093536360613690",
"text": "We love you NASA 💙🌎🌊",
"ownerUsername": "mavideniz5521__", "ownerProfilePicUrl": "https://…",
"timestamp": "2026-06-22T17:24:20.000Z",
"likesCount": 4, "repliesCount": null, "replies": null,
"owner": { "username": "…" }
}
只有设置 includeNestedComments: true(付费)时,才会填充 repliesCount 和 replies。
个人资料详情(resultsType: "details")——22 个字段。已验证为实时数据:
{
"inputUrl": "https://www.instagram.com/nasa/",
"id": "528817151", "username": "nasa", "url": "https://www.instagram.com/nasa/",
"fullName": "NASA", "biography": "Making the seemingly impossible, possible. ✨",
"externalUrl": "https://www.nasa.gov/", "externalUrls": [],
"followersCount": 104423132, "followsCount": 92, "postsCount": 4888,
"verified": true, "private": false,
"isBusinessAccount": true, "businessCategoryName": "Government Agencies",
"joinedRecently": false, "fbid": "17841401474538262",
"profilePicUrl": "https://…", "profilePicUrlHD": "https://…",
"highlightReelCount": 5, "igtvVideoCount": 171,
"latestPosts": [], "relatedProfiles": []
}
details 已包含 latestPosts(最多 12 条)和 relatedProfiles(最多 48 个),无需额外费用。 如果用户既想了解个人资料的数据,又想查看近期帖子,一次 details 调用就能满足需求——通常没必要再调用一次 posts。
设置 addProfileStatistics: true 后,会附加一个 statistics 对象(约 60 个字段):
account_type(1 表示个人,2 表示商业,3 表示创作者)、media_count、total_clips_count、
category、city_name、address_street、zip、bio_links、mutual_followers_count。
提及(resultsType: "mentions")——21 个字段,结构与帖子相同,另含 taggedUsers、
music、carouselImages、carouselImageCount。
地点详情(位置 URL)——16 个字段:
{
"inputUrl": "https://www.instagram.com/explore/locations/7538318/",
"name": "Copenhagen, Denmark", "location_id": "7538318", "slug": "copenhagen",
"lat": 55.6761, "lng": 12.5683,
"location_address": "…", "location_city": "…", "location_zip": "…",
"phone": "…", "category": "…", "price_range": "…",
"media_count": 1284322, "ig_business": "…", "posts": [], "hours": {}
}
话题标签详情(话题标签 URL)——15 个字段,包括 SEO 风格的附加信息:
name、postsCount、url、id、posts、postsPerDay、difficulty、related、
frequent、average、rare、relatedFrequent、relatedAverage、relatedRare。
搜索结果包含 searchTerm 和 searchSource,可据此判断每行结果对应的查询:
- 话题标签搜索——6 个字段:
searchTerm、searchSource、name、postsCount、url、id - 地点搜索——17 个字段:地点详情结构,以及
searchTerm/searchSource - 个人资料搜索——13 个字段:结构与帖子相同,包含
ownerUsername、ownerFullName、taggedUsers
图片是 URL,而非文件
每个图片和视频字段都是指向 Instagram CDN 的链接。不会下载任何内容,这些链接带有签名,几小时后就会过期。 如果用户需要媒体文件本身,应尽快使用自己的带宽获取。
运行时间超过一分钟
对于大型任务,应以异步方式启动并轮询,而不是一直占用同步连接:
RUN=$(curl -s -X POST "https://api.apify.com/v2/acts/apify~instagram-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" -H "Content-Type: application/json" \
-d '{"directUrls":["https://www.instagram.com/nasa/"],"resultsType":"posts","resultsLimit":1000}' \
| python3 -c "import sys,json; print(json.load(sys.stdin)['data']['id'])")
curl -s "https://api.apify.com/v2/actor-runs/$RUN?waitForFinish=60" \
-H "Authorization: Bearer $APIFY_TOKEN" \
| python3 -c "import sys,json; print(json.load(sys.stdin)['data']['status'])"
curl -s "https://api.apify.com/v2/actor-runs/$RUN/dataset/items?format=json" \
-H "Authorization: Bearer $APIFY_TOKEN"
轮询,直到 status 为 SUCCEEDED,然后获取条目。FAILED 或 ABORTED 表示应停止并报告——不要悄悄重试一项需要用户付费的任务。
错误
| 状态 | 含义 | 处理方式 |
|---|---|---|
401 | Token 缺失、错误或已撤销 | 重新执行上文的 Setup 预检。不要重试调用。如果 CLI 已登录,但 curl 路径返回 401,说明 Token 是编造的——改用 apify call。 |
402 / insufficient credit | 月度额度已用尽 | 告知用户;他们可以等到每月额度重置,或前往 https://apify.com/pricing?fpr=z8j1nz 升级(推荐链接)。不要重试。 |
404 | Actor ID 或运行 ID 无效 | 检查 URL 使用的是带波浪号的 apify~instagram-scraper,而不是斜杠。 |
408 / 超时 | 同步调用超出时限 | 改用上文的异步模式。 |
| 空数组 | 内容为私密、已删除或确实为空 | 如实报告。不要假定这是计费问题。 |
apify call 以非零状态退出 | 运行失败,或 CLI 会话已失效 | CLI 会输出原因和运行 URL——先查看,不要重试。如果 apify info 也失败,则会话已过期:重新执行 Setup。 |
空结果也是有效答案。私密账号、已删除的帖子和没有动态的话题标签都可能确实不返回任何内容。
需要准确说明的数据特点,而非视为错误
likesCount: -1表示创作者隐藏了点赞数。Instagram 不会公开该数据。应说明“创作者已隐藏”,切勿将其报告为零或错误。- 私人账号通常不会返回任何内容。有一种例外:如果私人账号被标记为帖子上的协作者,且任一共同作者的账号为公开账号,Instagram 会将该帖子视为公开内容,并在结果中显示。
- 指标可能与应用中显示的不同。 Instagram 向未登录的访客展示的计数略有不同,而且较大的计数会不断变化。出现细微差异是正常的。
- 结果数量无法保证。 没有固定上限;实际返回数量取决于 Instagram 公开的数据。若要确认理论上应有哪些结果,请在无痕窗口中打开 URL。
控制成本
用户按结果付费。务必将这视为实际费用。
- 始终设置
resultsLimit。 每个 URL 的默认值为 100;如果用户实际上只需要 25 个结果,使用默认值进行一次包含 5 个 URL 的调用就会产生 500 个结果。 - 对于有关粉丝数、简介或帖子数量的问题,使用
resultsType: "details"。它会为每个账号返回一个结果。 - 从小规模开始。 对于任何范围开放的问题,先运行有数量限制的初步查询,向用户展示返回的内容,并在扩大规模前征求确认。
- 开始大规模查询前,说明费用。 按每 1,000 个结果 $2.30 计算,5,000 个结果的任务费用约为 $11.50。
- 收到
401或402后,切勿重复相同调用——每次尝试都可能产生费用,而且都不会成功。