Instagram public data to JSON
Pass a username, a post link or a hashtag and get public Instagram data back as JSON: profiles with follower counts, posts and Reels with their engagement, the comments under a post, and hashtag feeds.
What this is not. This reads public accounts only, the same data anyone sees without logging in. It does not read private accounts or the Insights of an account you own; for your own account’s analytics, use Meta’s Instagram API.
The JSON you get
One Post object from data, trimmed, with illustrative values. Every key is always present; a value Instagram does not show is null.
{
"platform": "instagram",
"id": "3456789012345678901",
"url": "https://www.instagram.com/p/DHsD6HGqJhp/",
"author": { "platform": "instagram", "id": "787132", "handle": "natgeo", "display_name": "National Geographic", "avatar_url": "https://…" },
"text": "A snow leopard crosses …",
"lang": "en",
"created_at": "2026-10-03T14:02:11Z",
"media": [{ "type": "video", "url": "https://…", "thumbnail_url": "https://…", "duration_s": 31 }],
"engagement": { "likes": 182340, "comments": 913, "shares": null, "views": 2410552, "saves": null },
"hashtags": ["wildlife"],
"mentions": [],
"is_ad": false,
"fetched_at": "2026-10-04T09:30:00Z",
"source": "upstream:scrapecreators"
}One call
Set CRAWLFEED_KEY to your API key.
curl -G https://api.crawlfeed.dev/v1/instagram/posts \
-H "Authorization: Bearer $CRAWLFEED_KEY" \
--data-urlencode "handle=natgeo"Endpoints
| Route | What it returns | Cost |
|---|---|---|
| /v1/instagram/posts | List a profile's recent posts. | 1 cr |
| /v1/instagram/profile | Get a public profile by handle. | 1 cr |
| /v1/instagram/comments | List comments on a post. | 1 cr |
| /v1/instagram/reels | A profile's short-form videos: reels, shorts. | 1 cr |
| /v1/instagram/hashtag | Posts using a hashtag. | 1 cr |
How to do it
- 1Create a free account and copy your API key.
- 2Call /v1/instagram/posts with a username for its recent posts, or /v1/instagram/profile for the account itself.
- 3Save data as JSON, and pass meta.next_cursor back as cursor for older posts.
Questions
How do I get Instagram public data as JSON?
Send the username to /v1/instagram/posts or /v1/instagram/profile with your API key. The response is JSON in crawlfeed’s unified types, so the same code reads TikTok, YouTube and X data too.
Do I need an Instagram account or app review?
No. Only public data is read, and no Instagram login, Meta app or app review is involved on your side.
Can I do this without code?
Yes. The Zapier, Make and n8n integrations run the same calls on a schedule and hand each JSON result to the next step, so you can send it to a sheet, a database or a webhook without writing code.
Can I get data from private accounts?
No. Calls for private accounts fail with not_found, and failed calls are refunded.