# Scrape a brand's Instagram posts with captions and engagement, no setup

Give your agent a brand's Instagram handle. RouterGrowth scrapes its recent public posts and returns each one as a row: link, caption, date, likes, replies, views when the post is a video, and an is_video flag to split photos from video. No browser automation, no session cookies, no blocks to work around.

HTML page: https://www.routergrowth.com/tools/instagram/posts-scraper
Part of: [Instagram tools](https://www.routergrowth.com/tools/instagram.md)

## The call

[`social.posts`](https://www.routergrowth.com/catalog/social.posts): Recent public posts for a social handle.

Price on this network: $0.004025 per post, $0.002 minimum a call. The exact quote is shown before every run.

## What a real run returned

Run on 2026-10-19: 5 records in 12.8 s for $0.020125. Personal fields are masked. Five recent posts from Away's public account during a bag collection launch: photos with likes and replies, videos with views as well.

| created_at | text | likes | replies | views | is_video |
|---|---|---|---|---|---|
| 2026-10-10 | The details you notice when you need them. Padded laptop pockets. Trolley sleeves. Water-repellent fabric. Extra-comfortable straps. Though… | 165 | 3 | None | False |
| 2026-10-14 | The perfect bag serves a million different moments. Explore the Signature Bag Collection. The Signature Tote in Dune Taupe | 136 | 4 | None | False |
| 2026-10-13 | Your bag has a pocket problem. We’re trying to solve it.… | 200 | 4 | 4621 | True |

## How to do it

1. **Connect RouterGrowth.** Add the MCP server to Claude, Cursor or Claude Code. The scraping runs on RouterGrowth's side.
2. **Name the account.** Give the handle or the profile URL and how many posts to read. social.posts returns them with their dates; the order is not strictly by date, so sort on created_at when it matters.
3. **Sort what came back.** Ask for videos only, posts above a reply count, or captions that mention a product. The agent filters the rows it holds.
4. **Go under the post.** Pass a post URL to social.comments to read what people said on it.

## Ask it like this

- Scrape the last 20 posts from these three luggage brands and tell me which formats get the most replies. (`social.posts`)
- Take the Away post with the most replies this month and summarise its comments. (`social.posts`, `social.comments`)
- Find posts tagged #carryon this week and list the brands posting under it. (`social.search`)

## Connect

MCP server: `https://api.routergrowth.com/mcp`

```bash
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
```

```bash
npm install -g routergrowth && routergrowth setup
routergrowth run -c social.posts -i '{"platform": "instagram", "handle": "away", "limit": 5}'
```

```bash
curl -X POST https://api.routergrowth.com/v1/run \
  -H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
  -d '{"capability": "social.posts", "input": {"platform": "instagram", "handle": "away", "limit": 5}}'
```

## Worth knowing

- **Photos and videos together.** The feed comes back mixed. is_video separates them, and views are filled on video posts only.
- **Captions, not media files.** The scraper returns the post link and its caption, not the image or video file.
- **No upkeep.** There is no scraper to patch when Instagram changes its markup. The router swaps providers behind the same fields.

## Questions

### Does it scrape reels?

Video posts in the feed come back with is_video set to true and a view count. The output does not label a separate reel type.

### How many posts can I scrape per call?

Set the limit you need. Start small, check the rows, then raise it for the full history you want.

### Do I need an Instagram account?

No. Only public posts are read and no login is used.

### Can I export the posts?

Ask the agent for a CSV or a table, or save them to a workspace table to enrich later.

## Related

- [Scrape the posts under an Instagram hashtag without running a scraper](https://www.routergrowth.com/tools/instagram/scraper.md)
- [Scrape a brand's Instagram profile into one clean record](https://www.routergrowth.com/tools/instagram/profile-scraper.md)
- [Scrape the comments under a brand's Instagram post](https://www.routergrowth.com/tools/instagram/comment-scraper.md)
- [What reading Instagram posts costs: a quote before, a charge per post after](https://www.routergrowth.com/tools/instagram/api-costs.md)
- [Call Instagram post data from a Python script with requests](https://www.routergrowth.com/tools/instagram/api-python.md)
- [Read any public Instagram brand feed through one REST or MCP call](https://www.routergrowth.com/tools/instagram/api.md)
