Instagram API: A Complete Integration Guide for SaaS Platforms

European Commission
EU Regulated Digital Markets Act (DMA)
Our solution focuses exclusively on messaging interoperability, no profile storage, no scraping. Clients are expected to comply with each provider's terms. Learn more
Instagram Comprehensive Guide

Unlock the full potential of Instagram's messaging capabilities for your SaaS platform. Whether you're building CRM tools, recruiting software, or outreach automation, this guide walks you through everything, from Meta's official API limitations to launching Instagram DMs inside your app in days with Unipile.

In this Instagram API guide, you'll learn:

What Meta's APIs officially allow (and don't)
Step-by-step Instagram API authentication process
Real-world integration examples for CRM, ATS & outreach
Meta APIs vs Unipile: full comparison
DMA compliance & legal considerations
DMA Compliant Messaging interoperability
Instagram
Full API Access DMs, contacts, attachments
Instagram
Instagram API Connected
GET /api/v1/chats
200 OK
POST /api/v1/messages/send
201 Created
GET /api/v1/users/{id}/profile
200 OK
JavaScript Copy
// Get Instagram DM conversations const chats = await unipile .getChats("account_id"); console.log(chats.items);
Instagram API Landscape

The Instagram API Landscape

If you're planning to integrate Instagram into your product, you'll quickly realize: there isn't just one API. Meta offers a set of APIs, each with its own purpose, limitations, and access conditions. Let's break them down.

Main API

Instagram Graph API

This is the main API you'll hear about. It's powerful on paper, but comes with significant access restrictions.

What you can do
Publish photos and videos
Get insights (reach, impressions, engagement)
Manage comments, fetch media, list stories
But there's a catch
Only works with Business or Creator accounts
Must be linked to a Facebook Page
Authenticate via Facebook Login with specific scopes
App Review and Partner Validation often required
Limited

Messenger API for Instagram

Want to access Instagram Direct Messages? You'll need this separate API, which has its own set of barriers.

Requirements
Only works for Business accounts
Requires at least 1,000 followers
Needs dedicated permissions, not included by default
Has strict rate limits
Doesn't offer full message sync flexibility
Not for SaaS

Instagram Basic Display API

Forget this one for SaaS. It's designed for personal accounts with very limited, read-only capabilities.

Limited to
Personal accounts only
Public profile data
Read-only media access
Not available
No write access
No DMs, no insights, no interactivity
Comparison

3 Ways to Access Instagram API

Comparing features, effort, cost, and flexibility to help you choose the right approach for integrating Instagram into your product.

Criteria
Meta Official APIs Partner Program required
DIY Approach Build it yourself
Instagram
Unipile API Unified API platform
Features
Partial (after approval)
Reverse by yourself
Full features
Ease of Setup
Complex app review
Significant coding
Guided setup
Time to Integrate
Weeks to months
Months
2–3 days
Dev Effort
High
Very High
Low (REST + SDKs)
Maintenance
Manual
High effort
Fully managed
DM Access
1K+ followers only
Fragile
Full, instantly
Support
Self-service
Community
Dedicated team
Extra Channels
Instagram only
Instagram only
LinkedIn, WhatsApp, Email...
Meta Official APIs
FeaturesPartial
SetupComplex
TimeWeeks to months
DM Access1K+ followers
SupportSelf-service
Extra ChannelsInstagram only
DIY Approach
FeaturesReverse yourself
SetupHeavy coding
TimeMonths
DM AccessFragile
SupportCommunity
Extra ChannelsInstagram only
Instagram
Unipile API Recommended
FeaturesFull features
SetupGuided setup
Time2–3 days
DM AccessFull, instantly
SupportDedicated team
Extra ChannelsLinkedIn, WhatsApp...
Unipile Capabilities

What You Can Build with Instagram — Instantly

With Unipile, you don't need to deal with Meta's fragmented approach. We've unified the essential Instagram messaging capabilities into a single API interface.

Manage & Reply to DMs

Send and receive Instagram Direct Messages programmatically. Reply to conversations, share attachments and voice notes directly from your app.

Instagram LinkedIn WhatsApp + all channels

Real-Time Inbox Sync

Every new message is instantly synced via webhooks. No polling, no delays — up-to-date conversations for multi-agent teams.

Instant webhooks

Unified Inbox Across Channels

Centralize Instagram messages next to LinkedIn, WhatsApp and Gmail — all in a single thread per contact. No more tab-switching.

