Operated by Sourcelane✓ verified
Scrape Instagram profiles, posts, reels, tagged posts, hashtags, search results, story highlights, reels by audio and video transcripts from one connector.
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.
Influencer discovery
Search profiles by keyword and extract follower counts and contact details for outreach lists
Competitor tracking
Scrape competitor posts and reels repeatedly to monitor engagement over time
Content research
Identify top-performing reels for a hashtag or keyword to inform campaign planning
Audio trend spotting
Collect every reel using a trending sound to analyze creator usage and spread
Video SEO and repurposing
Transcribe reels into captions, blog content or subtitles
Lead generation
Gather business accounts with publicly listed emails and phone numbers from hashtag and search results
Pick the type of data to extract, then fill in ONLY the input field named in brackets for that type.
Instagram usernames or profile URLs, with or without @.
Full URLs of Instagram posts or reels, e.g.
Keywords to search for.
Hashtags to scrape, with or without the # symbol.
Story highlight IDs or highlight URLs.
Instagram audio IDs or audio page URLs.
Optional settings
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
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
| Field | Type | Required | Description |
|---|---|---|---|
scrapeType | string | required | Pick the type of data to extract, then fill in ONLY the input field named in brackets for that type. |
usernames | array | optional | Instagram usernames or profile URLs, with or without @. Used by: Profile details, User posts, User reels, Tagged posts, Story highlights list. |
postUrls | array | optional | Full 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. |
queries | array | optional | Keywords to search for. Used by: Search, Search profiles, Search reels by keyword. |
hashtags | array | optional | Hashtags to scrape, with or without the # symbol. Used by: Hashtag posts. |
highlightIds | array | optional | Story highlight IDs or highlight URLs (get IDs first with the 'Story highlights list' scrape type). Used by: Story highlight items. |
audioIds | array | optional | Instagram 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. |
maxItems | integer | optional | Maximum 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. |
datePosted | string | optional | Filter results by recency. Used by: Hashtag posts and Search reels by keyword. |
mediaType | string | optional | Which media to return for Hashtag posts: everything, or reels only. |
includeRawData | boolean | optional | Add every field Instagram exposes for each result under the 'raw' field, including ones left out of the standard output. |
Each result contains
| Field | Type | Description |
|---|---|---|
type | string | Type |
id | string | Id |
title | string | — |
coverUrl | string | — |
mediaCount | integer | — |
username | string | Username |
url | string | Url |
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. One click, then confirm.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://api.usesourcelane.com/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"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"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://api.usesourcelane.com/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"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
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://usesourcelane.com/openapi.jsonOne POST. Pass maxResults to cap cost.
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}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
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"])—
0 reviews
Leave a review
Loading reviews…