All endpoints
Instagram Posts

Instagram Posts API

Search Instagram posts by keyword. Returns post content, engagement metrics (likes, comments, shares, views), author metadata, and publication date. Supports fetching multiple pages of results in a single API call.

Price: $0.006 per page
Free tier: 50 requests/month
Endpoint
GET /v1/instagram/posts

Parameters

query *
Search keyword (max 500 characters)
pages
Number of pages to fetch, 1-10 (default: 1)
get_sentiment
Set to true to add AI emotion analysis (+$0.001/page)

Response fields

posts
Array of matching posts
title
Post title (format: @username on Instagram)
url
Direct link to the post
date
Publication date and time
author
Instagram username
source
Platform name (Instagram)
domain
instagram.com
snippet
Post caption text
likes
Number of likes
comments
Number of comments
shares
Number of shares
reposts
Number of reposts
views
Number of views/plays (null for image posts)
is_video
Whether the post is a video
media_type
Post type (e.g., feed, clips)
author_verified
Whether the author is verified
author_name
Author's display name
hashtags
Hashtags used in the caption
mentions
Usernames mentioned in the caption
sentiment
Emotion analysis: emotions, dominant_emotion, emotional_intensity, polarity (when get_sentiment=true)
pages
Number of pages fetched
count
Total results returned

Example Request

curl "https://apidirect.io/v1/instagram/posts?query=technology&pages=2" \
  -H "X-API-Key: YOUR_API_KEY"

Example Response

{
  "posts": [
    {
      "title": "@mrbeast on Instagram",
      "url": "https://instagram.com/p/DSDh2qaEVmQ",
      "date": "2025-12-09 20:16:58",
      "author": "mrbeast",
      "source": "Instagram",
      "domain": "instagram.com",
      "snippet": "How Many People Does it Take to Pull a Plane w/ @saudi_airlines",
      "likes": 530176,
      "comments": 5608,
      "shares": 9536,
      "reposts": 4353,
      "views": 29667777,
      "is_video": true,
      "media_type": "clips",
      "author_verified": true,
      "author_name": "MrBeast",
      "hashtags": [],
      "mentions": ["saudi_airlines"],
      "sentiment": {
        "emotions": {
          "joy": 40,
          "trust": 55,
          "fear": 0,
          "surprise": 10,
          "sadness": 0,
          "disgust": 0,
          "anger": 0,
          "anticipation": 30
        },
        "dominant_emotion": "trust",
        "emotional_intensity": 5,
        "polarity": "positive"
      }
    }
  ],
  "pages": 2,
  "count": 20
}

Frequently asked questions

How fresh is the Instagram data?

Our Instagram Posts API provides real-time data from Instagram, with results going back multiple years to a few seconds ago.

Does this include Instagram Reels?

Yes, the API returns both feed posts and Reels. You can use the media_type field to distinguish between them (clips for Reels, feed for regular posts).

What engagement data is included?

Each post includes likes, comments, shares, reposts, and views (for video posts). You also get author metadata like verification status and display name. Views are null for image-only posts.

How does pricing work?

You only pay for successful requests. The Instagram Posts API costs $0.006 per page. There are no monthly fees or commitments. You get 50 free requests per endpoint every month.

Do I need a credit card to start?

No. You can sign up and use the free tier (50 requests/endpoint/month) without adding a payment method. You only need to add a card when you want to exceed the free tier.

Are there rate limits?

Yes, there's a concurrency limit of 3 simultaneous requests per endpoint per user. If you need more, just get in touch.

Start using the Instagram Posts API

Get your API key and start making requests in minutes. 50 requests/month free every month.

Get API Key