The Complete Instagram Data API

8 endpoints for profiles, posts, reels, comments, likes, followers, and content search. No Instagram login, no Facebook Business verification, no Graph API complexity. One API key, structured JSON.

8 dedicated endpoints No Instagram account or Facebook app required Profiles / posts / reels / stories / comments / likes / followers Content search by keyword and hashtag

Instagram's Official API Is Designed to Keep You Out

The Instagram Graph API requires a Facebook Business account, an approved app, and OAuth tokens that expire every 60 days. Even after jumping through those hoops, you only get access to your own account's data. Want competitor profiles, influencer metrics, or hashtag research? Not available through official channels.

The Basic Display API was deprecated in 2024. The Graph API restricts access to business and creator accounts that have explicitly connected to your app. For anyone building influencer analytics, brand monitoring, competitive intelligence, or e-commerce research tools, Meta's official options are a dead end.

Third-party scraping tools break constantly. Instagram changes its frontend weekly, rotates authentication patterns, and aggressively blocks automated access. Every tool that relies on browser automation or session cookies faces the same maintenance treadmill: fix, deploy, break, repeat.

Anysite provides a stable API layer over Instagram's public data. Eight endpoints cover profiles, posts, reels, stories, comments, likes, followers, and content search. No Instagram account needed. No Facebook app review. No browser automation. You send an API request and get back structured JSON.

Eight Endpoints for Complete Instagram Coverage

Every public data surface on Instagram, accessible via a single API key.

Endpoint Method Description Cost Page Size
/api/instagram/user GET Profile data: bio, followers, posts count, profile picture, external URL 1 credit 1 profile
/api/instagram/user/posts GET User posts with captions, likes, comments, media URLs 1 credit / page 12 posts
/api/instagram/user/reels GET Reels and stories with view counts, engagement, and media 1 credit / page 12 reels
/api/instagram/user/friendships GET Followers and following lists with profile metadata 1 credit / page 50 users
/api/instagram/post GET Single post details: caption, media, engagement, author 1 credit 1 post
/api/instagram/post/comments GET Post comments with commenter info and timestamps 1 credit / page 20 comments
/api/instagram/post/likes GET Users who liked a post with profile metadata 1 credit / page 50 users
/api/instagram/search/posts GET Search posts by keyword or hashtag across Instagram 1 credit / page 20 posts

Common Workflows

Production-ready examples combining multiple endpoints.

Influencer Vetting Pipeline

Pull profile data, recent posts, and follower lists to compute engagement rate and audience quality.

pipeline.yaml
name: influencer-vetting
steps:
  - source: instagram/user
    params:
      user: target_influencer
    output: profile

  - source: instagram/user/posts
    params:
      user: target_influencer
      count: 12
    output: recent_posts

  - source: instagram/user/friendships
    params:
      user: target_influencer
      type: followers
      count: 50
    output: follower_sample

  - compute:
      engagement_rate: "avg(recent_posts.likes + recent_posts.comments) / profile.followers * 100"
      fake_follower_ratio: "count(follower_sample where posts_count == 0) / len(follower_sample)"

Competitor Content Tracking

Monitor competitor posting frequency, engagement trends, and content themes.

Python
import requests

API_KEY = "YOUR_API_KEY"
BASE = "https://api.anysite.io"
headers = {"access-token": API_KEY}

competitors = ["brand_a", "brand_b", "brand_c"]

for brand in competitors:
    # Get profile for follower count
    profile = requests.get(
        f"{BASE}/api/instagram/user",
        headers=headers, params={"user": brand}
    ).json()

    # Get recent posts for engagement
    posts = requests.get(
        f"{BASE}/api/instagram/user/posts",
        headers=headers, params={"user": brand, "count": 12}
    ).json().get("posts", [])

    if posts:
        avg_likes = sum(p["likes"] for p in posts) / len(posts)
        avg_comments = sum(p["comments"] for p in posts) / len(posts)
        eng_rate = (avg_likes + avg_comments) / profile["followers"] * 100
        print(f"{brand}: {profile['followers']:,} followers, {eng_rate:.2f}% engagement")

Hashtag Research

Search posts by hashtag and analyze top-performing content.

CLI
# Search posts by hashtag
anysite instagram search posts --keywords "#sustainablefashion" --count 20

