fetcher-sh/fetcher-skills

instagram-api

>- 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 specifi…

All-time #3499 Trending #2292 Hot #5084 First seen Aug 12, 2026
8-week activity · all time api

Installation

$ npx skills add fetcher-sh/fetcher-skills --skill instagram-api

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from fetcher-sh/fetcher-skills · top by installs.

npx skills add fetcher-sh/fetcher-skills

Browse all from fetcher-sh/fetcher-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Also listed on

Alternate registries and mirrors of this skill.

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 8,449 B
  • docs SUMMARY.md 766 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 3,937 installs

SKILL.md

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 bbylive... 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):

# 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:

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:

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):

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:

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:

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:

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

{
  "mcpServers": {
    "instagram": {
      "url": "https://instagram.fetcher.sh/mcp",
      "headers": { "Authorization": "Bearer bby_live_..." }
    }
  }
}

Free: searchendpoints, describeendpoint, checkbalance. Paid: fetchdata (any endpoint above), topupcredits, plus the named shortcut instagramuser_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)