# Scrape a brand's Instagram profile into one clean record

Pass an Instagram handle. RouterGrowth scrapes the public profile and returns one record: followers, bio, verified badge, the bio link and every listed link, the brand's own domain with link hubs left out, the business flag, and a public email when the profile shows one.

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

## The call

[`social.profile`](https://www.routergrowth.com/catalog/social.profile): Public profile data for a social handle: name, followers, bio, verified, plus the bio link, every listed link, the person's own domain (link hubs such as Linktree excluded), a public or business email when the profile exposes one, profile URL, business flag, category and location when the platform provides them.

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

## What a real run returned

Run on 2026-10-19: 1 records in 8.8 s for $0.004025. Personal fields are masked. The public Parachute Home profile: about 555k followers, verified, a business account, four links in the bio and its domain resolved. No email was exposed on this profile.

| name | followers | verified | bio | domain | is_business |
|---|---|---|---|---|---|
| PA*** | 554978 | True | Land softly. | parachutehome.com | True |

## How to do it

1. **Connect once.** Add RouterGrowth to your agent over MCP, or call it from the CLI or REST.
2. **Give the handle.** Pass the handle or the profile URL with platform instagram. One profile per call.
3. **Use the domain.** The domain field is what the next step needs: company.enrich for size and industry, or a list of brands to match against.
4. **Batch a list.** Give the agent 50 handles and it runs them one by one, keeping the records in a table.

## Ask it like this

- For these 40 home goods brands on Instagram, give me followers, verified status and their website domain. (`social.profile`)
- Take the domains from these Instagram profiles and tell me each company's size and HQ country. (`social.profile`, `company.enrich`)

## 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.profile -i '{"platform": "instagram", "handle": "parachutehome"}'
```

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

## Worth knowing

- **Link hubs left out.** When a bio points to a link hub, domain is the brand's own site from the listed links, not the hub.
- **Email only when shown.** A public or business email comes back only if the profile exposes one. Parachute's did not.
- **Charged on a match.** social.profile is billed when a profile is found. A handle that does not exist costs nothing.

## Questions

### What fields does the profile include?

Name, handle, followers, bio, verified, bio link and every listed link, domain, profile URL, business flag, and category and email when Instagram provides them.

### Does it return the follower list?

No. It returns the follower count, not who the followers are.

### Can I scrape private profiles?

No. Only what a public profile shows to a logged-out visitor.

### Is this good for building a brand list?

Yes for brands: the domain and business flag let the agent match profiles to companies and enrich them.

## 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 posts with captions and engagement, no setup](https://www.routergrowth.com/tools/instagram/posts-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)