Instagram LinkedIn WhatsApp Gmail

Secure Authentication Flow

Connect Instagram accounts with a simplified, hosted auth flow. Handle 2FA checkpoints and credential-based login without building a Facebook app.

No Facebook Login required

Modular for Any Workflow

Plug Instagram messaging wherever it makes sense in your product: candidate cards, sales threads, support tickets, or contact timelines.

REST API + SDKs

Attachments & Voice Notes

Send and receive images, videos, files and voice notes within Instagram DMs. Full rich media support for engaging conversations.

Images, video, files, voice
European Commission
DMA Compliant — Messaging Interoperability

Please note that Unipile is not a Meta Partner. Our API is built to focus exclusively on messaging interoperability, and we invite all users to respect Meta's Terms of Service: no scraping, no spam, no unauthorized automation.

Authentication

Connect Instagram Accounts via API

Link Instagram accounts programmatically using credentials. No Facebook app required. Handle 2FA checkpoints automatically.

1

Link an Instagram Account

Make a POST request to the Unipile API endpoint with the user's Instagram credentials. No Facebook Login or app review needed.

Instagram username & password
Standard credential-based authentication
REST API or SDK
Use curl, Node.js, Python, or any HTTP client
No Facebook Login required
Facebook credentials auth is not supported
Link an Instagram Account POST
// POST /api/v1/accounts curl --request POST \ --url https://{YOUR_DSN}/api/v1/accounts \ --header 'X-API-KEY: {TOKEN}' \ --header 'content-type: application/json' \ --data ' { "provider": "INSTAGRAM", "username": "your_username", "password": "********" }'
2

Handle 2FA Checkpoint

If the Instagram account has two-factor authentication activated, you will encounter a checkpoint through a 202 status. Here's an example of a checkpoint response.

202 Status → Checkpoint detected
A new Authentication Intent starts automatically
5-minute time frame
Checkpoints must be solved within this window
Resolve via API
Submit the 2FA code programmatically
Checkpoint Response 202
// 202 — Checkpoint required { "object": "Checkpoint", "account_id": "098dez89d", "checkpoint": { "type": "2FA" } } // Then resolve with: curl --request POST \ --url https://{YOUR_DSN}/api/v1/accounts/checkpoint \ --data ' { "account_id": "098dez89d", "code": "123456" }'
Important: Authentication via Facebook credentials is not supported at the moment. Users need their Instagram username and password to connect. We recommend using a Hosted Auth Link for the best user experience, which handles the entire flow including 2FA.
Technical Layer Between User and Their Business Tools

Unipile is an independent technical intermediary, not a Meta partner, reseller, or shared inbox platform. The Instagram API is usable only after one of your end users has personally connected their own Instagram account from your product. Every action is executed on behalf of authenticated users and under their explicit request: no shared credentials, no privileged Meta backend, no action against accounts whose owner has not actively linked them.

Unipile - Instagram Features Section
6Integrate Features

Integrate All Instagram Features You Need

Access every Instagram functionality through our unified API. Choose the endpoints that match your use case.

Key Features

Direct Messaging
DMs, attachments, voice notes, reactions
GETPOST
Shared Inbox
Team assign, reply on behalf, collaborate
GETPOST
Multi-Account
Connect multiple IG accounts, unified sync
GETPOST
Posts & Comments
Create posts, comment, track engagement
GETPOST
View all 50+ endpoints
Your App
Synced
DMs8
Shared Inbox
Accounts4
Posts
Alex profile photo
@alex.creativeDM
2 min
Creative Director · 48K followers
Love the collab idea! Let's schedule a call 📱
Emma profile photo
@emma.brandVoice
25 min
Brand Manager · 12K followers
🎙️ Voice note (0:42)
Marcus profile photo
@marcus.devMedia
1h
Full-Stack Dev · 5K followers
Shared a reel with you 🎬
Reply as @shoeshop_official...Send
ContactsStatus
Michel Opra profile photo
Michel Opra
Hey! I'd love to dis...
Pending
Sofia Rivera profile photo
Sofia Rivera
Hi! Just saw your s...
Active
Daniel Martinez profile photo
Daniel Martinez
Thanks for the pro...
Resolved
Gabriel Lopez profile photo
Gabriel Lopez
I will be a great yes !
Awaiting
SS
ShoeShop
@shoeshop_official
12.4K followers · 847 posts
● Synced
4 new DMs
AP
amateursproj
@amateurs.project
3.2K followers · 214 posts
● Synced
Personal
EM
eventmags
@eventmags
8.7K followers · 432 posts
● Synced
2 new DMs
+ Connect another account
SS
✓ via API
👟
New drop alert 🔥 The Air Max Pulse is here. Limited edition, available now. #sneakers #newdrop
❤️ 2,847💬 184📤 56
S
sofia.r These are insane 🔥🔥 Need them!
shoeshop_official Thanks Sofia! 🙏 Only 50 pairs left! via API
await client.messaging.send("Hi!");
Instagram API

