How to use it
- Hit Copy the whole skill.
- Claude: ⋯ → Download .md, then Customize → Skills → Add → Upload skill.
ChatGPT: make a Project and paste it into Instructions.
Neither? Paste it at the top of a new chat — it works for that chat. - Describe your job in plain words. The AI follows the skill from there.
Claude Code — installs the whole folder, not just SKILL.md
npx degit gooseworks-ai/goose-skills/skills/social/capabilities/instagram-scraper#main ~/.claude/skills/instagram-scraperFor one project only, change the path to .claude/skills/instagram-scraper.
Not working?
- Check which app you pasted it into — the steps above name the right one.
- Some skills need the paid tier of Claude or ChatGPT.
Paste into Claude, ChatGPT or Cursor.
Show the full text107 lines
Instagram Scraper
Setup
Read scrapecreators-api first. Execute every operation below through the runtime it selects: the GooseWorks MCP tool in terminal-free clients, the GooseWorks CLI in a local terminal, or the direct API with the user's own key. Never assume a shell is available.
Scrape public Instagram data including profiles, posts, and reels.
When to Use
- User asks about Instagram content
- User wants to see posts from an account
- Social media research
How It Works
Uses the ScrapeCreators API through its direct GooseWorks proxy.
Usage
Get User Profile & Posts
provider: scrapecreators
method: GET
path: /v1/instagram/profile
query:
handle: openai
Get Individual Post/Reel
provider: scrapecreators
method: GET
path: /v1/instagram/post
query:
url: https://instagram.com/p/abc123
Get Basic Profile by User ID
provider: scrapecreators
method: GET
path: /v1/instagram/basic-profile
query:
userId: "12345"
Parameters
Profile
- handle (required) - Instagram handle (without @)
- trim (optional) - Set to "true" for a trimmed response
Post/Reel
- url (required) - Instagram post or reel URL
- trim (optional) - Set to "true" for a trimmed response
Basic Profile
- userId (optional) - Instagram user ID
Response
Profile includes:
- Username, display name, bio
- Follower/following counts
- Recent posts with captions, URLs, engagement metrics
- Profile image
Post includes:
- Post caption
- Image/video URLs
- Like count
- Comment count
- Timestamp
Examples
User: "What's OpenAI posting on Instagram?"
Use the Get User Profile & Posts operation with handle: openai.
User: "Get details on this Instagram post" Use the Get Individual Post/Reel operation with the supplied post URL.
Error Handling
- success: false — the API may temporarily fail; retry after a few seconds
- Private accounts cannot be accessed — no workaround
- Rate limiting may cause failures on rapid requests — add delays between calls
Tips
- Private accounts cannot be accessed
- Remove @ from handles
- API may return errors for rate limiting - retry after a few seconds
| 1 | |
| 2 | name instagram-scraper |
| 3 | description Get Instagram profiles, posts, and reels |
| 4 | source scrapecreators |
| 5 | |
| 6 | |
| 7 | |
| 8 | # Instagram Scraper |
| 9 | |
| 10 | ## Setup |
| 11 | |
| 12 | Read `scrapecreators-api` first. Execute every operation below through the runtime it selects: the GooseWorks MCP tool in terminal-free clients, the GooseWorks CLI in a local terminal, or the direct API with the user's own key. Never assume a shell is available. |
| 13 | |
| 14 | |
| 15 | Scrape public Instagram data including profiles, posts, and reels. |
| 16 | |
| 17 | ## When to Use |
| 18 | |
| 19 | User asks about Instagram content |
| 20 | User wants to see posts from an account |
| 21 | Social media research |
| 22 | |
| 23 | ## How It Works |
| 24 | |
| 25 | Uses the ScrapeCreators API through its direct GooseWorks proxy. |
| 26 | |
| 27 | ## Usage |
| 28 | |
| 29 | ### Get User Profile & Posts |
| 30 | |
| 31 | |
| 32 | provider: scrapecreators |
| 33 | method: GET |
| 34 | path: /v1/instagram/profile |
| 35 | query: |
| 36 | handle: openai |
| 37 | |
| 38 | |
| 39 | ### Get Individual Post/Reel |
| 40 | |
| 41 | |
| 42 | provider: scrapecreators |
| 43 | method: GET |
| 44 | path: /v1/instagram/post |
| 45 | query: |
| 46 | url: https://instagram.com/p/abc123 |
| 47 | |
| 48 | |
| 49 | ### Get Basic Profile by User ID |
| 50 | |
| 51 | |
| 52 | provider: scrapecreators |
| 53 | method: GET |
| 54 | path: /v1/instagram/basic-profile |
| 55 | query: |
| 56 | userId: "12345" |
| 57 | |
| 58 | |
| 59 | ## Parameters |
| 60 | |
| 61 | ### Profile |
| 62 | **handle** (required) - Instagram handle (without @) |
| 63 | **trim** (optional) - Set to "true" for a trimmed response |
| 64 | |
| 65 | ### Post/Reel |
| 66 | **url** (required) - Instagram post or reel URL |
| 67 | **trim** (optional) - Set to "true" for a trimmed response |
| 68 | |
| 69 | ### Basic Profile |
| 70 | **userId** (optional) - Instagram user ID |
| 71 | |
| 72 | ## Response |
| 73 | |
| 74 | ### Profile includes: |
| 75 | Username, display name, bio |
| 76 | Follower/following counts |
| 77 | Recent posts with captions, URLs, engagement metrics |
| 78 | Profile image |
| 79 | |
| 80 | ### Post includes: |
| 81 | Post caption |
| 82 | Image/video URLs |
| 83 | Like count |
| 84 | Comment count |
| 85 | Timestamp |
| 86 | |
| 87 | ## Examples |
| 88 | |
| 89 | **User:** "What's OpenAI posting on Instagram?" |
| 90 | Use the **Get User Profile & Posts** operation with `handle: openai`. |
| 91 | |
| 92 | **User:** "Get details on this Instagram post" |
| 93 | Use the **Get Individual Post/Reel** operation with the supplied post URL. |
| 94 | |
| 95 | ## Error Handling |
| 96 | |
| 97 | **success: false** — the API may temporarily fail; retry after a few seconds |
| 98 | Private accounts cannot be accessed — no workaround |
| 99 | Rate limiting may cause failures on rapid requests — add delays between calls |
| 100 | |
| 101 | |
| 102 | ## Tips |
| 103 | |
| 104 | Private accounts cannot be accessed |
| 105 | Remove @ from handles |
| 106 | API may return errors for rate limiting - retry after a few seconds |
| 107 |
Discussion
Alternatives
Also in Posting & schedulingLinkedin comment drafterDraft a LinkedIn comment on someone else's post from its URL, or reshare (repost) it to your feed with optional commentary. Use when the user pastes a post URL and asks to comment, engage, be first commenter, or repost with their thoughts. Produces 1-3 variants in the user's voice, picks a reaction, and publishes via Publora on approval. Not for replying to existing comments (use linkedin-reply-handler).Linkedin content plannerGenerate a 7-day LinkedIn content plan from a theme, audience, and pillars. Produces per-day post pillar, format, hook type, CTA, posting time, daily comment targets, and a weekly inbound-readiness check. Use when the user wants to plan a week or month of content, not draft a single post (use linkedin-post-writer).Linkedin employee advocacyStand up and run a LinkedIn employee advocacy program for a marketing or sales team. Covers 14-day launch playbook, brand-guideline governance, per-post time budget, cadence benchmarks, and team ROI (reach, engagement, pipeline). Triggers on "employee advocacy", "get the team posting", "scale LinkedIn across team", "advocacy ROI". Not for planning one person's own calendar (use linkedin-content-planner).Instagram Audience InsightsRead your Instagram niche and profile from real data via Apify, no login. Scan a hashtag for the posts traveling now (likes, comments, owner) to see the format and hook that works. Pull profile stats for any handle, yours or a competitor's: followers, posts, bio, category. Instagram hides who liked or commented on other accounts, so this is discovery plus profiles, not engagers. Triggers on "what works in my niche", "scan the hashtag", "competitor stats". Not for writing captions (use ig-caption-writer).