Skip to content
OpenSmartRoute
Skillv1.0.0

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 profi

by aiskillstore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from aiskillstore/marketplace (skills/fetcher-sh/instagram-api/SKILL.md). Install upstream with npx skills add aiskillstore/marketplace --skill instagram-api. Copyright stays with the author.

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.

Authentication

Two ways to pay, same data — full mechanics in the fetcher skill:

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

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/aiskillstore-marketplace-instagram-api/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

aiskillstore-marketplace-instagram-api.ocm.jsonjson
{
  "ocm": "1",
  "id": "aiskillstore-marketplace-instagram-api",
  "kind": "skill",
  "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.",
  "publisher": "aiskillstore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "instagram",
      "instagram-api",
      "instagram-api-alternative",
      "ig-api",
      "social-media",
      "social-listening",
      "hashtag-tracking",
      "x402",
      "ai-agent"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "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."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/aiskillstore/marketplace",
      "path": "skills/fetcher-sh/instagram-api/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/aiskillstore/marketplace/blob/HEAD/skills/fetcher-sh/instagram-api/SKILL.md",
      "key": "aiskillstore/marketplace/skills/fetcher-sh/instagram-api/SKILL.md"
    }
  },
  "instructions": "# Instagram API\n\nInstagram data on demand: profile lookup by @handle, posts, reels, stories,\ntagged posts, followers and followings, hashtag and location feeds, audio/music\nfeeds, and post comments — one plain HTTP GET per call, paid as you go. No\nlogin, no session cookies, no headless browser, no Graph API business\nverification.\n\nBase URL: `https://instagram.fetcher.sh`\n\n## Quick reference\n\n| | |\n| --- | --- |\n| Base URL | `https://instagram.fetcher.sh` |\n| Auth | `Authorization: Bearer bby_live_...` or x402 (USDC) |\n| Price | $0.004/call (flat) |\n| Endpoints | 16, all `GET` |\n| MCP | `https:",
  "cost": {
    "context_tokens": 1860
  }
}

Fetch it by URL: GET /api/v1/registry/aiskillstore-marketplace-instagram-api/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.