آموزش ساخت API اینستاگرام

دسترسی به دادههای تجاری و اتوماسیون مدیریت پیجها با آموزش ساخت API اینستاگرام به سادهترین شکل ممکن امکانپذیر است. با استفاده از Instagram API (رابط Instagram Graph API)، میتوانید حسابهای حرفهای خود شامل حسابهای Business و Creator را به سایت، نرمافزار یا سیستمهای جانبی متصل کنید. این ابزار قدرتمند به شما اجازه میدهد تا دادهها را استخراج کرده، آمار و Insights بازدید را بررسی کرده، کامنتها و پیامها را مدیریت کنید یا فرایند انتشار محتوا را خودکار سازید.
در این مقاله تخصصی یاد میگیرید که چگونه فرایند ساخت API اینستاگرام را از صفر تا صد پیادهسازی کنید. هدف این است که یک اپلیکیشن در پنل Meta Developer بسازید، مجوزهای لازم (Permission) را فعال کنید، Access Token اینستاگرام را بهصورت امن مدیریت نمایید و در نهایت اتصال API اینستاگرام به سرور را بهصورت کاملاً عملیاتی انجام دهید.
مسیری که در این آموزش طی میکنیم:
- Meta Developer: ثبتنام و ایجاد حساب توسعهدهنده در پلتفرم متا
- App: ساخت و پیکربندی اولیه اپلیکیشن با کاربری بیزینس
- Instagram API: افزودن ابزار گراف و اتصال حساب حرفهای
- Permission: تعیین سطوح دسترسی موردنیاز برای خواندن و نوشتن دادهها
- Access Token: دریافت، تبدیل و نگهداری امن توکنهای احراز هویت
- API Request: ارسال درخواستهای استاندارد و تحلیل پاسخهای JSON
- Backend: پیادهسازی منطق نرمافزاری و وبهوک برای ارتباط لحظهای
- Server: استقرار نهایی برنامه روی VPS یا سرور ابری برای اجرای شبانهروزی
Instagram API چیست و قبل از ساخت آن به چه چیزهایی نیاز داریم؟
به زبان ساده، رابط API اینستاگرام یک پل ارتباطی نرمافزاری است که به سرور، سایت یا اپلیکیشن شما اجازه میدهد مستقیماً با سرورهای متا صحبت کند. با استفاده از کدهای برنامهنویسی و ساختار Instagram Graph API، شما میتوانید فرایندهایی را که معمولاً با اپلیکیشن موبایل انجام میشود، بهصورت خودکار و از طریق API Request و API Response مدیریت کنید.
مستندات رسمی متا در این زمینه تاکید میکنند:
”The Instagram Graph API allows your app to access data in Instagram Professional accounts.”
«رابط گراف API اینستاگرام به اپلیکیشن شما اجازه میدهد تا به دادههای موجود در حسابهای حرفهای اینستاگرام دسترسی پیدا کنید.»
از جمله مهمترین عملیاتی که با این ابزار میتوان انجام داد، میتوان به موارد زیر اشاره کرد:
- دریافت اطلاعات اکانت: استخراج دادههای کاربری، مشخصات پروفایل و وضعیت اتصال.
- انتشار محتوا: ارسال خودکار پست، ریلز و ویدیوها از طریق Instagram Content Publishing.
- مدیریت کامنتها: دریافت، خواندن و پاسخگویی خودکار به نظرات کاربران.
- دریافت Insights: تحلیل آمار بازدید، تعاملات و بازخوردها با Instagram Insights.
- اتصال سیستمهای خارجی: پیادهسازی سرویسهای جانبی، رباتهای پاسخگو و سیستمهای اتوماسیون از طریق Meta API.
چه اکانتهایی میتوانند از Instagram API استفاده کنند؟
یکی از مهمترین قوانین پلتفرم متا این است که امکانات پیشرفته گراف API فقط برای Instagram Professional Account (شامل حسابهای Instagram Business Account و Instagram Creator Account) فعال است.
- حسابهای شخصی (Personal): بههیچعنوان به این قابلیتها دسترسی ندارند و فرایند احراز هویت و مجوزدهی روی آنها پیادهسازی نمیشود.
- محدودیت دسترسی: مسیرهای احراز هویت مدرن و پروتکلهای امنیتی مرتبط با Facebook Login و Instagram Login نیز فقط برای حسابهای تجاری و حرفهای طراحی شدهاند و امکان دسترسی به اکانتهای مصرفکننده عادی (Consumer) را ندارند.
برای ساخت Instagram API به چه چیزهایی نیاز داریم؟
قبل از اینکه وارد مرحله کدنویسی و ساخت API اینستاگرام شوید، باید چکلیست زیر را آماده کنید:
- تبدیل پیج شخصی به حساب Instagram Professional
- ساخت حساب کاربری تاییدشده در پلتفرم Meta Developer
- ساخت یک App با نوع Business در پنل متا
- مشخص کردن Permission یا دسترسیهای لازم برای خواندن و نوشتن دادهها
- ایجاد Access Token اینستاگرام (کوتاهمدت یا بلندمدت) برای تایید هویت
- یک محیط Backend امن برای مخفی نگه داشتن توکنها از دید کاربران
- داشتن گواهینامه امنیتی HTTPS برای زمانی که پروژه را عمومی میکنید.
- تهیه سرور مناسب برای زمانی که میخواهید پروژه بهصورت شبانهروزی کار کند.
Instagram Login یا Facebook Login؛ کدام روش مناسبتر است؟
برای احراز هویت در مسیر آموزش ساخت API اینستاگرام دو راهکار اصلی پیش روی شماست. شما میتوانید کاربر را از طریق اینستاگرام لاگین کنید یا از لاگین فیسبوک کمک بگیرید. برای اینکه راحتتر تصمیم بگیرید، تفاوت این دو مسیر را در جدول زیر بررسی کردهایم:
| ویژگی اصلی | روش Instagram Login | روش Facebook Login |
| نیاز به اتصال فیسبوک | اصلاً نیازی به Facebook Page ندارد | حتماً باید به یک Facebook Page متصل باشد |
| نوع توکن دریافتی | توکن کاربری مستقیم اینستاگرام | توکن مربوط به صفحه فیسبوک (Page Token) |
| کاربرد اصلی | ساخت برنامههای ساده و اتصال سریع | مدیریت حرفهای چندین کلاینت و بیزینس منیجر |
| سطح دسترسی (Permission) | دسترسیهای ساده مثل instagram_business_basic | دسترسیهای جامع مثل pages_show_list |
اگر پروژه شما کوچک است و میخواهید سریع به نتیجه برسید، مسیر Instagram Login بسیار سادهتر است. اما بیشتر شرکتهای بزرگ و توسعهدهندگانی که میخواهند چندین پیج را مدیریت کنند، مسیر Facebook Login را ترجیح میدهند.