Instagram API Capabilities

Access every Instagram endpoint through a single, unified API. From messaging to posts, profiles to comments, build any Instagram integration your users need.

Explore All Endpoints
Account ConnectionAccount
Messages
Posts & CommentsPosts
Profiles
Specific
Webhooks
Inboxes

Account Connection

2 endpoints available

Hosted Auth: White label to connect your end users
Custom Auth: Connect user with credentials or cookies

Messages

10 endpoints available

Send Messages
Reply Messages
List Messages
List Chats
List Attendees
Sync History
List Reactions
Send Files Attachments
Receive Files Attachments
Read Receipts

Posts & Comments

7 endpoints available

List Posts of Users and Companies
Retrieve a Post
Create a Post
Send Comments
List Posts Comments
List Posts Reactions
Add Reaction on a Post or Comment

Profiles

3 endpoints available

Visit and Retrieve Users Profiles
List of Contacts / Relations
Retrieve Own Profile

Specific

2 endpoints available

Following Someone
Retrieve Users Profiles

Webhooks

3 events available

Account Status
New Message
New Reaction / Read / Event

Inboxes

1 inbox available

Instagram Classic (Send and Receive in real-time)
No Data Handling

Unipile does not maintain a parallel index of Instagram data. There is no shadow database of profiles, media or DMs, and no harvesting of accounts whose owner has not personally connected. Each API call retrieves only what the connected Instagram account can already see from its own session, in real time.

Video Guide: Build with Instagram API

In this video, learn how to connect an Instagram account and start syncing DMs, retrieving profiles, and automating engagement from your app.

Instagram API Sync DMs, Retrieve Profiles & More
Use Cases

Add Instagram to Your Product

Whether you're building a CRM, an ATS, or an outreach platform, Unipile lets you embed Instagram messaging directly into your product.

CRM Pipeline
SR
Sofia Rivera
Interested in the premium plan
IG
Reply
MC
Marcus Chen
Sent pricing brochure
LI
Follow-up
EW
Emma Watson
Demo scheduled for Friday
Gmail
Booked

CRM / Sales Tools

Turn conversations into revenue.

Bring your users' Instagram DMs and LinkedIn messages into your CRM. Centralize inboxes, reply faster, and trigger follow-ups, all without switching tools.

Sync DMs into contact timelines
Reply to Instagram from your CRM
Auto-trigger follow-ups on new messages
Instagram for CRM
Shared Inbox
JD
Julia Dubois
I'm available for an interview!
IG
New
TN
Thomas Nguyen
Thanks for reaching out!
LI
Assigned
LP
Laura Park
When can we schedule?
WA
Scheduled

ATS / Recruiting

Reach talent where they talk.

Sync candidate DMs (Instagram) and manage LinkedIn conversations in a shared inbox. Assign messages, collaborate with teammates, and keep every thread visible in your ATS.

DM candidates directly from your ATS
Assign conversations to recruiters
Track every touchpoint per candidate
Instagram for ATS
Sequence Builder
LI
Step 1 — LinkedIn Invite
Connection request sent
✓ Sent
IG
Step 2 — Instagram DM
Follow-up message
Pending
@
Step 3 — Email
Personalized email
Scheduled

Outreach Platforms

Multi-channel by design.

Build sequences that combine LinkedIn invitations, Instagram DMs, and email through one unified API. Keep it compliant, messaging-only on Meta, with smooth in-app conversation management.

Multi-step sequences across channels
Instagram DM as outreach touchpoint
One API for LinkedIn + IG + Email
Instagram for Outreach
Built for Developers

Instagram API Integration for Modern Apps

A production-ready SDK that handles the complexity of Instagram integration. RESTful endpoints, real-time webhooks, and automatic rate limiting, so you can focus on building, not maintaining.

Simple Integration

