Name a hashtag and how many posts you want. RouterGrowth fetches the public Instagram posts under it and returns them as records: caption, date, likes, replies, post URL and author. No browser to keep alive, no proxy pool, no login to burn, and no code to fix when Instagram changes its pages.
Ask your agent
Scrape 30 posts under #plantbasedrecipes and list the brand accounts among the authors.
Connect RouterGrowth once, then ask in plain words. New workspaces start with $1 of credit. Get a key or read the setup guide.
A real run
One call to social.search (social post search), run through RouterGrowth on October 19, 2026. These are the first rows it returned; fields that name a person are masked.
| created_at | text | likes | replies |
|---|---|---|---|
| 2026-10-19 | 🚨 50c OFF BEYOND MINCE! 🚨 That’s your sign to try something delicious! 👀 Turn Beyond Mince into these golden, crispy empanadas: packed with… | 0 | 0 |
| 2026-10-19 | Vegan Cheesy Herb Crackers 🧀 Your new favourite snack! Crispy, herby and full of cheesy flavour, made with our Nutritional Yeast and Extra… | 3 | 1 |
| 2026-10-19 | On our menu for delivery 28-31 Oct: red curry noodle soup with tofu and Thai basil (high protein, no added gluten). An easy, Thai-inspired… | 4 | 1 |
Five posts tagged #plantbasedrecipes, all published the morning of the run: a supermarket promotion, a brand recipe and a meal delivery menu.
Step by step
Add RouterGrowth to Claude, Cursor or Claude Code. There is nothing to install for the scraping itself.
On Instagram, social.search searches hashtags, so pass the tag (with or without #) and a limit.
Providers, retries and blocks are handled on the RouterGrowth side. A failed provider falls back to the next one under your max_cost.
Pass the authors you want to social.profile for followers, bio and website, or to social.posts for their own feed.
Price
List prices on Instagram, read from the catalog when this page was built. The exact figure is quoted before every run, and a monthly plan lowers it.
In practice
You describe the job; the agent picks the calls, shows the price and runs them.
Scrape 30 posts under #plantbasedrecipes and list the brand accounts among the authors.
Find who posts under #veganmealprep this week and give me the followers and website of the ten most active accounts.
Connect
One MCP server for Claude, ChatGPT, Claude Code, Codex and Cursor, or the same call over the CLI and REST with the input above.
claude mcp add --transport http routergrowth https://api.routergrowth.com/mcp
npm install -g routergrowth && routergrowth setup
routergrowth run -c social.search -i '{"platform": "instagram", "query": "#plantbasedrecipes", "limit": 5}'curl -X POST https://api.routergrowth.com/v1/run \
-H "Authorization: Bearer $ROUTERGROWTH_API_KEY" \
-d '{"capability": "social.search", "input": {"platform": "instagram", "query": "#plantbasedrecipes", "limit": 5}}'Worth knowing
Instagram search here is by hashtag. A phrase with spaces is not a caption search; use one tag per call.
This run returned posts from the same morning. For a tag's older posts, raise the limit and filter by created_at.
There is no scraper code on your side. When Instagram changes, the provider side changes, and the record fields stay the same.
FAQ
No. The fetch runs on RouterGrowth's providers. You never hand over an Instagram account to scrape with.
On Instagram the query is matched as a hashtag. For a phrase, pick the hashtag people use for it.
Post URL, caption text, created_at, author, likes, replies and an is_video flag.
Blocks are handled by the providers and the router's fallback. A run that ends without results is not charged.
More on Instagram
Reading this as an agent? This page as markdown: /tools/instagram/scraper.md
Connect your agent once. The first calls run on the $1 that comes with signup.