آموزش ساخت و اتصال Instagram API بهصورت عملی
برای شروع آموزش ساخت API اینستاگرام و انجام عملیات روی پیج، باید مرحلهبهمرحله پیش برویم. در این بخش یاد میگیرید که چگونه اپلیکیشن خود را در متا ثبت کنید، کلیدهای امنیتی را بگیرید و اولین درخواست خود را برای سرورهای Meta API ارسال کنید.
ساخت App در Meta و فعالسازی Instagram API
اولین قدم برای ساخت API اینستاگرام، معرفی کردن برنامه شما به شرکت متا است. شما باید یک محیط مجازی در پنل متا بسازید تا از طریق آن بتوانید Access Token اینستاگرام را مدیریت کنید. برای این کار مراحل زیر را به دقت انجام دهید:
- در مرورگر خود آدرس developers.facebook.com را باز کنید و با اطلاعات اکانت فیسبوک خود وارد شوید.
- در داشبورد کاربری، روی دکمه سبز رنگ Create App کلیک کنید. سپس در بین گزینههای موجود، نوع برنامه را روی Business قرار دهید تا امکانات کامل تجاری برای شما فعال شود.
- بعد از ساخته شدن برنامه، یک منو در سمت چپ صفحه میبینید. روی Add Product کلیک کنید و ابزار Instagram Graph API را به پروژه خود اضافه کنید.
- در تنظیمات همین بخش، باید یک آدرس به نام OAuth Redirect URI وارد کنید. این آدرس دقیقا همان صفحهای از سایت شماست که کاربر بعد از لاگین موفق، به آنجا منتقل میشود.
حالا اگر به بخش تنظیمات پایه (Basic Settings) بروید، دو کد بسیار مهم به نامهای App ID و App Secret را مشاهده میکنید. این دو کد برای ادامه ساخت API اینستاگرام کاملاً حیاتی هستند. همچنین به یاد داشته باشید که برنامه شما فعلاً در حالت آزمایشی یا Development است. اگر بخواهید برنامه را در اختیار کاربران واقعی قرار دهید، باید درخواست بررسی (App Review) ثبت کنید که تایید آن ممکن است کمی زمانبر باشد.
تنظیم Permission و دریافت Access Token
در این مرحله از آموزش ساخت API اینستاگرام باید سطح دسترسیها را مشخص کرده و کلید ورود خود را بگیرید. مفهوم Access Token اینستاگرام دقیقاً مثل یک کلید دیجیتالی است که به سرور متا ثابت میکند شما اجازه دارید اطلاعات یک پیج خاص را بخوانید یا روی آن پست منتشر کنید.
برای اینکه کدهای شما بهدرستی کار کنند، باید Permission های مشخصی را از کاربر درخواست کنید. به عنوان مثال، برای خواندن اطلاعات پیج به دسترسی instagram_basic و برای انتشار محتوا به دسترسی instagram_content_publish نیاز دارید.
توکنهایی که در ابتدا دریافت میکنید موقتی هستند و فقط 1 ساعت اعتبار دارند (Short-lived). برای اینکه نیازی نباشد هر ساعت لاگین کنید، باید این توکن را به یک توکن 60 روزه (Long-lived) تبدیل کنید. برای انجام این کار در بستر Instagram Graph API، باید درخواستی شبیه به خط زیر ارسال کنید:
curl -X GET "https://graph.instagram.com/access_token?grant_type=ig_exchange_token&client_secret={APP_SECRET}&access_token={SHORT_LIVED_TOKEN}"- نکته بسیار مهم امنیتی: رشته Access Token اینستاگرام بسیار حساس است. اگر شخص دیگری این کد را پیدا کند، به راحتی میتواند اکانت شما را کنترل کند. بنابراین هرگز این توکن را در کدهای قالب سایت (Frontend) قرار ندهید و همیشه آن را در محیط امن Backend نگهداری کنید. برای جلوگیری از قطعی سیستم، برنامهریزی کنید که این توکن 60 روزه، حداقل هر 50 روز یکبار بهصورت خودکار تمدید (Refresh) شود.
ارسال اولین API Request و بررسی Response
حالا که Access Token اینستاگرام در دستان شماست، زمان آن رسیده که اولین درخواست (API Request) خود را به سرور بفرستید. ما این کار را از طریق مسیر فیسبوک لاگین انجام میدهیم. در قدم اول باید بررسی کنیم که شناسه یا ID اکانت اینستاگرام ما چیست.
کد زیر برای دریافت شناسه اکانت تجاری استفاده میشود:
curl -X GET "https://graph.facebook.com/v26.0/me/accounts?fields=name,access_token,instagram_business_account&access_token={USER_ACCESS_TOKEN}"سرور متا در جواب (Response) یک کد عددی به شما میدهد که همان شناسه پیج است. حالا با داشتن این شناسه و توکن معتبر، میتوانید اطلاعات مفیدی مثل تعداد فالوورها یا نام کاربری را با کد زیر استخراج کنید:
curl -X GET "https://graph.facebook.com/v26.0/{IG_USER_ID}?fields=id,username,followers_count,media_count&access_token={PAGE_ACCESS_TOKEN}"اگر میخواهید لیست پستهای منتشرشده را ببینید، کافی است کلمه media را به انتهای آدرس اضافه کنید. یک نکته کاربردی در Meta API این است که مرتبسازی پستها براساس زمان انجام میشود و اگر بخواهید پستها را براساس تعداد لایک مرتب کنید، باید این کار را خودتان در سمت Backend سایت انجام بدهید.
انتشار محتوا (Content Publishing)
یکی از جذابترین بخشهای آموزش ساخت API اینستاگرام، قابلیت انتشار خودکار پست و ریلز است. اینستاگرام برای جلوگیری از اسپم، فرایند آپلود را به دو مرحله تقسیم کرده است. اول باید ظرفی برای محتوای خود بسازید (Container) و بعد از تایید آپلود، آن را منتشر کنید.
1. مرحله اول، ایجاد کانتینر برای یک ویدیوی ریلز:
curl -X POST "https://graph.facebook.com/v26.0/{IG_USER_ID}/media?media_type=REELS&video_url={VIDEO_URL}&caption={CAPTION}&share_to_feed=false&access_token={PAGE_ACCESS_TOKEN}"با ارسال این دستور، اینستاگرام یک شماره پیگیری (CONTAINER_ID) به شما میدهد.
2. مرحله دوم، بررسی وضعیت آپلود فایل:
curl -X GET "https://graph.facebook.com/v26.0/{CONTAINER_ID}?fields=status_code,status&access_token={PAGE_ACCESS_TOKEN}"شما باید این کد را چند بار ارسال کنید تا وضعیت کانتینر کلمه FINISHED را نشان بدهد. این یعنی فایل شما با موفقیت در سرورهای متا پردازش شده است.
3. مرحله سوم، انتشار نهایی ریلز برای مخاطبان:
curl -X POST "https://graph.facebook.com/v26.0/{IG_USER_ID}/media_publish?creation_id={CONTAINER_ID}&access_token={PAGE_ACCESS_TOKEN}"در نظر داشته باشید که برای جلوگیری از رفتار رباتگونه، ساخت API اینستاگرام به شما اجازه میدهد نهایتاً 25 پست در طول 24 ساعت منتشر کنید. بهعلاوه، امکان انتشار استوری فقط برای اکانتهای بیزینسی فراهم است و کریتورها نمیتوانند استوری را از طریق API ارسال کنند.
اتصال Instagram API به Backend و Webhook
برای اینکه پروژه ساخت API اینستاگرام شما بینقص کار کند، داشتن یک سیستم Backend الزامی است. بکاند همان مغز متفکر سایت شماست که توکنها را مخفی نگه میدارد و درخواستها را مدیریت میکند. در کنار بکاند، مفهومی به نام Webhook وجود دارد که کار شما را بسیار راحت میکند. وبهوک مثل یک زنگ اخبار است؛ یعنی بهجای اینکه شما هر دقیقه از اینستاگرام بپرسید «آیا کامنت جدیدی دارم؟»، اینستاگرام هر زمان کامنتی ثبت شد، خودش به سرور شما خبر میدهد.
برای راهاندازی Webhook و اتصال API اینستاگرام به سرور مراحل زیر را طی کنید:
- ابتدا یک آدرس اینترنتی (Endpoint) امن با پسوند HTTPS در بکاند خود بسازید که همیشه در دسترس باشد.
- این آدرس را در پنل Meta Developer و در بخش Webhooks ثبت کنید.
- مشخص کنید که چه اتفاقاتی باید به شما گزارش داده شود (مثلاً کامنتهای جدید یا پیامهای دایرکت).
- کدهایی بنویسید که امضای امنیتی متا را بررسی کنند تا مطمئن شوید اطلاعات واقعاً از سمت اینستاگرام آمده است و نه یک هکر.
استفاده از Webhook فشار روی سرور شما را به شدت کاهش میدهد و باعث میشود اپلیکیشن شما بسیار سریعتر و روانتر عمل کند.