Send DMs, retrieve profiles, and post comments with just a few lines of code. Our SDK handles authentication, rate limits, and error handling.

instagram-outreach.js
// Connect to Instagram in seconds
import { UnipileClient } from 'unipile-node-sdk';

const client = new UnipileClient({
  dsn: 'https://api.unipile.com',
  token: process.env.UNIPILE_TOKEN
});

// Retrieve an Instagram profile
const profile = await client.users.getProfile({
  account_id: accountId,
  provider_id: 'instagram_user_id'
});

// Send a Direct Message
await client.messaging.sendMessage({
  account_id: accountId,
  text: 'Hey! Loved your latest post 🔥',
  attendees: [{ provider_id: 'ig_user_id' }]
});
One Unified API

RESTful API

Clean, standardized endpoints with JSON responses. Predictable URL structure and HTTP methods.

Real-time Webhooks

Instant notifications for new DMs, story replies, and engagement events. No polling required.

Secure Authentication

Token-based authentication with automatic session management. Secure credential handling for all account types.

Account Protection

Built-in safeguards to protect Instagram accounts. Human-like behavior patterns and activity limits.

Smart Rate Limiting

Automatic rate limit management with informative headers. We handle Instagram's restrictions for you.

Clear Error Handling

Descriptive error codes and messages. Built-in retry logic with exponential backoff.

Platform Limits & Responsible Use

Meta defines, and periodically adjusts, the daily volumes, message windows and quotas attached to Instagram. Unipile relays those live signals (rate-limit headers, quota responses, error states) so your CRM, helpdesk, or automation tool can slow down, requeue, or reschedule cleanly. Choosing the cadence, volume and use cases for each connected account remains a customer-side decision, within Meta’s current terms.

Unified Dashboard

One dashboard for all your integrations

Manage all your LinkedIn, WhatsApp, Gmail accounts and more from a single, intuitive interface.

/
Acme
/
Application
Documentation
API Reference
Changelog
Connect a new account
Select the type of account you
want to connect
LinkedIn
LinkedIn
WhatsApp
WhatsApp
Instagram
Instagram
Telegram
Telegram
Google
Google
IMAP
IMAP
Microsoft
Microsoft
Google Calendar
Google Calendar
Outlook Calendar
Outlook Calendar

Accounts

20 Operational
0 Authentication required
0 Service interruption
0 Paused
Name ID Status Linked
Operational Linked on
03/01/2025
Operational Linked on
02/15/2025
Operational Linked on
02/10/2025
Operational Linked on
03/01/2025
Operational Linked on
02/28/2025
Operational Linked on
02/20/2025
Operational Linked on
03/01/2025
Operational Linked on
02/25/2025
Operational Linked on
03/01/2025
Operational Linked on
02/22/2025
Operational Linked on
02/14/2025
Operational Linked on
02/12/2025
Operational Linked on
02/08/2025
Operational Linked on
02/05/2025
Operational Linked on
03/01/2025
Operational Linked on
02/15/2025
Operational Linked on
03/01/2025
Operational Linked on
02/22/2025
Try for free
Dashboard Demo
Final Thoughts

Instagram API Integration: What to Remember

Instagram is a must-have channel for modern SaaS products, but Meta's official API stack wasn't designed for agile integration. Here's what matters when choosing how to integrate Instagram into your software.

Full DM Access
Send, receive & sync Instagram DMs without the 1K follower limit
2–3 Days to Integrate
REST API + SDKs, no app review, no partner validation needed
Unified API
One API for Instagram, LinkedIn, WhatsApp, Email & more
Fully Managed
Auth, 2FA, session handling & maintenance — all handled for you

Why Meta's Official Instagram API Falls Short for SaaS

The Instagram Graph API and the Messenger API for Instagram offer powerful capabilities, but they come with significant constraints: mandatory Facebook app review, partner validation, a 1,000-follower minimum for DM access, and a complex OAuth flow tied to Facebook Login. For SaaS builders who need to ship fast, these barriers add weeks — sometimes months — to the integration timeline.

What Unipile Changes for Instagram API Integration

With Unipile, you integrate Instagram messaging into your product in days, not months. Your users can read and reply to DMs, send attachments and voice notes, manage multiple Instagram accounts from a shared inbox, and keep every interaction synced in real time — all from one unified API. No Facebook Login required, no app review, no partner program.

