Public Instagram data · JSON API

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.

json
{
  "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

RouteWhat it returnsCost
/v1/instagram/postsList a profile's recent posts.1 cr
/v1/instagram/profileGet a public profile by handle.1 cr
/v1/instagram/commentsList comments on a post.1 cr
/v1/instagram/reelsA profile's short-form videos: reels, shorts.1 cr
/v1/instagram/hashtagPosts using a hashtag.1 cr

How to do it

  1. 1Create a free account and copy your API key.
  2. 2Call /v1/instagram/posts with a username for its recent posts, or /v1/instagram/profile for the account itself.
  3. 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.

Read next