اجرای Instagram API روی سرور؛ VPS یا Cloud؟
اجرای Instagram API روی سرور محلی (کامپیوتر شخصی) برای تست کدها عالی است، اما وقتی میخواهید اپلیکیشن شما همیشه بیدار باشد و فرایندهای اتوماسیون را انجام دهد، باید به فکر یک میزبان دائمی باشید. در این بخش از آموزش ساخت API اینستاگرام بررسی میکنیم که چگونه زیرساخت مناسب را انتخاب کنید.
آیا برای Instagram API به سرور نیاز داریم؟
خیر، برای پروژههای تستی و اسکریپتهای ساده نیازی به تهیه سرور ندارید. اگر فقط میخواهید یک بار اطلاعات پیج خود را دانلود کنید، کامپیوتر شخصی شما کاملاً جوابگو است.
بااینحال، شما زمانی به سرور نیاز دارید که بخواهید یک Backend دائمی داشته باشید. اگر قرار است پیامهای وبهوک را بهصورت لحظهای دریافت کنید، پستها را برای روزهای آینده زمانبندی کرده یا مکانیزم تمدید خودکار Access Token اینستاگرام را پیادهسازی کنید، قطعاً به یک سرور همیشهروشن نیاز خواهید داشت.
VPS یا سرور ابری؛ کدام برای Instagram API بهتر است؟
برای اتصال API اینستاگرام به سرور، معمولاً برنامهنویسان بین خرید سرور مجازی (VPS) و سرور ابری (Cloud) مردد میشوند. هر کدام از این سرویسها کاربرد خاص خود را دارند. برای اینکه انتخاب راحتتری داشته باشید، جدول زیر را بررسی کنید:
| نیازهای پروژه شما | بهترین انتخاب |
| اجرای کدهای بکاند ساده و مدیریت یک پیج | سرور مجازی (VPS) |
| پروژههای کوچک با ترافیک ثابت و قابل پیشبینی | سرور مجازی (VPS) |
| اجرای سرویس وبهوک با ترافیک متوسط | VPS یا Cloud |
| نیاز به افزایش منابع سرور در زمانهای شلوغی پیج | سرور ابری (Cloud Server) |
| پیادهسازی پروژههای بزرگ با چندین سرویس همزمان | سرور ابری (Cloud Server) |
همانطور که میبینید، برای شروع کار یک سرور مجازی استاندارد کار شما را راه میاندازد. اما اگر پروژه شما علاوهبر Instagram API به Webhook، پردازشهای پسزمینه یا منابع قابل افزایش نیاز دارد، میتوانید گزینههای مختلف خرید سرور ابری را بررسی کنید. معماری سرورهای ابری به گونهای است که اگر ناگهان ترافیک برنامه شما بالا برود، سایت شما دچار قطعی و کندی نخواهد شد.
راهاندازی Instagram API روی سرور چگونه انجام میشود؟
وقتی سرور خود را تهیه کردید، باید کدهای خود را به آن منتقل کنید. اتصال API اینستاگرام به سرور یک فرایند فنی است که با دقت در مراحل زیر بهراحتی انجام میشود:
- ابتدا یک سیستم عامل پایدار لینوکسی مثل اوبونتو روی سرور نصب کنید.
- از طریق پروتکل امن SSH به سرور خود متصل شوید.
- نرمافزارهای اجرای کد مثل Python یا js را روی سرور نصب کنید.
- کدهای پروژه خود را روی سرور آپلود کنید.
- متغیرهای محیطی (Environment Variables) را تنظیم کنید تا کدهای حساس مثل APP_SECRET در فایلهای اصلی دیده نشوند.
- کتابخانهها و پیشنیازهای برنامه را نصب کنید.
- برنامه خود را با ابزارهای مدیریت پردازش مثل PM2 اجرا کنید تا در صورت ریاستارت سرور، برنامه قطع نشود.
- حتماً گواهینامه SSL رایگان روی سرور نصب کنید تا ارتباطات شما با متا از طریق HTTPS انجام شود.
- در نهایت آدرس جدید سرور را در پنل متا برای بخش وبهوک تنظیم کنید.
خطاهای رایج Instagram API و روش رفع آنها
در طول فرایند برنامهنویسی و ساخت API اینستاگرام، برخورد با پیامهای خطا کاملاً طبیعی است. اگر با این ارورها آشنا باشید، میتوانید سریعاً آنها را برطرف کنید:
- خطای Invalid Access Token: این پیام یعنی Access Token اینستاگرام شما منقضی شده یا کاربر دسترسی شما را لغو کرده است. راه حل این است که کاربر دوباره لاگین کند.
- خطای Permission Error: شما در حال تلاش برای انجام کاری هستید که دسترسی آن را از کاربر نگرفتهاید. باید کدهای خود را اصلاح کرده و Permission مربوطه را درخواست کنید.
- خطای OAuth Error: آدرس ریدایرکت (Redirect URI) که در کدهایتان نوشتهاید، با آدرسی که در پنل Meta Developer ثبت کردهاید یکسان نیست. حتی یک حرف کوچک و بزرگ هم تفاوت ایجاد میکند.
- خطای 429 یا API Rate Limit: شما بیش از حد مجاز به سرورهای متا درخواست فرستادهاید. باید ارسال درخواستها را متوقف کرده و کدهای خود را بهینهتر کنید.
- خطای عدم دسترسی اکانت: پیج اینستاگرام شما احتمالاً پرایوت (شخصی) است و هنوز به حالت Professional تبدیل نشده است.