Beyond Instagram DMs, the same API gives you access to LinkedIn messaging, WhatsApp, Gmail, Outlook, and calendar providers. This means you build one integration and unlock every channel your users need. Whether you're building a CRM, an ATS, or an outreach platform, Unipile is designed to be the messaging layer of your product.

A Note on Compliance
Unipile is not a Meta Partner. Our approach focuses on messaging interoperability in line with the Digital Markets Act (DMA). While we simplify integration, it remains essential to respect Meta's Terms of Service at all times: no scraping, no spam, no unauthorized automation. Use Unipile responsibly to build genuine, user-initiated communication features.

In just a few days, your app can support Instagram messaging — fully synced, fully integrated, and ready to scale responsibly.

Ready to Add Instagram to Your Product?
Start building with the Unipile API today. Free trial, no credit card required.

Optimize Your Integration with Experts Support

Whether you're starting from scratch or already have a system in place, our integration process is made to get you live fast.

Founders
Call with Founders
Secure a meeting with our founders to align on technical and product strategy.
Book a Call
Connect with Live Support
Get instant help from our team. We're here to answer all your questions.
Join 1000+ Developers in Our Slack Community Active
Ask questions, share feedback, or get unstuck, our Slack community (English & French) is the fastest way to get help from other devs and the Unipile team.
Join Now

Instagram API: Frequently Asked Questions

Everything developers and SaaS teams need to know about integrating Instagram via API

Yes, Instagram's Graph API is free to use. However, it comes with strict limitations: you must go through Facebook Login, link a Business or Creator account, and in many cases request approval from Meta. With Unipile, you skip all that and access Instagram features directly — with full pricing transparency and no hidden quotas.
Instagram offers APIs to help developers access and manage accounts, media, insights, and messages. The official API from Meta is called the Instagram Graph API, designed for professional use with Business accounts. Unipile simplifies this by offering a single API to connect Instagram (and other channels) with zero OAuth or app review required.
With the right access, you can retrieve:
Published media (photos, videos, carousels)
Post and story insights (reach, impressions, engagement)
Comments and replies
Account-level stats
Messages (via the Messenger API for Instagram)
Unipile unifies all of this and makes it accessible from one consistent endpoint.
Yes — but only via the Graph API and only for Business or Creator accounts, using Facebook Login. With Unipile, you can post to Instagram (media + captions + scheduling) instantly, without needing to register a Meta app or wait for approval.
Yes. Our API is designed in line with the Digital Markets Act (DMA). We only provide interoperability for messaging and do not store or scrape user profiles. Please note that Unipile is not a Meta Partner, and our solution focuses exclusively on secure and compliant messaging use cases.
Yes. Clients must always respect Meta's Terms of Service. This means avoiding spam, mass automation, or unauthorized scraping. The API should only be used for legitimate messaging scenarios such as customer support, team communication, or user interactions, while acting responsibly and within Meta's rules.
To unlock advanced features like messaging or publishing at scale, Meta often requires you to apply for Business App Review — which can take weeks and isn't guaranteed. Unipile removes this barrier: you don't need to be a Meta partner to offer full Instagram functionality inside your product.
Absolutely — that's what Unipile was built for. Our unified API lets you integrate Instagram alongside LinkedIn, WhatsApp, Gmail, and more. You can build outreach tools, inboxes, automation flows, and dashboards with Instagram fully integrated — in just a few days.
No. Unipile is not affiliated with, endorsed by, or sponsored by Instagram or Meta. It operates as an independent technical intermediary that lets software publishers connect authenticated Instagram accounts to their application. Every API action is performed on behalf of authenticated users and under their request, within workflows the user has initiated. Third-party platform features and Instagram messaging conditions may change over time.

Still have questions? Our team is here to help.

Build Now

You may also like

LinkedIn Search API: Amplifying User Value for Editors

LinkedIn Search API: Amplifying User Value for Editors

LinkedIn, the world’s largest professional networking platform, offers various tools and services to help users connect, engage, and grow their networks. Among these is the LinkedIn API Search feature, which allows seamless integration of LinkedIn's search capabilities into applications. What is...

read more
How to Send Message LinkedIn API from an App

How to Send Message LinkedIn API from an App

Send Message LinkedIn APIIntegrating LinkedIn's messaging capabilities into your app can significantly enhance user engagement and streamline communication. This guide will walk you through using the LinkedIn API to send messages directly from your app, detailing the necessary steps, tools, and...

read more
en_USEN