Instagram Posts API
List the posts on an Instagram profile. Each post includes the caption, image or video link, like and comment counts, timestamp and, for videos, the view count. Page through older posts with `cursor`.
- Endpoint
- POST /instagram/user-posts
- Price
- 1 credit per result
- SDK
- client.instagram.getUserPosts()
- MCP tool
- instagram_user_posts
curl -X POST "https://api.bridgly.app/instagram/user-posts" \ -H "Authorization: Bearer $BRIDGLY_KEY" \ -H "Content-Type: application/json" \ -d '{ "username": "natgeo", "count": 10}'import osimport requestsresponse = requests.post( "https://api.bridgly.app/instagram/user-posts", headers={"Authorization": f"Bearer {os.environ['BRIDGLY_KEY']}"}, json={ "username": "natgeo", "count": 10, },)data = response.json()const response = await fetch("https://api.bridgly.app/instagram/user-posts", { method: "POST", headers: { Authorization: `Bearer ${process.env.BRIDGLY_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ "username": "natgeo", "count": 10 }),});const data = await response.json();import { Bridgly } from "@bridgly/sdk";const client = new Bridgly({ apiKey: "bgly_YOUR_KEY" });const res = await client.instagram.getUserPosts({ username: "natgeo", count: 10});if (res.type === "success") { console.log(res.data);}What does the Instagram Posts API return?
Instagram posts API: list any public account’s posts and reels by username, with caption, likes, comments, views, media URLs and publish time, as JSON. Every response has the same envelope: the result in data, plus timeMs and the creditsCost of the call.
Request body
usernamestringrequired- Instagram username, or the profile link, e.g. "instagram" or "https://www.instagram.com/instagram/"
countinteger · 1–10 · default 10- Number of results to return (1–10). Defaults to 10.
cursorstring- The previous response's `nextCursor`, to fetch the next page. Omit it for the first page.
Example response
{ "timeMs": 1840, "creditsCost": 1, "data": { "nextCursor": "string", "posts": [ { "id": "string", "shortcode": "string", "url": "string", "type": "Image", "display_url": "string", "video_url": "string", "caption": "string", "likes": 0, "comments": 0, "timestamp": 0, "is_video": true, "video_view_count": 0 } ] }}What can you build with the Instagram Posts API?
Measure engagement
Work out average likes and comments per post for an account.
Monitor brands
See what competitors and partners publish each week.
Collect content
Gather captions and media from accounts you analyze.
Instagram Posts API questions
How do I get an Instagram account’s posts?
Send the username. Each post comes back with caption, image or video link, like and comment counts, timestamp and, for videos, view count; send the nextCursor from the response back as cursor for older posts.
Does it include reels?
Yes. Reels and other videos are listed with the photos, with is_video set, a video URL and a view count.
How do I calculate an Instagram engagement rate?
Add up the likes and comments on an account’s recent posts, divide by the number of posts, then divide by the follower count from the Instagram Profile API.
How do I get all of an Instagram account’s posts?
Each response has a nextCursor. Until it is null, send it back as cursor to get the next batch of older posts.
How do I use the Instagram Posts API?
Send a POST request to https://api.bridgly.app/instagram/user-posts with username in the JSON body and your API key in the Authorization header. In the TypeScript SDK, call client.instagram.getUserPosts(). AI agents connected to Bridgly over MCP can call the instagram_user_posts tool.
How much does the Instagram Posts API cost?
Costs 1 credit per result returned, with a minimum of 1 credit per request. Credits cost $2.00 per 1,000 on pay-as-you-go and as low as $1.00 per 1,000 at volume. New accounts on a business email start with 100 free credits, and failed requests are never charged.
More Instagram endpoints
The same API key works on every endpoint. See all Instagram API endpoints.
- Instagram Followers API→Instagram followers API: export the followers of any public Instagram account, each with username, full name, profile picture and verified flag, as JSON.
- Instagram Following API→Instagram following API: list the accounts any public Instagram user follows, each with username, full name, profile picture and verified flag, as JSON.
- Instagram Post API→Instagram post API: get any public Instagram post or reel by its shortcode as JSON, with caption, likes, comments, views, media URLs and publish time.
- Instagram Comments API→Instagram comments API: export the comments on any public Instagram post or reel by shortcode, each with text, author, time and like count, as JSON.
Try the Instagram Posts API
100 free credits on business email, no card. Your first call takes a minute.