instagram-api — скилл для Claude Code: данные Instagram без Graph API
Скилл даёт агенту доступ к профилям, постам, рилсам и хэштегам Instagram через HTTP GET на fetcher.sh. Оплата по вызову или с предоплаченного баланса.
npx skills add fetcher-sh/fetcher-skills --skill instagram-api -a claude-codeЧто делает instagram-api
Скилл описывает 16 эндпоинтов на https://instagram.fetcher.sh — все GET, по $0.004 за вызов. Профиль по @handle, поиск аккаунтов по ключевому слову, посты, рилсы, сторис, отметки, подписчики и подписки, пост по shortcode, комментарии, лента хэштега, посты с локации и по аудиодорожке. Ответ всегда в форме { "status": number, "message": string, "data": ... }.
Платить можно двумя способами. Предоплаченные кредиты: ключ вида bby_live_... уходит в заголовок Authorization: Bearer, и дальше обычный curl. Либо x402 — запрос без заголовка возвращает 402 с требованиями оплаты в USDC, а @x402/fetch подписывает и повторяет вызов сам. Ни логина, ни сессионных кук, ни headless-браузера, ни верификации бизнеса в Graph API.
Пагинация — через cursor или page. У поиска пользователей параметр query обязателен. Есть MCP-сервер на https://instagram.fetcher.sh/mcp: search_endpoints, describe_endpoint и check_balance бесплатны, платит только fetch_data. Без ключа или настроенного x402-клиента платные вызовы просто не пройдут — это первое, что стоит проверить перед запуском пайплайна.
Какие задачи решает
- найти числовой ID аккаунта по @handle
- выгрузить подписчиков профиля для анализа аудитории
- собрать посты и рилсы конкурента за период
- прочитать комментарии под конкретным постом
- следить за свежими постами по хэштегу или локации
Примеры запросов агенту
- Найди профиль
@nasaчерез instagram-api и покажи число подписчиков - Выгрузи последние посты и рилсы пользователя с ID
528817151 - Собери посты по хэштегу
travelи выведи их в таблицу
Как установить instagram-api
1Через Skills CLI (Vercel)
npx skills add fetcher-sh/fetcher-skills --skill instagram-api -a claude-code2Вручную: положить файлы
~/.claude/skills/instagram-api/SKILL.mdПапка скилла целиком; для одного проекта — .claude/skills/instagram-api/
1Через Skills CLI (Vercel)
npx skills add fetcher-sh/fetcher-skills --skill instagram-api -a codex2Вручную: положить файлы
.agents/skills/instagram-api/SKILL.mdДля всех проектов — ~/.agents/skills/
1Через Skills CLI (Vercel)
npx skills add fetcher-sh/fetcher-skills --skill instagram-api -a cursor2Вручную: положить файлы
.cursor/skills/instagram-api/SKILL.mdCursor читает и .agents/skills/, и .claude/skills/
1GitHub CLI
gh skill install fetcher-sh/fetcher-skills instagram-api2Вручную: положить файлы
.github/skills/instagram-api/SKILL.md1Через Skills CLI (Vercel)
npx skills add fetcher-sh/fetcher-skills --skill instagram-api -a gemini-cli2Командой платформы
gemini skills install https://github.com/fetcher-sh/fetcher-skills --path skills/instagram-apiВручную: положить файлы
.devin/skills/instagram-api/SKILL.mdСтарый путь .windsurf/skills/ тоже читается
Через Skills CLI (Vercel)
npx skills add fetcher-sh/fetcher-skills --skill instagram-api -a opencodeClaude.ai
Упакуйте папку в zip и загрузите в Settings → Capabilities → Skills
По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов
Вопросы о instagram-api
Как установить instagram-api в Claude Code?
Выполните npx skills add fetcher-sh/fetcher-skills --skill instagram-api -a claude-code. Скилл появится в ~/.claude/skills/instagram-api/SKILL.md.
Что делает instagram-api?
Даёт агенту готовые вызовы к API Instagram на fetcher.sh: профили, посты, рилсы, сторис, подписчики, комментарии, ленты хэштегов и локаций. Агент сам подставляет нужный эндпоинт и параметры.
Нужен ли ключ API для работы скилла?
Да, для платных вызовов. Либо предоплаченный ключ bby_live_... в заголовке Authorization: Bearer, либо x402-клиент вроде @x402/fetch, который оплачивает вызов в USDC. Бесплатны только search_endpoints, describe_endpoint и check_balance.
Исходный текст
SKILL.md · MIT
---
name: instagram-api
description: >-
An Instagram API alternative on fetcher.sh — pay-per-call in USDC via x402,
or prepaid credits with a Bearer key, no login and no session cookies. Use
when the user wants to resolve an Instagram profile by @handle, search
users by keyword, pull a profile's posts, reels, stories, tagged posts,
followers, or followings, look up a single post by its shortcode, read a
post's comments, fetch posts under a hashtag or reel-only hashtag feed,
pull posts from a location, or pull posts using a specific audio/music
track. Also covers Instagram follower export, hashtag and location
monitoring, influencer discovery, competitor content tracking, and
Instagram data pipelines without an official Graph API business
verification or a headless browser.
keywords:
- instagram
- instagram-api
- instagram-api-alternative
- ig-api
- social-media
- social-listening
- hashtag-tracking
- x402
- ai-agent
---
# Instagram API
Instagram data on demand: profile lookup by @handle, posts, reels, stories,
tagged posts, followers and followings, hashtag and location feeds, audio/music
feeds, and post comments — one plain HTTP GET per call, paid as you go. No
login, no session cookies, no headless browser, no Graph API business
verification.
Base URL: `https://instagram.fetcher.sh`
## Quick reference
| | |
| --- | --- |
| Base URL | `https://instagram.fetcher.sh` |
| Auth | `Authorization: Bearer bby_live_...` or x402 (USDC) |
| Price | $0.004/call (flat) |
| Endpoints | 16, all `GET` |
| MCP | `https://instagram.fetcher.sh/mcp` |
| Machine-readable | `/openapi.json` · `/llms.txt` · `/skill.md` |
## Which endpoint do I need?
| I want to... | Call |
| --- | --- |
| Look up a profile by @handle | `GET /api/user/handle/{handle}` |
| Search accounts by name | `GET /api/user/search` |
| Get a user's posts, reels, or stories | `GET /api/user/{id}/posts` / `/reels` / `/stories` |
| Get a user's followers or followings | `GET /api/user/{id}/followers` / `/followings` |
| Look up a post by its share-URL shortcode | `GET /api/post/code/{code}` |
| Get a post's comments | `GET /api/post/{id}/comments` |
| Find posts under a hashtag | `GET /api/hashtag/{name}/posts` |
| Find posts tagged at a location | `GET /api/location/{id}/posts` |
Full param details for every row: [`references/endpoints.md`](references/endpoints.md).
## Authentication
Two ways to pay, same data — full mechanics in the [`fetcher`
skill](../fetcher/SKILL.md):
```bash
# 1. Prepaid credits (recommended — get a key at https://fetcher.sh/topup
# or via POST /api/credits/topup, see the fetcher skill)
export FETCHER_API_KEY="bby_live_xxxxxxxxxxxx"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/handle/nasa"
# 2. x402 pay-per-call — omit the header; a GET with no payment returns 402
# with machine-readable payment requirements (USDC on Base, Polygon,
# Arbitrum, Monad, or Solana). @x402/fetch signs and retries automatically.
```
Every response is `{ "status": number, "message": string, "data": ... }`; the
HTTP status mirrors `status`.
## Endpoints (16 — all GET, $0.004/call)
| Endpoint | What it returns |
| --- | --- |
| `/api/user/handle/{handle}` | Full profile by @handle — follower counts, bio, numeric ID |
| `/api/user/search` | Profiles matching a keyword query |
| `/api/userid/{handle}` | Just the numeric user ID for a @handle |
| `/api/user/{id}` | Profile by numeric ID |
| `/api/user/{id}/posts` | A user's posts |
| `/api/user/{id}/posts/tagged` | Posts the user is tagged in |
| `/api/user/{id}/reels` | A user's reels |
| `/api/user/{id}/stories` | A user's active stories |
| `/api/user/{id}/followers` | A user's followers |
| `/api/user/{id}/followings` | Accounts a user follows |
| `/api/post/code/{code}` | A single post by its shortcode (from the post URL) |
| `/api/post/{id}/comments` | A post's comments |
| `/api/hashtag/{name}/posts` | Posts under a hashtag |
| `/api/hashtag/{name}/reels` | Reels under a hashtag |
| `/api/location/{id}/posts` | Posts tagged at a location |
| `/api/audio/{id}/posts` | Posts using a specific audio/music track |
`{id}` / `{handle}` / `{name}` / `{code}` are path parameters. Optional
`cursor` / `page` paginate; `query` (user search) is required where it
appears.
## Scenarios
**Resolve a profile by handle — the endpoint most callers want first:**
```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/handle/nasa"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/handle/natgeo"
```
**Search for profiles by keyword, or resolve just the numeric ID for a handle:**
```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
--data-urlencode "query=fitness influencer" -G \
"https://instagram.fetcher.sh/api/user/search"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/userid/nasa"
```
**A profile's posts, reels, stories, and tagged posts (by numeric ID from the
handle lookup above):**
```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/528817151/posts"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/528817151/reels"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/528817151/stories"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/528817151/posts/tagged"
```
**Followers and followings:**
```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/528817151/followers"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/user/528817151/followings"
```
**A single post by shortcode (the part of the URL after `/p/`), and its
comments:**
```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/post/code/C0JD3tntcmy"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/post/3245142029192513970/comments"
```
**Posts and reels under a hashtag, posts from a location, and posts using an
audio track:**
```bash
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/hashtag/travel/posts"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/hashtag/travel/reels"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/location/213131048/posts"
curl -H "Authorization: Bearer $FETCHER_API_KEY" \
"https://instagram.fetcher.sh/api/audio/271328201351336/posts"
```
## MCP
```json
{
"mcpServers": {
"instagram": {
"url": "https://instagram.fetcher.sh/mcp",
"headers": { "Authorization": "Bearer bby_live_..." }
}
}
}
```
Free: `search_endpoints`, `describe_endpoint`, `check_balance`. Paid:
`fetch_data` (any endpoint above), `topup_credits`, plus the named shortcut
`instagram_user_handle`. Drop the `headers` block to pay per call with x402
instead — see the [`fetcher` skill](../fetcher/SKILL.md) for the full flow.
## Errors
- `400` — missing/invalid parameter (message names it)
- `401` — unknown or rotated key
- `402` — payment required (x402 challenge) or `topup_required` (credits
exhausted)
- `404` — not a priced path
- No rate limits; no refunds on upstream failures (settlement precedes
delivery)
## Reference
- Deep dives: [`references/endpoints.md`](references/endpoints.md) (every
param) · [`references/scenarios.md`](references/scenarios.md) (one `curl`
per endpoint) · [`references/faq.md`](references/faq.md) ·
[`references/comparison.md`](references/comparison.md) (vs. the official
Instagram Graph API and a browser scraper)
- Task guides: [profile lookup](../../task-guides/instagram-profile-lookup.md) ·
[hashtag and location monitoring](../../task-guides/instagram-hashtag-and-location-monitoring.md)
- Slash command: [`/instagram-profile`](../../commands/instagram-profile.md)
- Full agent setup: <https://instagram.fetcher.sh/skill.md>
- OpenAPI 3.1 contract: <https://instagram.fetcher.sh/openapi.json>
- Condensed catalog: <https://instagram.fetcher.sh/llms.txt>
- Payment, credits, and MCP deep dive: [`fetcher` skill](../fetcher/SKILL.md)
- Site: <https://instagram.fetcher.sh>
© fetcher-sh · MIT · fetcher-sh/fetcher-skills