Sourcelane

Instagram Scraper All-in-One

Instagram

Operated by Sourcelane✓ verified

A unified Instagram scraping connector that extracts structured, keyword-rich data from profiles, posts, reels, hashtag feeds, search results, story highlights, tagged posts, reels by audio track, and video transcripts. It ingests target identifiers (user handles/profile URLs, post/reel URLs, hashtags, search keywords, audio IDs, highlight IDs) and produces normalized, flat records for profiles, posts/reels, highlights, highlight items, search results and transcripts; records include profile metadata and contact details, follower/following and post counts, post and reel metadata (captions, timestamps, engagement metrics, media and video URLs, play counts, durations, carousel media and tagged users), audio metadata for music/original sound and aggregates of hashtag or keyword feed items. The connector can generate speech-to-text transcripts for video content and can append the full upstream payload to each record when requested. Runs support per-target result limits, date-range filtering for feeds and reels, media-type filtering for hashtag results, and discovery of reels by audio usage.

Verified Sep 28, 3:55 AM

$0.002

per post or reel

Up to 100 per call. Only pay for results returned; failed calls are refunded.

What people use it for

Trust & reliability

7d uptime trend
WindowUptimeSuccess ratep50p95Calls
24h————0
7d————0
30d————0

Calling contract

Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.

Call it via Sourcelane

curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"instagram-scraper-all-in-one","params":{"scrapeType":"profile","maxItems":5},"maxResults":10}'

Request params

FieldTypeRequiredDescription
scrapeTypestringrequiredPick the type of data to extract, then fill in ONLY the input field named in brackets for that type.
usernamesarrayoptionalInstagram usernames or profile URLs, with or without @. Used by: Profile details, User posts, User reels, Tagged posts, Story highlights list.
postUrlsarrayoptionalFull URLs of Instagram posts or reels, e.g. https://www.instagram.com/p/ABC123/ or https://www.instagram.com/reel/ABC123/ (plain shortcodes also work). Used by: Post / Reel details, Video transcript.
queriesarrayoptionalKeywords to search for. Used by: Search, Search profiles, Search reels by keyword.
hashtagsarrayoptionalHashtags to scrape, with or without the # symbol. Used by: Hashtag posts.
highlightIdsarrayoptionalStory highlight IDs or highlight URLs (get IDs first with the 'Story highlights list' scrape type). Used by: Story highlight items.
audioIdsarrayoptionalInstagram audio IDs or audio page URLs (https://www.instagram.com/reels/audio/123.../). The audioId of any reel result works here. Used by: Reels using an audio.
maxItemsintegeroptionalMaximum number of results to return for each username, hashtag, query or audio. 0 = unlimited. Only applies to scrape types that return lists. Capped at 100 per call.
datePostedstringoptionalFilter results by recency. Used by: Hashtag posts and Search reels by keyword.
mediaTypestringoptionalWhich media to return for Hashtag posts: everything, or reels only.
includeRawDatabooleanoptionalAdd every field Instagram exposes for each result under the 'raw' field, including ones left out of the standard output.

Each result contains

FieldTypeDescription
typestringType
idstringId
titlestring—
coverUrlstring—
mediaCountinteger—
usernamestringUsername
urlstringUrl

Use Instagram Scraper All-in-One from Claude, ChatGPT or Cursor

Pick your tool and connect in under a minute. Then just ask — for example: “Pull the last 20 posts from @natgeo and tell me which formats get the most engagement.”

Connect Claude

Web, desktop and mobile. Paste one URL.

  1. 1Copy your personal connector URL
  2. 2In Claude open Settings → Connectors → Add custom connector
  3. 3Paste the URL and click Add — done
Manual setup (config files, REST, Python) +

Claude Code

Adds the Sourcelane MCP server with your key as a header.

terminal
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
  --header "Authorization: Bearer sl_live_your_agent_key"

Claude Desktop (config file)

Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.

claude_desktop_config.json
{
  "mcpServers": {
    "sourcelane": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-remote",
        "https://api.usesourcelane.com/mcp",
        "--header",
        "Authorization:${AUTH_HEADER}"
      ],
      "env": {
        "AUTH_HEADER": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

Cursor & Windsurf

Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).

mcp.json
{
  "mcpServers": {
    "sourcelane": {
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer sl_live_your_agent_key"
      }
    }
  }
}

VS Code

Save as .vscode/mcp.json. VS Code prompts for your key once.

.vscode/mcp.json
{
  "servers": {
    "sourcelane": {
      "type": "http",
      "url": "https://api.usesourcelane.com/mcp",
      "headers": {
        "Authorization": "Bearer ${input:sourcelane-key}"
      }
    }
  },
  "inputs": [
    {
      "type": "promptString",
      "id": "sourcelane-key",
      "description": "Sourcelane agent key",
      "password": true
    }
  ]
}

ChatGPT Custom GPT (Actions)

Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.

OpenAPI schema URL
https://usesourcelane.com/openapi.json

REST

One POST. Pass maxResults to cap cost.

curl
curl -X POST https://api.usesourcelane.com/v1/call \
  -H "Authorization: Bearer sl_live_your_agent_key" \
  -H "Content-Type: application/json" \
  -d '{"listing":"instagram-scraper-all-in-one","params":{"scrapeType":"profile","maxItems":5},"maxResults":10}'

Python, LangChain, CrewAI, OpenAI Agents SDK…

Wrap the REST call as a tool, or point an MCP client at the endpoint.

python
import requests

res = requests.post(
    "https://api.usesourcelane.com/v1/call",
    headers={"Authorization": "Bearer sl_live_your_agent_key"},
    json={
        "listing": "instagram-scraper-all-in-one",
        "params": {"scrapeType":"profile","maxItems":5},
        "maxResults": 10,
    },
    timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])

Reviews

—

0 reviews

5
0
4
0
3
0
2
0
1
0

Leave a review

Loading reviews…