Rate Limit و بهینهسازی API Calls
مبحث Rate Limit به محدودیت تعداد درخواستهایی گفته میشود که میتوانید در یک بازه زمانی مشخص به سمت سرورهای Meta API ارسال کنید. اینستاگرام برای جلوگیری از فشار روی سرورهایش، این قوانین را وضع کرده است. یکی از مهمترین تغییرات سال 2026 در آموزش ساخت API اینستاگرام این است که محدودیتهای قدیمی حذف شده و اکنون سقف درخواستهای شما برابر با 4800 ضرب در تعداد بازدیدهای پیج (Impressions) در هر 24 ساعت است.
برای اینکه برنامهتان به دلیل ارسال درخواستهای زیاد مسدود نشود، حتماً راهکارهای زیر را برای بهینهسازی پیاده کنید:
- همیشه در درخواستهای خود، فقط اطلاعاتی را بخواهید که واقعاً نیاز دارید. برای این کار از پارامتر fields استفاده کنید تا حجم دادههای دریافتی کم شود.
- اطلاعاتی که دیربهدیر تغییر میکنند (مثل نام کاربری یا تعداد فالوورها) را کش (Cache) کنید تا مجبور نباشید هر دقیقه آنها را از سرور دانلود کنید.
- بهجای اینکه هر چند دقیقه یکبار با API Request چک کنید که آیا کامنت جدیدی آمده یا نه، حتماً سیستم Webhook را راهاندازی کنید تا خود اینستاگرام به شما خبر دهد.
- در صورت دریافت خطای شبکه، کدهای خود را طوری بنویسید که درخواست بعدی را با کمی تاخیر ارسال کنند، نه بهصورت رگباری.
سخن پایانی
آموزش ساخت API اینستاگرام زمانی کامل میشود که تمام بخشهای فنی از ایجاد App در Meta Developer تا اجرای پروژه روی سرور بهدرستی پیادهسازی شوند. Instagram Graph API امکان دریافت اطلاعات، مدیریت محتوا، بررسی Insights و اتصال سرویسهای مختلف به حسابهای حرفهای اینستاگرام را فراهم میکند. با رعایت نکات امنیتی مربوط به Access Token، کنترل Rate Limit و انتخاب VPS یا سرور ابری مناسب، میتوانید یک اتصال امن و قابل توسعه برای پروژههای خود ایجاد کنید.