# Pipe results to jq for analysis
anysite instagram search posts --keywords "#sustainablefashion" --count 20 \
  | jq '[.posts[] | {user: .author.username, likes: .likes, comments: .comments}] | sort_by(-.likes)'

# Export top posts to CSV
anysite instagram search posts --keywords "#sustainablefashion" --count 20 --format csv > hashtag_results.csv

E-Commerce Product Intelligence

Track product mentions, UGC campaigns, and competitor product launches.

pipeline.yaml
name: product-intelligence
schedule: "0 9 * * *"
steps:
  - source: instagram/search/posts
    params:
      keywords: "#yourbrand OR @yourbrand"
      count: 20
    output: brand_mentions

  - source: instagram/search/posts
    params:
      keywords: "#competitorbrand"
      count: 20
    output: competitor_mentions

  - filter:
      min_likes: 50

  - output:
      format: json
      path: ./data/product-intel-Apr 9, 2026.json

How Anysite Compares

Instagram data extraction tools compared.

Feature Anysite Instagram Graph API Apify PhantomBuster Instaloader
Account required No Facebook Business + approved app No Instagram login cookie Instagram login
Public profile data Any public profile Connected accounts only Any public profile Any public profile Any public profile
Posts + engagement Full captions, likes, comments, media Own account only Yes Limited Yes (fragile)
Reels + Stories Yes Own account only Partial Partial Stories only with login
Followers / following Paginated lists with metadata No Yes Limited Yes (rate-limited)
Comments + likes Full threads with profiles Own posts only Yes Limited Partial
Content search Keyword + hashtag search Hashtag search (limited) Hashtag only No Hashtag only
Access method REST API + CLI + MCP REST API Web UI + API Browser extension + API Python CLI
Self-healing Yes, automatic N/A (official) Actor updates Manual fixes Community patches
Starter price $49/mo (15K credits) Free (limited) $49/mo $69/mo Free (OSS)

Pricing

Credit costs per endpoint. All plans include access to every endpoint.

Endpoint Credit Cost Items per Page
User Profile 1 credit 1 profile
User Posts 1 credit / page 12 posts
User Reels 1 credit / page 12 reels
User Friendships 1 credit / page 50 users
Post Details 1 credit 1 post
Post Comments 1 credit / page 20 comments
Post Likes 1 credit / page 50 users
Search Posts 1 credit / page 20 posts

Cost Examples

Scenario What You Get Credits Used
Vet 100 influencers Profile + 12 posts each 200 credits
Monitor 20 competitors daily Profile + 12 posts each, 30 days 1,200 credits/month
Hashtag research 5 hashtags, 100 posts each 25 credits
Full influencer audit Profile + posts + reels + followers + comments ~10 credits per influencer

Frequently Asked Questions

Do I need an Instagram account to use the API?
No. Anysite does not require an Instagram account, Facebook Business verification, or Graph API app approval. You get an API key and start making requests immediately. There is no OAuth flow, no app review, and no connection to your personal accounts.
Can I access private Instagram accounts?
No. Anysite only extracts data from public Instagram profiles. Private accounts return an error and you are not charged credits. If an account switches from public to private, subsequent requests will fail gracefully.
How do I calculate engagement rate?
Pull the user profile for follower count, then pull recent posts for likes and comments. Engagement rate = (average likes + comments per post) / followers * 100. The API gives you all the raw numbers to compute any engagement metric you need.
Can I access Instagram Stories?
Yes. The User Reels endpoint returns both reels and stories for public accounts. Stories are ephemeral on Instagram but the API captures them while they are live. For persistent story highlights, the profile endpoint includes highlight data.
How does hashtag search work?
The Search Posts endpoint accepts hashtag queries. Pass a hashtag as the keyword and it returns matching posts with full engagement data, author info, and media URLs. You can paginate through results to build comprehensive hashtag datasets for trend analysis or campaign tracking.
Does Anysite support Threads (Instagram Threads)?
Threads is a separate platform from Instagram. Anysite currently covers Instagram's core surfaces: profiles, posts, reels, stories, comments, likes, followers, and search. Threads support is on the roadmap but not yet available.

Start Extracting Instagram Data

7-day free trial with 1,000 credits. Full access to all eight Instagram endpoints, plus every LinkedIn, Twitter, Reddit, and YouTube endpoint.