Back to Blog
General

Instagram Post Info API: Get Detailed Data from Any Post or Reel

February 3, 2026
4 min read
S
By SociaVault Team
instagrampost infoapiinstagram data

Instagram Post Info API: Extract Complete Post Details

Need detailed information about a specific Instagram post or Reel? The Post Info API returns comprehensive data including engagement metrics, media URLs, and metadata.

What Data Can You Extract?

FieldDescription
Post IDUnique identifier
ShortcodeURL-friendly code
TypePhoto, Video, Carousel, Reel
CaptionFull post text
HashtagsUsed hashtags
LikesLike count
CommentsComment count
ViewsView count (videos/reels)
Media URLsImage/video URLs
AuthorCreator profile info
LocationTagged location
AudioSound info (reels)
TimestampWhen posted
Tagged UsersMentioned accounts

Using the Post Info API

const response = await fetch('https://api.sociavault.com/instagram/post-info', {
  method: 'POST',
  headers: {
    'Authorization': 'Bearer YOUR_API_KEY',
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    url: 'https://www.instagram.com/p/ABC123xyz/'
  })
});

const postInfo = await response.json();

Sample Response

{
  "id": "3123456789012345678",
  "shortcode": "ABC123xyz",
  "type": "carousel",
  "caption": "Amazing day at the beach 🌊 #summer #travel",
  "hashtags": ["summer", "travel"],
  "likes": 125000,
  "comments": 2800,
  "views": null,
  "media": [
    {
      "type": "image",
      "url": "https://...",
      "width": 1080,
      "height": 1350
    },
    {
      "type": "image",
      "url": "https://...",
      "width": 1080,
      "height": 1350
    }
  ],
  "author": {
    "username": "travel_creator",
    "fullName": "Travel Creator",
    "followers": 850000,
    "verified": true
  },
  "location": {
    "name": "Malibu Beach",
    "id": "123456789"
  },
  "timestamp": "2026-01-08T16:30:00Z",
  "taggedUsers": ["friend_account"]
}

Reel Response Example

Reels include additional audio information:

{
  "id": "3123456789012345678",
  "shortcode": "ABC123xyz",
  "type": "reel",
  "caption": "Dance challenge 💃 #viral",
  "likes": 450000,
  "comments": 5200,
  "views": 2500000,
  "plays": 3100000,
  "media": [
    {
      "type": "video",
      "url": "https://...",
      "duration": 30
    }
  ],
  "audio": {
    "id": "844716519067330",
    "title": "Trending Dance Song",
    "artist": "Artist Name",
    "usageCount": 125000
  },
  "author": {
    "username": "dance_creator",
    "followers": 1200000,
    "verified": true
  },
  "timestamp": "2026-01-08T18:00:00Z"
}

Use Cases

Engagement Analysis

Calculate engagement rate for specific posts:

const postInfo = await getPostInfo(url);

const engagementRate = (
  (postInfo.likes + postInfo.comments) / postInfo.author.followers
) * 100;

console.log(`Engagement rate: ${engagementRate.toFixed(2)}%`);

Track Viral Content

Monitor post performance over time:

async function trackPost(url) {
  const info = await getPostInfo(url);
  
  await saveSnapshot({
    postId: info.id,
    likes: info.likes,
    comments: info.comments,
    views: info.views,
    timestamp: new Date()
  });
}

// Track every hour
setInterval(() => trackPost(targetUrl), 60 * 60 * 1000);

Extract Media for Archival

Download post images/videos:

const postInfo = await getPostInfo(url);

for (const media of postInfo.media) {
  const response = await fetch(media.url);
  const buffer = await response.arrayBuffer();
  
  const extension = media.type === 'video' ? 'mp4' : 'jpg';
  await fs.writeFile(`post_${postInfo.shortcode}_${index}.${extension}`, Buffer.from(buffer));
}

Analyze multi-image posts:

const postInfo = await getPostInfo(url);

if (postInfo.type === 'carousel') {
  console.log(`This carousel has ${postInfo.media.length} slides`);
  
  const imageCount = postInfo.media.filter(m => m.type === 'image').length;
  const videoCount = postInfo.media.filter(m => m.type === 'video').length;
  
  console.log(`${imageCount} images, ${videoCount} videos`);
}

Frequently Asked Questions

Can I use the post shortcode instead of URL?

Yes, you can construct the URL from the shortcode: https://www.instagram.com/p/{shortcode}/

What's the difference between views and plays for Reels?

Views typically count unique viewers, while plays count total playbacks (including repeats).

Can I get data from private account posts?

No, only publicly accessible posts can be scraped. Private accounts restrict access.

Are Instagram Stories supported?

No, Stories are temporary and handled differently. Use the Highlights endpoint for saved story content.

The media array is returned in the order displayed in the carousel, from first to last slide.

Get Started

Sign up free and start extracting Instagram post data.

API documentation: /docs/api-reference/instagram/post-info

Found this helpful?

Share it with others who might benefit

Ready to Try SociaVault?

Start extracting social media data with our powerful API. No credit card required.